HDFS完全分布式搭建
hadoop运行模式:本地模式、伪分布式模式、完全分布式模式、高可用的完全分布式模式。
4.1 规划
首先将四台虚拟机均拍摄一个快照:hadoop完全分布式Pre。如果安装失败,那么很方便进行重置。
node1 | node2 | node3 | node4 |
---|---|---|---|
NameNode | SecondaryNameNode | ||
DataNode-1 | DataNode-2 | DataNode-3 |
注意:NameNode和SecondaryNameNode都比较消耗内存,所以不要将它们安装在同一台服务器上。
##4.2 前置环境
###4.2.1 免密钥设置
首先将node1和node2拍摄快照,并还原到初始化快照上。
由于后续hadoop等需要四台服务器之间互相均可以免密登录,所以本次直接配置四台服务器的彼此之间的免密登录。配置思路如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HsCaakul-1655972241798)(…/…/…/…/百战3.0/百战3.0新录制/05-第四阶段:Zookeeper分布式协调服务框架/文档/image/mianmi.jpg)]
a、 首先在四台服务器上都要执行:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
b、在node1上将node1 的公钥拷贝到authorized_keys中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将该文件拷贝给node2:
scp ~/.ssh/authorized_keys node2:/root/.ssh/
c、在node2中将node2的公钥追加到authorized_keys中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将该文件拷贝给node3:
scp ~/.ssh/authorized_keys node3:/root/.ssh/
d、在node3中将node3的公钥追加到authorized_keys中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将该文件拷贝给node4:
scp ~/.ssh/authorized_keys node4:/root/.ssh/
e、在node4中将node4的公钥追加到authorized_keys中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将该文件拷贝给node1、node2、node3:
scp ~/.ssh/authorized_keys node1:/root/.ssh/
scp ~/.ssh/authorized_keys node2:/root/.ssh/
scp ~/.ssh/authorized_keys node3:/root/.ssh/
f.测试是否实现了免密登录
ssh node[1、2、3、4]
exit # 退出
###4.2.2 JDK安装环境变量配置
node1-node4上目录的创建目录/opt/apps
mkdir /opt/apps
将jdk-8u221-linux-x64.rpm上传到node1/opt/apps
将/opt/apps下的jdk-8u221-linux-x64.rpm scp到node2、node3、node4的对应目录中
clear
scp jdk-8u221-linux-x64.rpm node3:/opt/apps
scp jdk-8u221-linux-x64.rpm node4:/opt/apps
在node1、node2、node3、node4上安装jdk并配置profile文件
rpm -ivh jdk-8u221-linux-x64.rpm
node1上修改环境变量
vim /etc/profile
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
将node1的/etc/profile拷贝到node2、node3、node4上并执行 source /etc/profile
scp /etc/profile node[234]:`pwd`
##4.3 集群搭建实战
4.3.1 hadoop安装包相关
Hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
将hadoop安装文件上传到node1的/opt/apps目录下,并解压到/opt目录下
#创建一个用户,默认会创建一个同名的用户组
[root@node1 ~]# useradd itbaizhan
#解压
[root@node1 ~]# cd /opt/apps
[root@node1 apps]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt
重要目录