赞
踩
1、hadoop如果使用root用户,需要在/hadoop/sbin下的 start-yarn.sh 和 stop-yarn.sh
#设置以下参数,尽量在脚本靠前部分,保证变量生效
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
#修改start-dfs.sh 和 stop-dfs.sh文件
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2、配置好hostname和主机IP映射
在 vim /etc/hosts 写下:
服务器私网ip 主机名 (注意:这个起的主机名只能对应一个IP地址,否则后面hadoop初始化会出错)
3、配置好Hadoop的核心文件,第一次启动Hadoop需要初始化一下
删除Hadoop目录下的 data文件夹 和 logs文件夹 (直接删,初始化后会自动重新创建)
使用这个命令格始化:bin/hdfs namenode -format
注意:只有在最后出现这个节点的IP地址是你前面自己映射的服务器私有IP才算格始化成功,否则大概率是你的映射没有做好。
4、注意在服务器上面搭建Hadoop和自己主机的虚拟机上面搭有一处不一样,需要开启端口号的安全组和防火墙,详细的看这个博主的。
阿里云服务器搭建hadoop集群后无法访问9870,8088web端口解决方案_阿里云服务器登不上hadoop的8970-CSDN博客
开启防火墙相关命令:
要在Linux_上打开端口防火墙,可以使用以下指令:
打开端口:firewall-cmd --permanent --add-port=端口号/协议
关闭端口: firewall-cmnd --permanent -remove-port=端口号/协议
重新载入,才能生效: firewall-cmd --reload
查询开放的端口: firewall-cmd --zone=public --list-ports
举个栗子:firewall -cmd --zone=public --list-ports 查看防火墙开放的端口
5、需要在自己主机里面也配一下主机IP映射,一般在电脑 C:\Windows\System32\drivers\etc下的hosts文件,写入 服务器公网ip + hostname(注意这里是公网ip)
最后启动hadoop,jps看一下所有节点是否都启动了
登录自己配置的namenode端口看看是否可以在web网页(hadoop102:9870)访问Hadoop,如果可以访问那就没问题。
如果不能访问出现:hadoop102:9870拒绝访问这种,先试一下用 服务器公网IP:9870 是否可以访问,如果这种可以,但是用主机名不行,就是上面那个Windows里面的hosts没有写对。
不是这里的问题就去看看 Hadoop的那几个核心文件里面有没有配对,比如 core-site.xml ,hdfs-site.xml 等里面的web端口号是否写对了。
如果上面的都是对的还是访问不了,直接看Hadoop下logs里面的日志,查看原因。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。