博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决org.apache.hadoop.hbase.MasterNotRunningException
阅读量:5925 次
发布时间:2019-06-19

本文共 3267 字,大约阅读时间需要 10 分钟。

hot3.png

最近在研究hbase,本地java client获取不了region table数据,一直报错:

Exception in thread "main" java.net.SocketTimeoutException: callTimeout=10000, callDuration=11021: 	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:169)	at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:4297)	at org.apache.hadoop.hbase.client.HBaseAdmin.getTableDescriptor(HBaseAdmin.java:556)	at org.apache.hadoop.hbase.client.HTable.getTableDescriptor(HTable.java:576)	at com.navercorp.pinpoint.web.HbaseClient.main(HbaseClient.java:49)Caused by: org.apache.hadoop.hbase.MasterNotRunningException: org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException: org.apache.hadoop.net.ConnectTimeoutException: 10000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=hbase-master-01/100.100.100.100:16000]	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$StubMaker.makeStub(ConnectionManager.java:1561)	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(ConnectionManager.java:1581)	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getKeepAliveMasterService(ConnectionManager.java:1738)	at org.apache.hadoop.hbase.client.MasterCallable.prepare(MasterCallable.java:38)	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:134)	... 4 more

从异常中可以看出链接hbase-master-01/100.100.100.100:16000超时。解决顺序如下:

步骤一:

查看hbase是否启动成功:

1)可以通过jsp查看是否有进程

2)通过hbase自带shell scan数据

到hbase bin目录下执行 ./hbase shell

进入命令行再执行scan 'hbase:meta'

步骤二:

当确认hbase服务正常后,检查服务器host与本机host

服务器更改前:

服务器更改后:

去除空的localhost,并且在本机host也加上:100.100.100.100 hbase-master-01

步骤三:

如果改host也无效,那么就应该是端口没开放。这也正是我遇到的问题。

尝试telnet 100.100.100.100 16000无果,说明端口没有开。(16000端口是链接hbase master默认端口)

1)要么打开防火墙,开启16000端口

2)要么改hbase的master链接端口

打开hbase/conf/hbase-site.xml文件。添加端口信息:

hbase.rootdir
file:///data/xxx/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
100.100.100.100
hbase.zookeeper.property.clientPort
2181
hbase.master.ipc.address
0.0.0.0
hbase.regionserver.ipc.address
0.0.0.0
hbase.master.port
22001
hbase.master.info.port
22002
hbase.regionserver.port
22003
hbase.regionserver.info.port
22004

hbase.zookeeper.quorum 设置zk地址,如果使用hbase自带zk就填hbase地址,千万别用默认localhost

hbase.master.port 顾名思义,设置一个已开放端口

hbase.master.info.port 是hbase master的运行信息的web界面,访问100.100.100.100:22002

hbase.regionserver.port 顾名思义,设置一个已开放端口

hbase.regionserver.info.port 是hbase region的运行信息的web界面,访问100.100.100.100:22004

最后重启hbase即可。

 

更多hbase参数:

转载于:https://my.oschina.net/kyle1970/blog/2353891

你可能感兴趣的文章
JavaScript中“javascript:void(0) ”是什么意思
查看>>
重要的ui组件——Behavior
查看>>
flash文件制作笔记
查看>>
Java工程转换为Maven工程-b
查看>>
inode
查看>>
最近对latin-1这个字符集产生了不少好感
查看>>
JS 无法清除Cookie的解决方法
查看>>
标准梯度—lhMorpGradient
查看>>
CvBlobDetector 新目标检测算法简析
查看>>
12 月份 10 个新鲜的 jQuery 插件和教程
查看>>
python实例32[简单的HttpServer]
查看>>
17款加速效率的CSS工具
查看>>
Base PyQt4, Simple Web APP Framwork
查看>>
Ant通配符
查看>>
15个创意的电梯广告
查看>>
[转]模拟电路设计经典教材推荐
查看>>
Lang.NEXT 2012相关Session
查看>>
65 + iPhone应用程序网站创意设计灵感(上篇)
查看>>
HDU 1964 Pipes
查看>>
印象笔记的试用印象
查看>>