设为首页 加入收藏

TOP

外网连接HBase问题排查
2018-12-11 17:17:46 】 浏览:245
Tags:外网 连接 HBase 问题 排查
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011669700/article/details/79585370

TroubleShooting

连接HBase测试代码:

  1. https://blog.liyang.io/360.html
  2. http://blog.csdn.net/yufei_java/article/details/78585091

在使用上述代码更改对应配置内容:

// 声明静态配置
static Configuration conf = null;
static Connection connection = null;
static {
    try {
        Configuration conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum", "master");
        conf.set("hbase.zookeeper.property.clientPort", "2181");

        conf.set("hbase.master", "master:60000");
        conf.setInt("hbase.regionserver.port", 16201);

        conf.setInt("hbase.rpc.timeout",2000);
        conf.setInt("hbase.client.operation.timeout",3000);
        conf.setInt("hbase.client.scanner.timeout.period",2000);

        connection = ConnectionFactory.createConnection(conf);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

在外网环境下连接HBase主机的时候出现过以下错误

1、 unknown host

这是因为配置文件设置的解析主机名称为master,这个时候需要修改本地的host文件,增加以下内容:

hbase主机公网地址 master

让我们电脑可以解析到域名所对应的IP地址,以便于建立请求。

2、 16201 is closing

Caused by: org.apache.hadoop.hbase.exceptions.ConnectionClosingException: Connection to master/xx.xx.xx.xx:16201 is closing. Call id=18, waitTime=618
at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.cleanupCalls(RpcClientImpl.java:1087)
at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.close(RpcClientImpl.java:863)
at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.run(RpcClientImpl.java:580)

其主要原因是因为我们通过外网访问zookeeper时无问题,但是HMaster进程在调度HRegionServer的时候请求不断被清空重发。在这种情况下我们需要查看web页面中的日志文件,hbase默认的界面访问端口为60010
QQ截图20180316163516.png-6.7kB

这里可能主要出现两种情况

  1. 请求地址一直转到1.1.1.1,主要是因为无法解析Region Servermaster,16201,1521185993651字符串中的主机名称,导致将请求转至1.1.1.1这个IP地址。(1.1.1.1地址为APNIC-亚太互联网信息中心-所拥有的IP地址,主要用于承受互联网中的垃圾数据)
  2. 修改域名映射地址之后好好,请求不断被重置,如下所示:

    2018-03-16 13:47:00,525 INFO  [Idle-Rpc-Conn-Sweeper-pool2-t1] ipc.AbstractRpcClient: Cleanup idle connection to master/192.168.122.1:16201
    2018-03-16 13:51:00,525 INFO  [Idle-Rpc-Conn-Sweeper-pool2-t1] ipc.AbstractRpcClient: Cleanup idle connection to master/192.168.122.1:16201
    2018-03-16 13:57:00,525 INFO  [Idle-Rpc-Conn-Sweeper-pool2-t1] ipc.AbstractRpcClient: Cleanup idle connection to master/192.168.122.1:16201
    2018-03-16 14:01:00,525 INFO  [Idle-Rpc-Conn-Sweeper-pool2-t1] ipc.AbstractRpcClient: Cleanup idle connection to master/192.168.122.1:16201
    

    则检查Host映射地址。

解决方法:
使用命令:

ifconfg

查看本机的所被分配的ip地址,多次修改hosts文件配置映射关系,进行尝试。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇创建hive和hbase整合表报错原因之.. 下一篇使用Scala代码删除hbase数据库当..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目