[小记】Hbase报错:Connection refused: no further information: localhost/127.0.0.1:16000
hbase
我用的是Cent OS 7 ,总结了网上的很多教程,大概步骤如下:
1、修改主机名为hadoop1,
vim /etc/hostname
把原有的local host。。。这个替换成hadoop1
然后重启虚拟机。
改主机名原因,这个解释可不看,因为hbase启动时会找zookeepers配置的master里面配置的hostname,默认为localhost,这个时修改不了的,导致IDEA访问的localhost:16000时错误地址,所以我们改hostname 为hadoop1 ,然后将其映射到虚拟机IP ,这样zookeeper寻找的master 地址就变为hadoop1了,IDEA访问的就是虚拟机IP加端口了,就不是原来的localhost:16000,哈哈
2、主机映射:
命令:
vim /etc/hosts
hadoop1 前面跟你的虚拟机ip
3、修改hadoop 的core-site.xml 和hbase 的hbase-site.xml,
把所有的用到虚拟机IP的地方的IP 都替换为hadoop1。
我的hbase-site.xml的配置如下:
<configuration>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop1/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.master.ipc.address</name>
<value>hadoop1</value>
</property>
<property>
<name>hbase.regionserver.ipc.address</name>
<value>hadoop1</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop1</value>
</property>
</configuration>
</configuration>
4、删除Hadoop 目录下 tmp 里面的data 和另外2个文件;
cd /opt/hadoop/tmp/dfs
ls
rm -rf data
rm -rf namenode
rm -rf secondarynamenode
删除Hadoop目录下的logs里面的所有文件
cd /opt/hadoop/logs
rm *
删除根目录下tmp 里面名字带有hbase 的文件
cd /tmp
ls
rm -rf hbase-hadoop
每个人的这个hbase-root文件名可能不一样
5、格式化hadoop 的namenode
hadoop namenode -format
看打印日志最后一句,如果namenode 启动在hadoop1地址上,说明配置成功了。
启动hadoop 和 hbase 完事哈哈,不出意外的话应该没意外哈哈。
在Windows访问hbase:
hadoop1:16010
可以看到master后面跟的是我们配置的hadoop1地址哈哈,记得把虚拟机防火墙关闭奥~
systemctl stop firewalld
6、
IDEA 连接配置:
configuration = HBaseConfiguration.create();
configuration.set("hbase.rootdir","hdfs://hadoop1:8020/hbase");
configuration.set("hbase.zookeeper.quorum","hadoop1");
configuration.set("hbase.zookeeper.property.clientPort","2181");引用
最后这是和朋友的聊天记录哈哈,帮了他很大的忙。
更多推荐
所有评论(0)