hive连不上,报错9000拒绝连接

参考:豆包、百度

一、排查错误

客户端(你执行 hdfs dfsadmin -safemode ...)去连接 NameNode 的 9000 端口,但连接被拒绝。

这说明 NameNode 根本没在监听 9000 端口(或者进程没启动,或者启动失败)。

jps查看进程,发现没有namenode

查看日志:

复制代码
tail -n 100 hadoop-$(whoami)-namenode-$(hostname).log

发现

复制代码
Storage directory /tmp/hadoop-root/dfs/name does not exist
...
InconsistentFSStateException: Directory /tmp/hadoop-root/dfs/name is in an inconsistent state

这说明 NameNode 的元数据目录不存在,所以 NameNode 启动失败,也就导致 9000 端口没有监听,出现 "拒绝连接" 错误。

二、解决方法

修改配置,将数据目录放到非 /tmp 位置(推荐)

复制代码
mkdir -p /hadoop_data/hadoop/data/namenode
mkdir -p /hadoop_data/hadoop/data/datanode
chown -R hadoop:hadoop /hadoop_data/hadoop

编辑 $HADOOP_HOME/etc/hadoop/hdfs-site.xml

复制代码
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/hadoop_data/hadoop/data/namenode</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/hadoop_data/hadoop/data/datanode</value>
</property>

格式化并启动

复制代码
stop-all.sh
hdfs namenode -format
start-all.sh
jps

这样即使重启机器,数据也不会丢失。

9000 端口也有数据了。

复制代码
[root@localhost ~]# jps
1107 Elasticsearch
28483 NameNode
29236 NodeManager
29111 ResourceManager
28618 DataNode
30108 RunJar
31468 Jps
28830 SecondaryNameNode
29950 RunJar

[root@localhost ~]# netstat -nlpt|grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      28483/java  

三、HiveServer2/Beeline方式连接hive(推荐)

启动HiveServer2服务 在服务器上运行以下命令:

复制代码
nohup hiveserver2 > /dev/null 2>&1 &

使用Beeline客户端连接 在客户端运行以下命令:

复制代码
beeline -u jdbc:hive2://<hostname>:10000 -n <username>

成功连接后,可以执行Hive查询操作,例如:

复制代码
show databases;
相关推荐
上海潭龙东海科技有限公司17 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
freejackman5 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
skywalk81638 天前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
Francek Chen9 天前
【大数据处理与分析】数据仓库Hive:09 Hive 编程实践
大数据·数据仓库·hive·hadoop·sql
茶海棠12 天前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
全栈陈序员12 天前
【Git】从入门到精通(二)—— Git安装与初次配置
数据仓库·git
skywalk816312 天前
卡不等于分支:我用 TRAE 宝配合 Hive 跑三张任务卡的一天
运维·人工智能·hive·trae
程序员梅雨12 天前
【从零开始学习数据仓库 | 第三篇】: Flume——数据采集基石
java·大数据·数据仓库·后端·学习·flume
freejackman13 天前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
陈年老古董13 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构