hbase远程连接报错

本文描述了在IntelliJIDEA中尝试通过HBase读取数据时遇到的ConnectionRefused异常,原因可能是由于本地主机上开启了多个Xshell实例导致16032端口冲突。解决方法是关闭多余的Xshell,确保只使用一个连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在IDEA中启动程序,远程读取hbase中数据报错如下:org.apache.hbase.thirdparty.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:16032。主机名映射等都是做好的,可能问题是一个主机开了多个xshell,16032这个端口被xhell用了,关掉多余xshell,开一个xshell就可以了。

### 单机版 HBase 远程访问配置 要实现单机版 HBase远程访问,需完成以下几个方面的设置: #### 1. 解压安装包 将下载好的 HBase 安装包上传至目标服务器目录,并解压缩。例如,在 `/opt` 路径下执行以下命令: ```bash cd /opt/hbase/ tar -zxvf hbase-2.3.5-bin.tar.gz ``` 此操作会创建一个名为 `hbase-2.3.5` 的文件夹[^2]。 --- #### 2. 配置 Java 环境路径 编辑 `hbase-env.sh` 文件以指定 JDK 的安装位置。打开该文件并修改如下内容: ```bash vim /opt/hbase/hbase-2.3.5/conf/hbase-env.sh export JAVA_HOME=/usr/local/jdk1.8.0_281/ ``` 确保 `JAVA_HOME` 变量指向已正确安装的 JDK 版本。 --- #### 3. 修改 HBase 主配置文件 进入 HBase 的配置目录 (`conf`) 并编辑核心配置文件 `hbase-site.xml`,添加或更新以下属性以便支持远程访问: ```xml <configuration> <!-- 设置 ZooKeeper 地址 --> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <!-- 启用远程客户端连接 --> <property> <name>hbase.master.info.port</name> <value>16010</value> </property> <!-- 指定 HBase 数据存储路径 --> <property> <name>hbase.rootdir</name> <value>file:///opt/hbase/data</value> </property> <!-- 绑定主机地址为 0.0.0.0 或实际 IP 地址 --> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> </configuration> ``` 上述配置中的 `<value>` 值可以根据实际情况调整。特别注意的是,如果绑定到具体 IP,则需要将其替换为目标服务器的实际 IP 地址[^4]。 --- #### 4. 添加防火墙规则 默认情况下,HBase 使用端口 `2181` 和 `16010` 来分别处理 ZooKeeper 请求和 Web UI 访问请求。因此,需要开放这些端口供外部设备访问: ```bash firewall-cmd --zone=public --add-port=2181/tcp --permanent firewall-cmd --zone=public --add-port=16010/tcp --permanent firewall-cmd --reload ``` 这一步骤可以防止因防火墙阻止而导致无法建立连接的情况发生。 --- #### 5. 测试远程连接 启动 HBase 服务后,可以通过 Telnet 工具验证是否能够成功连接到目标服务器上的 ZooKeeper 实例: ```bash telnet <server-ip-address> 2181 ``` 其中 `<server-ip-address>` 是运行 HBase 的服务器公网或局域网 IP 地址。如果返回类似于 “Connected to...” 的消息,则表明连接正常。 --- #### 6. 处理常见错误 当尝试启动 HBase Master 时可能会遇到日志提示类似下面的信息: ``` running master, logging to /opt/apache/hbase-2.2.2/bin/../logs/hbase-devin-master-ubxxxxxxxxxx ``` 这种现象通常是因为某些依赖未满足或者权限不足引起的。建议检查日志文件的具体报错原因,并按照指示解决问题[^3]。 --- ### 总结 通过以上步骤即可顺利完成单机版 HBase 对外提供服务的功能改造工作。需要注意每步之间可能存在细微差异,请依据所使用的操作系统版本及软件版本做适当调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值