HBase: Connection refused: no further information, Call to localhost/127.0.0.1:16020 failed_connection refused: no further information: localh-程序员宅基地

技术标签: hadoop学习  

由于安全问题,HBase集群不能外网连接,但又有业务需求,自己就在虚拟机里搭建了Hadoop和HBase,在进行API操作连接时,出现以下错误:

Exception in thread "main" org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Fri Nov 22 17:56:26 CST 2019, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=76608: Call to localhost/127.0.0.1:16020 failed on connection exception: java.net.ConnectException: Connection refused: no further information row 'stu,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=localhost,16020,1574415614027, seqNum=0

    at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:329)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:242)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:58)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:219)
    at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:275)
    at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:436)
    at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:310)
    at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:639)
    at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)
    at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:409)
    at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:419)
    at HBaseSample.main(HBaseSample.java:26)
Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=76608: Call to localhost/127.0.0.1:16020 failed on connection exception: java.net.ConnectException: Connection refused: no further information row 'stu,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=localhost,16020,1574415614027, seqNum=0
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:178)
    at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Call to localhost/127.0.0.1:16020 failed on connection exception: java.net.ConnectException: Connection refused: no further information
    at org.apache.hadoop.hbase.ipc.IPCUtil.wrapException(IPCUtil.java:165)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.onCallFinished(AbstractRpcClient.java:389)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$100(AbstractRpcClient.java:94)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:409)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$3.run(AbstractRpcClient.java:405)
    at org.apache.hadoop.hbase.ipc.Call.callComplete(Call.java:103)
    at org.apache.hadoop.hbase.ipc.Call.setException(Call.java:118)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callMethod(AbstractRpcClient.java:422)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:327)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$200(AbstractRpcClient.java:94)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:571)
    at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:37059)
    at org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:405)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:274)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:62)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:219)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:388)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:362)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:142)
    ... 4 more
Caused by: java.net.ConnectException: Connection refused: no further information
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection.setupConnection(BlockingRpcConnection.java:256)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection.setupIOstreams(BlockingRpcConnection.java:437)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection.writeRequest(BlockingRpcConnection.java:540)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection.tracedWriteRequest(BlockingRpcConnection.java:520)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection.access$200(BlockingRpcConnection.java:85)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection$4.run(BlockingRpcConnection.java:724)
    at org.apache.hadoop.hbase.ipc.HBaseRpcControllerImpl.notifyOnCancel(HBaseRpcControllerImpl.java:240)
    at org.apache.hadoop.hbase.ipc.BlockingRpcConnection.sendRequest(BlockingRpcConnection.java:699)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callMethod(AbstractRpcClient.java:420)
    ... 15 more

通过仔细查看错误日志,发现程序一直连接localhost//127.0.0.1:16020,代码里填写的是IP而不是机器名,也就不存在映射关系的问题,然后又查看虚拟机里的配置,发现IP设置无错,hbase-site及Zookeeper中都是填写的IP,在shell中进行hbase操作没有错。

防火墙也处于关闭状态。

分析后,查询表的名称应该是只读取了master信息,而表的具体信息就需要读取regionserver的信息了,master把regionserver的本地IP返回给远程java程序,但是此处返回的IP为什么是localhost/127.0.0.1?

在虚拟机中执行:netstat -nautlp|grep 16020,发现:

tcp        0      0 ::ffff:127.0.0.1:16020      :::*                        LISTEN      24349/java

16020端口号并没有绑定到IP上

netstat -nautlp|grep 16000,也是同样的结果,端口绑定的也是本地地址,而不是设定的IP。

发现自己机器名为localhost, 查看/etc/hostname和 /etc/hosts,更改机器名,重启后连接成功。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qiaotongzxcv/article/details/103232948

智能推荐

Laya的粒子效果-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏3次。参考:UI页面、粒子、动画、脚本新建面板详解Laya版本:2.5.0一创建一个粒子效果在UI编辑界面右键-> 新建 -> 粒子粒子有重力模式和半径模式重力模式:粒子是一个角度向另一个方向呈发射式的粒子效果半径模式:围绕中心点为半径的旋转式粒子效果两个模式除了初始参数不同,没有什么区别。你可以创建一个重力模式粒子,然后通过调整参数,实现半径模..._laya 粒子效果

flutter 加密安全-程序员宅基地

文章浏览阅读1.4k次,点赞20次,收藏18次。数据的加密解密操作在 日常网络交互中经常会用到,现在密码的安全主要在于 秘钥的安全,如论 DES 3DES AES 还是 RSA, 秘钥的算法(计算秘钥不固定) 和 保存,都决定了你的数据安全;但是常见的逆向操作 比如 hook 加密算法 都很容易拿到 秘钥; 这个时候我们可以 回溯到 之前的 古典密码学(依赖算法本身),基本思路 置换 移位 编码 等等手段 来配合 加密算法一起使用,提高我们应用的安全;

Verilog测试:TestBench结构_verilog testbench-程序员宅基地

文章浏览阅读6.1w次,点赞147次,收藏1k次。目录1. 完整的TESTBENCH文件结构2.时钟激励产生3.复位信号设计4.双向信号设计5. 特殊信号设计6.仿真控制语句以及系统任务描述7.加法器的仿真测试文件编写  Verilog功能模块HDL设计完成后,并不代表设计工作的结束,还需要对设计进行进一步的仿真验证。掌握验证的方法,即如何调试自己的程序非常重要。在RTL逻辑设计中,要学会根据硬件逻辑来写测试程..._verilog testbench

【Java面试题】这道分布式面试题一定要拿下,说说你对CAP的理解?看看高手如何回答_mic老师50万字面试宝典-程序员宅基地

文章浏览阅读284次。分布式架构之所以复杂,就是因为增加了网络通信,而网络通信本身具有不确定性。但是作为业务支撑的整个技术架构,所有业务的处理必须要具备确定性。因此在这样一个矛盾下,导致架构变得更加复杂。面试题”说说你对CAP的理解“这个问题,就是在这个背景下产生的大家好,我是Mic,一个工作了14年的Java程序员。下面我们来分析一下面试官对于这个问题的考察意图。_mic老师50万字面试宝典

Java-编码-Base64-程序员宅基地

文章浏览阅读316次,点赞9次,收藏11次。Java-编码-Base64

sgu288:Best Tournament Schedule(构造)_tournamentschedule时间复杂度-程序员宅基地

文章浏览阅读566次。题目大意: ~~~~~~一场比赛有 n ~n~个参赛选手,要求选手之间两两都有且仅有一次对决。每一轮中一个选手至多可以对决一次,也就是每一轮选出若干对不相交的选手进行对决。现在要求出最少的对决轮数来结束比赛和此时的对决方案。分析: ~~~~~~首先确定答案,当 n ~n~为偶数的时候,答案为 n−1 ~n-1~,否则为 n ~n~,另外,当 n=1 ~n=1~的时候,答案_tournamentschedule时间复杂度

随便推点

html iis配置默认文档,IIS设置默认内容文档-程序员宅基地

文章浏览阅读3.9k次。浏览网站实际上是浏览网站中的网页文件。为了便于用户访问,每个站点一般都有自己的默认文档。一般情况下,默认文档都被设置为该网站的主页或某个索引页。默认文档的作用是简便用户的输入,使用户不必在浏览器中输入网站主页的文件名才能访问该网站。例如,网站www.Gench.com.cn将默认主页设置为index.htm,那么,用户在浏览器中输入www.Gench.com.cn时,IIS会自动将页面转换到默认文..._iis中【启用默认内容文档】选项中将默认打开文档修改为程序首页文件格式,如:index

箱线图_箱线图的主要用途是什么-程序员宅基地

文章浏览阅读5.2w次,点赞86次,收藏373次。以前对箱线图一直一知半解,这次在网上找到一篇不错的文章。首先,箱形图更多用于多组数据的比较,相对直方图不仅节省了空间,还可以展示出许多直方图不能展示的信息。单组数据则更适合采用直方图,使可视化效果更加直观。文章来源于“镝次元”公众号,在此向作者表示感谢。不会数学统计没关系——5分钟教你轻松掌握箱线图 | 图表家族#242018-01-22 19:00编辑:王艺 版面:胡曼君..._箱线图的主要用途是什么

鸿蒙系统ArkTs语法入门_鸿蒙arkts语法学-程序员宅基地

文章浏览阅读1.2k次,点赞22次,收藏15次。每个语言都有控制流语句就不写测试代码了。arkTs绝大部分语法继承自ts,然后有些许的语法特性变化,这部分我也会在入门的时候一并记上。我之前学过java,所以这不是零基础,至少需要会一种编程语言。新建一个鸿蒙App项目,然后开一个设置按钮进行测试没有条件的话,可以在线测试编程代码。在TypeScript中所有的类型都可以被赋值为空类型null,赋值为空类型时可以和其他同类型对象进行运算,但是无法调用这个对象内部本身的方法,会报空指针异常。_鸿蒙arkts语法学

MS SQL Server2008大数、小数转varchar_dable怎么转成varchar-程序员宅基地

文章浏览阅读443次。试了下str, cast和convert,发现对于小数或大数,多少都存在一些问题,最后经过尝试终于找到一种满意的答案:select cast(HTJE as decimal(20,2)) from T_HTGL where ID = 1002993对于金额部分,这里设置了小数最多2位,能满足需求,尾部的0会自动去除,搞定!..._dable怎么转成varchar

解决el-radio-group只触发一次的问题-程序员宅基地

文章浏览阅读569次,点赞7次,收藏6次。把原来绑在el-radio-group的事件取消调 再el-radio-button俩个上面都绑定@click.native.prevent="changeMerge(1)"一个传1 一个传2 这样就触发了。原来想的是用el-button来写,试过el-button点多少次都会触发二次确认框 但是你需求更改其样式,还要把其样式修改为el-radio-button的样式 工程量比较大 所以没深研究。1.需求是点击合并后,出来二次确认框。现在的问题是点击完出现二次确认框后,再次点击不出来二次确认框了。_el-radio-group

MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 Debug_pace.lib(crtexew.obj) : error lnk2019: 无法解析的外部符号 _-程序员宅基地

文章浏览阅读1.3k次。原问题:MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令参考了这位大神九年前的博客:https://blog.csdn.net/playstudy/article/details/6661868我的环境是VS2010学习版(以下摘自上文原博客)产生这个问题的_pace.lib(crtexew.obj) : error lnk2019: 无法解析的外部符号 _winmain@16,该符号