准备4台机器分别为node1 node2 node3 node5
1、第一台node1
1、修改固定IP
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141317895-1280890487.png)
2、修改主机名
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141330605-1270949239.png)
3、添加与其他机器的映射
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141339257-1269602697.png)
2、第二台机器
通过克隆复制多个,按上面的配置进行配置
3、免密登录
假如node1需要免密登录到node2 node3 node5
在node1的机器上执行
ssh-keygen -t rsa
生成的秘钥文件在root/.ssh目录下
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141351292-651145878.png)
在node1上把生成的公钥给其他node2 node3 node5
在其他机器上执行 cat id_rsa.pub >> /root/.ssh/authorized_keys
这样就实现了免密登录
4、解压hadoop-2.9.2
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141400077-872710354.png)
解压后放到这里
然后修改配置文件
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141420872-1875991643.png)
1、vi hadoop-env.sh
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141433994-780478196.png)
2、core-site.xml
19 <configuration>
20 <property>
21 <name>fs.defaultFS</name>
22 <value>hdfs://node1:9000</value>
23 </property>
24 <property>
25 <name>hadoop.tmp.dir</name>
26 <value>/opt/hadoop-2.9</value>
27 </property>
28 </configuration>
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141445365-1035322754.png)
3、vi hdfs-site.xml
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141452035-100126106.png)
4、vi slaves
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141500323-157928635.png)
5、vi masters 这个文件不存在,需要创建
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141512280-275013477.png)
6、初始化hdfs
hdfs namenode -format
hdfs namenode -format -force 强制格式化,同步到datanode
7、启动
start-dfs.sh
8、访问
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141523488-1190726821.png)
如果出现这种情况
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141538092-645062216.png)
firewall-cmd --zone=public --add-port=你的端口/tcp --permanent #将端口加入防火墙
systemctl restart firewalld.service #重启防火墙
如上图所示,livenodes 节点为0 ,那是为什么呢?
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141555526-469891914.png)
就在于此,node1的namenode节点9000的端口问题
查看监听的端口
netstat -an | grep 9000
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141607911-1636002239.png)
原因就是9000端口只监听了127.0.0.0.1 还需要修改监听本地ip
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141628525-664867954.png)
如图
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141636198-1272272135.png)
![](https://img2018.cnblogs.com/blog/1768013/201910/1768013-20191022141652385-1814426235.png)