准备4台机器分别为node1 node2 node3 node5
1、第一台node1
1、修改固定IP
2、修改主机名
3、添加与其他机器的映射
2、第二台机器
通过克隆复制多个,按上面的配置进行配置
3、免密登录
假如node1需要免密登录到node2 node3 node5
在node1的机器上执行
ssh-keygen -t rsa
生成的秘钥文件在root/.ssh目录下
在node1上把生成的公钥给其他node2 node3 node5
在其他机器上执行 cat id_rsa.pub >> /root/.ssh/authorized_keys
这样就实现了免密登录
4、解压hadoop-2.9.2
解压后放到这里
然后修改配置文件
1、vi hadoop-env.sh
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>
3、vi hdfs-site.xml
4、vi slaves
5、vi masters 这个文件不存在,需要创建
6、初始化hdfs
hdfs namenode -format
hdfs namenode -format -force 强制格式化,同步到datanode
7、启动
start-dfs.sh
8、访问
如果出现这种情况
firewall-cmd --zone=public --add-port=你的端口/tcp --permanent #将端口加入防火墙
systemctl restart firewalld.service #重启防火墙
如上图所示,livenodes 节点为0 ,那是为什么呢?
就在于此,node1的namenode节点9000的端口问题
查看监听的端口
netstat -an | grep 9000
原因就是9000端口只监听了127.0.0.0.1 还需要修改监听本地ip
如图
参考问题:https://www.cnblogs.com/bhlsheji/p/4853695.html
原文地址:https://www.cnblogs.com/longyao/p/11719510.html