昨天上午启动集群,发现master莫名其妙引导坏了,修了半天也修不好,无奈之下把原来搭的集群的master“嫁接”到这个集群里(动态节点增删)。
昨天shutdown now关机后,今天开机启动hive又不行了,
主要部分错误代码:
Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException:
Call From master/192.168.80.128 to master:9000
failed on connection exception: java.net.ConnectException: 拒绝连接;
Caused by: java.net.ConnectException: 拒绝连接
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:614)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:712)
at org.apache.hadoop.ipc.Client$Connection.access$2900(Client.java:375)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1528)
at org.apache.hadoop.ipc.Client.call(Client.java:1451)
... 29 more
我百度了一下,这个原因有很多,什么安全模式没关啊,hadoop集群没有启动,或者防火墙,selinux没关,集群处于安全模式啊之类的。
但是上述条件我都不符合,安全模式也关了,在master运行jps发现,没有Namenode
主节点
关闭hadoop也显示no namenode to stop
分析到此,报错的元凶只能是它了↑↑↑↑↑↑↑↑↑↑,然后接下来就是解决hadoop启动没有Namenode:
如果没有Namenode的话,在浏览器访问master:50070也会访问失败。
解决过程:
切换到hadoop的core-site.xml下配置的hadoop.tmp.dir所指向的目录
cd $HADOOP_HOME/etc/hadoop
ls
vim core-site.xml
找到下图里头这个目录,然后将其删除后,重新建立
cd /usr/hadoop/hadoop-2.7.3/hdfs/tmp
rm -rf hdfs
mkdir -p hdfs/tmp
下一步,格式化namdenode
hadoop namenode -format
之后重新启动一下集群
再重新运行start-all.sh
可以看到Namenode已经出现在jps中,hive也可以正常运行。
以后改行专业修集群