提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、准备好三台虚拟机
- 1.创建虚拟机
- 2.配置网卡
- 3.配置JDK和HADOOP
- 4.修改主机名
- 二、修改ip、映射
- 1.修改ip
- 2.修改映射
- 三、设置免密登录
- 四、关闭防火墙
- 五、配置hadoop配置文件
- 1.配置core-site.xm
- 2.配置hdfs-site.xml
- 3.配置yarn-site.xml
- 4.配置mapred-site.xml
- 5.群起集群
- 六、将hadoop配置文件,同步到其他两个主机上
- 七、设置时间同步
- 八、NameNode格式化
- 九、查看相关进程
- 总结
前言
完全分布式模式:是多台服务器组成的分布式环境,安全系数比较高。当企业在工作时,数据的安全是非常重要的,当我们一个主机出现故障的时候,如果我们使用的是伪分布,这种是单机运行的,出现故障也容易造成不可挽回的损失。但是完全分布式就能够解决这个问题,它最少有三个主机,当主节点出现宕机的时候,从节点就会补上。
一、准备好三台虚拟机
1.创建虚拟机
可以参考此文档,创建虚拟机,里面有详细的教程。
创建虚拟机详细教程:http://www.360doc.com/content/22/0622/09/74713971_1037051336.shtml
此链接可以下载centos镜像:http://mirrors.aliyun.com/centos/7/isos/x86_64/
2.配置网卡
1.通过cmd,输入ipconfig查看ip地址
2.使用vi /etc/sysconfig/network-scripts/ifcfg-ens33
这个命令,进行编辑
3.重启网卡systemctl restart network
3.配置JDK和HADOOP
1、可以先连接远程工具如MobaXterm、Xshell
连接远程工具MobaXterm详细可以看此连接:https://blog.csdn.net/Nurbiya_K/article/details/100146457?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168743815016800182770111%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168743815016800182770111&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-100146457-null-null.142v88control_2,239v2insert_chatgpt&utm_term=hadoop%E8%BF%9E%E6%8E%A5%E8%BF%9C%E7%A8%8B%E5%B7%A5%E5%85%B7MobaXterm&spm=1018.2226.3001.4187
连接远程工具Xshell详细可以看此连接:
https://blog.csdn.net/feizuiku0116/article/details/120688891?ops_request_misc=&request_id=&biz_id=102&utm_term=hadoop%E8%BF%9E%E6%8E%A5%E8%BF%9C%E7%A8%8B%E5%B7%A5%E5%85%B7&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-120688891.142v88control_2,239v2insert_chatgpt&spm=1018.2226.3001.4187
2、将jdk和hadoop解压到/usr/local/路径下
我们采用1.8版本的jdk
可以在这个网址里挑选合适的jdk: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
本篇博客使用的hadoop是2.7.1版本的
此地址可以找到选择合适的版本: https://www.apache.org/dyn/closer.cgi#
使用代码tar -xzvf (被解压的压缩包所在的路径) -C (解压后的储存路径)
3.配置HADOOP_HOME
通过vi /etc/profile
将入配置全局变量
如图:
使用source /etc/profile
使环境变量生效
4.创建好一个虚拟机后,通过复制再创建出另外两台主机。
重命名,好区分虚拟机:
4.修改主机名
hostnamectl set-hostname (你需要取的主机名)
另外两部虚拟机也是同样的操作
二、修改ip、映射
1.修改ip
因为我们是复制的虚拟机,但是ip不能一样,所以我们需要修改这三台虚拟机的ip
也是运行vi /etc/sysconfig/network-scripts/ifcfg-ens33
进行修改
另外两台虚拟机也是修改这个位置
修改完以后需要重启网卡:
systemctl restart network
可以输入:
ping www.baidu.com
查看是否能链接外网
2.修改映射
使用vi /etc/hosts
配置映射
在master配置好后,我们根据"scp"语句,同步文件
scp (同步的文件路径) root(以root的身份)@(同步的主机):(同步过去的路径)
例如:
scp /etc/hosts root@slave1:/etc
同步到了slave1主机上
scp /etc/hosts root@slave2:/etc
同步到了slave2主机上
检验是否成功:
三、设置免密登录
三部机器都需要配置免密登录
现在的代码是基于master操作的
我们需要生成公钥/私钥密码对
1.通过ssh-keygen -t rsa
生成一对公钥/私钥密码对,接下来一直按回车就可以了。
2.通过cat ~/.ssh/id_rsa.pub
查看公钥是否存在
3.通过cat ~/.ssh/id_rsa
查看私钥是否存在
4.通过ssh-copy-id -i ~/.ssh/id_rsa.pub master
用公钥拷贝到master目标机器上,在执行这个命令的过程中需要输入master的密码
5.通过ssh master
检验免密登录是否成功
四、关闭防火墙
1.通过systemctl status firewalld
查看防火墙的状态
2.通过systemctl stop firewalld
关闭防火墙
3.通过systemctl is-enabled firewalld
查看是否开机自起,如果输出“enabled”表示开机自起/输出“disabled”表示开机不会自起
4.通过systemctl disable firewalld
禁止防火墙开机自起
五、配置hadoop配置文件
将hadoop-2.7.1.tar.gz上传到Centos7的/usr/local路径
下载路径为: https://archive.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
解压hadoop-2.7.1.tar.gz:tar -xzvf hadoop-2.7.1.tar.gz
接下来我们配置core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件他们存放在$HADOOP_HOME/etc/hadoop
这个路径上,所以我们可以先切换进这个路径,进行配置,最后群起集群slaves
1.配置core-site.xm
1.vi core-site.xml
2.配置成
<configuration><property><!-- NameNode的地址 --><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><!-- hadoop数据的存储目录 --><name>hadoop.tmp.dir</name><value>/usr/local/hadoop-2.7.1/data</value></property></configuration>
~
2.配置hdfs-site.xml
1.vi hdfs-site.xml
2.配置成
<configuration><property><!-- 集群数量 --><name>dfs.replication</name><value>3</value></property><property><!-- web端访问地址 --><name>dfs.secondary.http.address</name><value>slave1:50090</value></property></configuration>
3.配置yarn-site.xml
1、vi yarn-site.xml
2.配置成
<configuration><property><!-- 让MR走shuffle --><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><!-- ResourceManager的地址--><name>yarn.resourcemanager.hostname</name><value>master</value></property></configuration>
4.配置mapred-site.xml
1、vi mapred-site.xml
2、配置成
<configuration><property><!-- 让MapReduce程序在Yarn上运行 --><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
5.群起集群
1.vi slaves
2.配置成
master
slave1
slave2
六、将hadoop配置文件,同步到其他两个主机上
1.切换到:cd /usr/local/hadoop-2.7.1/etc/hadoop
中
2、同步到slave1
scp * root@slave1:`pwd`
3、同步到slave2
scp * root@slave2:`pwd`
七、设置时间同步
如果各个节点之间时间不一致/不同步,集群容易出现一些错误。
ntp服务器可以更新当前机器的时间
1、安装ntp
yum -y install ntp
2、进行同步
ntpdate ntp.aliyun.com
输出这条语句则表示同步成功,三台主机都需要设置哦
八、NameNode格式化
格式化只需要一次,只在master上执行格式化命令就可以了
hdfs namenode -format
格式化后需要启动集群
start-all.sh
九、查看相关进程
1.在master上执行jps,出现:
2.在slave1上执行jps,出现:
2.在slave2上执行jps,出现:
这样我们的配置就算完成啦!!!
总结
通过这些我们能够大致的明白配置方法,也能够保证我们数据的安全性,毕竟我也是小白,有的地方不对的话,还劳烦大家指正,谢谢~