问题分析:hiveserver2可能是Hadoop集群进入安全模式,导致hiveserver2连接不上集群
临时解决方案:离开安全模式即可
#查看安全模式情况 hdfs dfsadmin -safemode get #离开安全模式 hdfs dfsadmin -safemode leave #进入安全模式 hdfs dfsadmin -safemode enter
问题再分析:如何永久性的解决这个问题呢?我们不可能每次启动集群都要手动离开安全模式!!所以我们要思考为什么Hadoop集群过去几个小时了还处于安全模式状态?
首先我们查看一下hdfs上的坏块情况
hdfs fsck /
若发现存在坏块,则将其删除
hdfs fsck / -delete
再次启动Hadoop集群即可(若还是一直处于安全模式状态下建议先重启虚拟机【非生产环境】,实在不行就只能重新格式化namenode)
如何重新格式化namenode?
第一步:先停止hadoop集群
第二步:删除hdfs的数据存放目录,该目录可在core-site.xml配置文件中找到,所以删除data目录即可(若之前没配置,则在默认路径中)
<!-- 指定hadoop数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-3.1.3/data</value> </property>
第三步:删除日志文件目录,该日志文件目录可在yarn-site.xml配置文件中找到,所以删除logs目录即可
<!-- 设置日志聚集服务器地址 --> <property> <name>yarn.log.server.url</name> <value>http://hadoop102:19888/jobhistory/logs</value> </property>
第四步:重新格式化(所有主机都要删除上述两个文件夹)
hdfs namenode -format
第五步:再次启动集群即可,发现启动之后马上退出了安全模式,此时再次启动hive,发现没有卡住,问题解决