hbase踩坑记录(一):java本地连接远程hbase可是返回zookeeper的地址是localhost

本文解决了一个常见的HBase配置错误,即控制台频繁打印连接ZooKeeper失败的问题。原因是hbase-site.xml文件中未正确配置ZooKeeper的地址。通过在配置文件中增加正确的ZooKeeper集群地址,如192.168.75.128:2181,并重启HBase服务,问题得以解决。

控制台的打印信息频繁出现以下一句话:

 Opening socket connection to server peer1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)

出现这个的问题纯属是 hbase-site.xml 的配置错误,hbase-site.xml 里面可以zk的地址,默认是localhost,我犯的错误就是没有配置zk地址,导致控制台一直打印连接 127.0.0.1:2181 被拒绝。

解决方法:

修改 hbase 的 conf 下的 hbase-site.xml ,增加配置

<property>
   <name>hbase.zookeeper.quorum</name>
   <value>192.168.75.128:2181</value>
</property>

然后重启 hbase 即可

 

参考博客:https://blog.youkuaiyun.com/qq_33283652/article/details/85236322

感谢大佬!

### 启动 Hadoop、ZookeeperHBase 服务的指南 #### 1. 创建用户并准备环境 为了确保系统的安全性,建议创建个独立的 `hadoop` 用户来运行相关服务。将所需的软件包(如 Hadoop、HBaseZookeeper 和 Phoenix)上传到服务器,并解压至指定路径。例如,可以将其放置在 `/usr/software/` 下。 ```bash sudo useradd hadoop sudo passwd hadoop su - hadoop mkdir /usr/software/ mv hadoop-2.10.1.tar.gz hbase-2.2.6-bin.tar.gz zookeeper-3.6.2.tar.gz /usr/software/ cd /usr/software/ tar -zxvf hadoop-2.10.1.tar.gz tar -zxvf hbase-2.2.6-bin.tar.gz tar -zxvf zookeeper-3.6.2.tar.gz ``` #### 2. 配置 Hadoop 编辑 Hadoop 的核心配置文件以设置集群参数。以下是常见的配置项: - **core-site.xml** ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` - **hdfs-site.xml** ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 启动 Hadoop 并退出安全模式: ```bash start-dfs.sh hadoop dfsadmin -safemode leave ``` #### 3. 配置 Zookeeper 修改 Zookeeper 的配置文件 `zoo.cfg` 来指定监听地址为 `localhost:2181`。默认情况下,该端口已经启用,但仍需确认其配置无误。 - **zoo.cfg** ```properties tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 initLimit=5 syncLimit=2 server.1=localhost:2888:3888 ``` 启动 Zookeeper 服务: ```bash cd /usr/software/zookeeper-3.6.2/bin/ ./zkServer.sh start ``` 验证 Zookeeper 是否正常工作: ```bash echo ruok | nc localhost 2181 ``` 如果返回 `imok`,则表示服务已成功启动[^2]。 #### 4. 配置 HBase 调整 HBase 的配置文件以连接到本地的 Zookeeper 实例以及 HDFS 文件系统。 - **hbase-env.sh** ```bash export JAVA_HOME=/usr/java/jdk1.8.0_181 export HBASE_MANAGES_ZK=false ``` - **hbase-site.xml** ```xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> </configuration> ``` 启动 HBase 服务前,请确保 Hadoop 已经完全启动并且处于活动状态。随后执行以下命令: ```bash cd /usr/software/hbase-2.2.6/bin/ ./start-hbase.sh ``` #### 5. 解决常见问题 如果遇到 `org.apache.hadoop.hbase.PleaseHoldException: Master is initializing` 错误,则可能是因为之前的初始化过程未能完成或存在残留数据。此时可尝试清理 HBase 数据目录及其对应的 HDFS 路径下的内容[^3]。 删除操作如下所示: ```bash rm -rf /usr/software/hbase-2.2.6/data/version-2 hdfs dfs -rm -r /hbase ``` 最后重新启动 HBase 即可解决问题。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值