Hbase 绑定多网卡的问题
来源:互联网 发布:中世纪的生活 知乎 编辑:程序博客网 时间:2024/05/23 19:22
我的HBASE 集群的节点上有两个网卡,一个是集群内部使用的网卡,一个用来和外网传输数据。
但是部署安装完成后 hbase regionserver 启动后60020端口一直绑定内网网卡,这就导致外网无法访问hbase 集群;
DEBUG的出错信息:
2014-06-10 16:11:47.230-[main-DEBUG]org.apache.hadoop.ipc.RpcClient:Connecting to xxxxxxxxxxxxxxxx-yarn12/192.169.2.34:60020
2014-06-10 16:11:48.136-[main-DEBUG]org.apache.hadoop.ipc.RpcClient:IPC Client (29569230) connection to xxxxxxxxxxxxxxxx-yarn12/192.169.2.34:60020: Connection refused: no further information
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)
at org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupConnection(RpcClient.java:576)
at org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:861)
at org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1540)
at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1429)
at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1658)
at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1716)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:27308)
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1407)
at org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:701)
at org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:699)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:120)
at org.apache.hadoop.hbase.client.HTable.getRowOrBefore(HTable.java:705)
at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:144)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:1107)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:1167)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1059)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:1016)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:326)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:310)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:712)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:694)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:684)
2014-06-10 16:11:48.136-[main-DEBUG]org.apache.hadoop.ipc.RpcClient:IPC Client (29569230) connection to xxxxxxxxxxxxxxxx-yarn12/192.169.2.34:60020 from xxxx: closed
tcp 0 0 :::60010 :::* LISTEN 12774/java tcp 0 0 ::ffff:192.169.2.34:60020 :::* LISTEN 12138/java </span>tcp 0 0 :::50060 :::* LISTEN 12288/java
查看org.apache.hadoop.hbase.regionserver.HRegionServer 中的构造函数 发现代码如下:
// Server to handle client requests. String hostname = conf.get("hbase.regionserver.ipc.address", Strings.domainNamePointerToHostName(DNS.getDefaultHost( conf.get("hbase.regionserver.dns.interface", "default"), conf.get("hbase.regionserver.dns.nameserver", "default")))); int port = conf.getInt(HConstants.REGIONSERVER_PORT, HConstants.DEFAULT_REGIONSERVER_PORT); // Creation of a HSA will force a resolve. InetSocketAddress initialIsa = new InetSocketAddress(hostname, port); if (initialIsa.getAddress() == null) { throw new IllegalArgumentException("Failed resolve of " + initialIsa); }
发现 InetSocketAddress这里面获取IP的方式是解析hosts文件里面第一个和本机hostname对应的IP然后绑定。
所以在hbase-site.xml 里面配置 hbase.regionserver.ipc.address 为0.0.0.0 。并重启regionserver, netstat 后:
tcp 0 0 :::60020 :::* LISTEN 11300/java解决问题。
- Hbase 绑定多网卡的问题
- Hadoop绑定多网卡问题
- Linux网卡绑定发现的问题
- linux下多网卡绑定设置问题
- hbase 双网卡 多网卡
- 多块网卡的绑定获取
- 关于虚拟机测试双网卡绑定高可用的问题
- Linux 多网卡绑定
- 虚拟机多网卡绑定
- Linux 多网卡绑定
- linux多网卡绑定
- dubbo服务器多个网卡绑定ip问题
- 启动hbase时候SLF4J多个绑定问题
- windows 组播网卡绑定,解决多网卡通信异常问题。
- Linux多网卡绑定(多网卡分流)
- 虚拟网卡配置与多网卡绑定
- Linux下的网卡绑定
- linux的双网卡绑定
- VC使用tinyxml读写INI,cfg,XML配置文件
- 一个人一生的路程
- Iterables, Iterators and Generators: Part 2
- 学生聚类分析思考
- CSS和JS链接地址中带的问号
- Hbase 绑定多网卡的问题
- Zookeeper:Timeout while waiting for epoch from quorum解决方案
- CRT detected that the application wrote to memory after end of heap buffer
- SAP 人力资源工资配置项1---工资计算周期配置
- 微信公众账号开发项目小结(四)
- Android 设计模式
- php_mssql.dll下载,php_mssql.dll修复
- shell----if条件判断参数
- elasticsearch 作为服务来运行