问题一:在hadoop3中执行./start-yarn.sh时发生The authenticity of host" hadoop3 ( 192.168.186.130) ' can't be established.
key RSA fingerprint is e9:cd:de:27: b5:9d:fd:38:02:8b:83:66:11:9f:c4:05.Are you sure you want to continue connecting (yes/no)?
输入yes后会这样报错hadoop3: warning: Permanently added 'hadoop3,192.168.186.130’(RSA) to the listof known hosts.
如下图:
解决方法:
修改/etc/ssh/ssh_config文件,将默认的
StrictHostKeyChecking 取消注释,改为
StrictHostKeyChecking no
如图 打开文件,找到#StrictHostKeyChecking行进行修改。 修改后
接着格式化namenode,重新启动即可。
1. hadoop namenode -format (hadoop是你配置文件的名称) 2. start-dfs.sh (我是在/home/hadoop/hadoop/sbin目录下输入启动)
结果刚解决这个,关闭时又出错了(悲催) ,hadoop3:8088端口还是打不开
问题二:hadoop1: nodemanager did not stop gracefully after 5 seconds: killing with kill -9
hadoop2: nodemanager did not stop gracefully after 5 seconds: killing with kill -9
no proxyserver to stop 如图:
原因在hadoop-daemon.sh找不到pid文件了
pid文件一般默认存放在/tmp,而服务器会定期清理/tmp
首先关闭hadoop
通过修改hadoop-daemon.sh 改变pid存放路径:
要先进入安装的hadoop配置文件sbin目录下(我的为/home/hadoop/hadoop/sbin),输入
vi ./hadoop-daemon.sh
如图:
注意:
1.pid前面目录为安装的hadoop配置文件目录位置,我图片就是输错了,搞得最后做无用功,我的应该为HADOOP_PID_DIR=/home/hadoop/hadoop/pid
2.vi ./hadoop-daemon.sh中vi到.之间只有一个空格,其他情况会报错,找不到文件(我就是看起来只有一个空格实际有两个,一直报错到心态炸裂才知道)
yarn的则是修改yarn-daemon.sh:同上输入
vi ./yarn-daemon.sh
如图:
注意:每台虚拟机都要配置
详情请见:NodeManager did not stop gracefully after 5 seconds: kil_草原_新浪博客
(最后hadoop3:8088端口还是打不开,宝宝心里苦啊!)
问题三:输入./start-hdf.sh出现SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/hadoop/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/hadoop/Desktop/hbase-1.2.4/lib/slf4j-log4j12-1.7.5.jay!大概原因是这两个同名jay包冲突了(没解决hadoop3:8088端口打不开,中间安装了hbase直接雪上加霜)
解决方法:对于和Hadoop的jar包冲突的,可以将其他jar包删除,如果你不确定是否删除正确,可以将其他的jar包复制备份或者修改名称,确保操作以后失败了,还可以找回
转载自:启动Hbase脚本start-hbase.sh时报Class path contains multiple SLF4J bindings.解决方法 - shireenlee - 博客园
我这里进行删除
(题外话:发现自己是憨批,Hadoop3端口要到Hadoop3虚拟机网页打开,浪费大量时间改来改去,还出错了,呜呜)



