技术标签: linux 大数据开发 服务器 hadoop 分布式 大数据
前言:
大家好,书生♡,今天主要和大家分享一下大数据技术栈-Hadoop的集群搭建的详细步骤,希望对大家有所帮助。感谢大家关注点赞。
前路漫漫,希望大家坚持下去,不忘初心,拿到属于自己高薪offer!!!
个人主页: 书生♡
gitee主页♂:闲客
专栏主页:大数据开发
博客领域:大数据开发,java编程,前端,算法,Python
写作风格:超前知识点,干货,思路讲解,通俗易懂
支持博主:关注,点赞、收藏、留言
在学习了解的内容之前,我们要先知道什么是集群什么是分布式?
集群: 多台服务器共同完成相同的业务,就是一个集群.
分布式: 多台服务器共同完成不同的业务就是分布式.
安装部署层面说
所谓集群就是指有多个服务器,那么我们就要有多个虚拟机.
我们如果通过自己自定义创建每一个虚拟机耗时耗力,所以我们有一种便捷的方法,就是–拷贝。
我们首先需要创建一个自定义的虚拟机,在这里我就不细讲了。
大家在创建好一个虚拟机之后。
4. 自定义填写位置和名称
5. 最后我们就可以克隆出两个一模一样的虚拟机
6. 选择克隆的服务器,点击“网络适配器”,点击高级,点击生成,为自动生成新的网卡。(同理每一个克隆的虚拟机都需要重新生成新的网卡)
由于我们的虚拟机是克隆过来的,所以我们克隆的虚拟机主机名还是原来的主机名,所以我们要修改我们的主机名,便于区分。
echo node1 > /etc/hostname
我们通过echo的覆盖的方式去修改。
注意:我们的主机名是存放在/etc/hostname文件下面的
后续搭建集群时使用域名访问电脑
在平时使用www.baidu.com域名访问时,最终会同dns服务器将域名解析为ip地址访问
echo '192.168.88.100 node1.itcast.cn node1' >> /etc/hosts
echo '192.168.88.101 node2.itcast.cn node2' >> /etc/hosts
echo '192.168.88.102 node3.itcast.cn node3' >> /etc/hosts
这里的node1,node2,node3使我们虚拟机的名字,也是我们的主机名。
我们可以通过下面的命令,然后选择发送到全部会话,点击发送。
这里需要注意,我们这个代码需要三个会话都执行一遍。
我们关闭防火墙也是有指令的。所以我们同理在下面命令编辑器中输入,选择全部发送会话,点击发送。我们三个虚拟机就同时设置关闭虚拟机。
systemctl stop firewalld.service
我们禁止防火墙也是有指令的。所以我们同理在下面命令编辑器中输入,选择全部发送会话,点击发送。我们三个虚拟机就同时设置禁止虚拟机。
systemctl disable firewalld.service
我们还需要关闭SELinux,同上几步:
sed -i "s/enforcing/disabled/" /etc/selinux/config
每一个服务器的时间都不一样,所以我们需要统一设置时间:
ntpdate ntp4.aliyun.com
# 内部服务器不允许上网,内部搭建一个时钟服务器 同步内部
ntpdate 192.168.88.3
我们需要设置静态ip地址,也就是把我们的ip地址固定起来,防止每一次重启服务器ip地址会改变。
node1:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.100"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
node2:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.101"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
node3:
sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'IPADDR="192.168.88.102"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'PREFIX="24"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'GATEWAY="192.168.88.2"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
echo 'DNS1="8.8.8.8"' >> /etc/sysconfig/network-scripts/ifcfg-ens33
我们以后要按安装好多的软件,为了方便安装处理这些,我们需要创建一个文件夹,方便我们存储软件的包。
mkdir /export
cd /export
mkdir data logs server software
最后我们只需要重启系统,就可以将上述操作成功的应用
init 6
服务器之间传递数据,依赖ssh协议
http协议是web网站之间的通讯协议,用户可已通过http网址访问到对应网站数据
ssh协议是服务器之间,或windos和服务器之间传递的数据的协议。支持shell指令的传输
在linux中默认自带ssh客户端,可以使用ssh指令进行服务器连接
2. 使用域名来访问
或者我们还可以使用简称 node2
3. 设置免密登录,我们可以使用ssh node2 直接跳转到node2的服务器
但是我们需要先设置免密登录
ssh免密登录
每次登录不需要再输入密码
分别在node1、node2、node3上执行如下命令
# 生成秘钥
ssh-keygen
# 拷贝秘钥
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
服务器我们要传输文件或者是目录的话,我们使用的是scp
scp -r 本机文件或目录路径 目标服务器名:目标服务器路径
大数据的软件工具需要依赖java环境
使用tar进行解压缩
tar xvf 压缩包文件
x 代表解压
v 显示解压详情
f 代表解压文件
压缩文件使用
tar cvf 压缩包名.tar.gz 文件或目录
安装解压后,使用java是会出现找不到java指令,原因是因为没有指定系统环境变量
默认java指令是在安装包的bin目录下,通过设置系统环境变量,就可以在任意位置使用java指令
我们需要命令去修改文件配置:
echo 'export JAVA_HOME=/export/server/jdk1.8.0_241' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
source /etc/profile
这个样子我们的java就配置成果了。
cd /export/server
mkdir mysql5.7
tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C mysql5.7
cd mysql5.7
2. 卸载mariadb-libs
rpm -e --nodeps mariadb-libs
rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld.service
Pass=$(grep 'A temporary password' /var/log/mysqld.log |awk '{
print $NF}')
mysql -uroot -p"$Pass"
注意:该操作是在mysql中进行
alter user user() identified by "123456";
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
到这里我们的大数据Hadoop的前置条件就安装好了,下一篇文章我们详细的说一说Hadoop的技术栈。
在这篇文章中,我们hadoop的前置条件的安装,希望能为读者带来启发和收获。
感谢大家的阅读,如果您有任何疑问或建议,欢迎在评论区留言交流。同时,也请大家关注我的后续文章,一起探索更多知识领域。
愿我们共同进步,不断提升自我。
文章浏览阅读4.7k次,点赞3次,收藏19次。Pandas读取csv文件某一列并保存到txt文件中按道理来说挺简单的,但是却查了好久,本来想利用pandas的api获取某一列的数据,然后写入到文件中,但是写入到文件后出现各种问题,要不程序报错,要不不分行。最后还是按照之前的那样,获取的之后一个个的添加到之前创建好的list中。def save_csv_to_text(filename, csv_name, usecols): '..._python 将csv某列数据读取到txt文本中
文章浏览阅读1.9k次。react解析html字符串方法_react解析html
文章浏览阅读3.5k次,点赞3次,收藏16次。1、为什么需要列表①变量可以存储一个元素,而列表是一个“大容器"可以存储N多个元素,程序可以方便地对这些数据进行整体操作②列表相当于其它语言中的数组③列表示意图:_8006端口
文章浏览阅读1.5w次,点赞7次,收藏11次。最近编C#程序,因为初学,不是太清楚,碰到了toolstripMenu中分割线设置的问题。遍寻中文网页,都是语言不详的,甚是呕人。上网找了个外文网站,给的答案甚是详细,先贴在下面。http://www.c-sharpcorner.com/uploadfile/mahesh/toolstrip-in-C-Sharp/照着上面的照猫画虎的整了一圈,暗叹理论与实践还是有所差距的。但不管怎_c# 菜单 分割线
文章浏览阅读866次。wince下sourcessources.cmnMakefile.def的相关作用_“\makefile.def”
文章浏览阅读1.8w次,点赞3次,收藏10次。虽然它可能是真实的,每一个画面讲述了一个故事,这是完全正确的,用言语来帮助讲故事。因此,SVG有几个元素,让你将文本添加到您的图形。文本术语Text Terminology在我们调查的主要方法添加文本,的<TEXT>元素之前,我们应该定义一些术语,你会看到,如果你读了SVG规范,或者如果你的工作与文字在任何图形环境:字符一个字符,作为一个XML文档而言,是一个数..._html中如何设置svg文字大小
文章浏览阅读8.2k次,点赞2次,收藏7次。1032错误的主要原因是主库更新或者是删除的记录在从库上不存在引起的。处理此种错误一般有两种思路:1、直接跳过错误执行语句2、找到错误执行语句,修复从库数据第一种解决方案会有造成主从不一致的隐患(delete语句可以跳过),第二种是从根本上解决问题比较推荐语句跳过操作方法如下:1032 错误提示如下:Replicate_Wild_Ignore_Table: ..._last_errno: 1032
文章浏览阅读1.2w次,点赞3次,收藏7次。今天在写页面时,发现给button按钮设置居中时,css页面写了text-align="center",但是不起作用,用了display属性也无作用,试了好多次发现要给button按钮添加个div,然..._button居中
文章浏览阅读495次。在hb刚火的那正儿, 看过, 但是对ormaping不是很理解, 现在重新看hb, 以前很多不是很懂的地方现在基本已经全部豁然开朗. ·increment标识生成器由hibernate以递增的方式生成主键 ·identity标识生成器由底层数据库来负责生成主键,这个主要针对支持自增字段作为主键的数据库 ·sequence标识生成器由底层数据库提供的序列来生成主键 ·native标识生成器会根据底层_iphone rx备忘录
文章浏览阅读2.2k次。嵌入式系统的广泛应用已经渗入到我们日常生活的各个方面。在手机、MP3、PDA、数码相机、电视机,甚至电饭锅、手表里都有嵌入式系统的身影,工业自动化控制、仪器仪表、汽车、航空航天等领域更是嵌入式系统的天下。据估计,每年全球嵌入式系统带来的相关工业产值已超过1万亿美元。随着多功能手机、便携式多媒体播放机、数码相机、HDTV和机顶盒等新兴产品逐渐获得市场的认可,嵌入式系统的市场正在以每年30%的速度递增_目前嵌入式系统是热点
文章浏览阅读341次。首先、如果是运行在internet上的系统,并且如果是个涉及到利益性的系统,不可避免的会遭受各种攻击(我们公司的很多系统从OS到DB到webapp就实时有收到攻击和破解),所以尽可能保证安全性将不再是架构师和安全部门唯一应该考虑的事,所有的开发、运维都应该有相应的安全意识。在文本中,将普及下java的安全体系。java安全体系包括四个部分:JCA、JCE、JSSE、JAAS。JCA,包括了..._安全管理中jca含义
文章浏览阅读2.3k次。配置两个属性即可:1.使user版本可以adbdevice/mediatek/mt6739/device.mk ifeq ($(TARGET_BUILD_VARIANT),user)- PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.sys.usb.config=mtp+ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.sys.usb.config=mtp,adb2.去掉user版本授权usb弹框b_免adb授权修改