HRegionServer显示“告诉错误主机我们已经启动".显示套接字异常:无效的参数 [英] HRegionServer shows "error telling master we are up". Showing socket exception: Invalid argument

查看:102
本文介绍了HRegionServer显示“告诉错误主机我们已经启动".显示套接字异常:无效的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在3个centos机器中创建一个hbase集群.Hadoop(v-2.8.0)已启动并在顶部运行我配置了HBase(v-1.2.5).Hbase启动很好,它启动了HMaster和Region服务器,但仍然显示区域服务器和HMaster日志中的以下错误它显示没有签入任何区域服务器.

  2017-04-20 19:30:33,950警告[regionserver/localhost/127.0.0.1:16020] regionserver.HRegionServer:错误告诉主机我们已经启动com.google.protobuf.ServiceException:java.net.SocketException:无效的参数在org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:240)在org.apache.hadoop.hbase.ipc.AbstractRpcClient $ BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:336)在org.apache.hadoop.hbase.protobuf.generation.RegionServerStatusProtos $ RegionServerStatusService $ BlockingStub.regionServerStartup(RegionServerStatusProtos.java:8982)处在org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2316)在org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:907)在java.lang.Thread.run(Thread.java:745)引起原因:java.net.SocketException:无效的参数在sun.nio.ch.Net.connect0(本机方法)在sun.nio.ch.Net.connect(Net.java:454)在sun.nio.ch.Net.connect(Net.java:446)在sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)在org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192)在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)在org.apache.hadoop.hbase.ipc.RpcClientImpl $ Connection.setupConnection(RpcClientImpl.java:416)在org.apache.hadoop.hbase.ipc.RpcClientImpl $ Connection.setupIOstreams(RpcClientImpl.java:722)在org.apache.hadoop.hbase.ipc.RpcClientImpl $ Connection.writeRequest(RpcClientImpl.java:906)在org.apache.hadoop.hbase.ipc.RpcClientImpl $ Connection.tracedWriteRequest(RpcClientImpl.java:873)在org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1241)在org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:227) 

我的主节点的JPS

  [hadoop @ localhost bin] $ jps20624 SecondaryNameNode20800资源管理器20401 NameNode18061 Jps17839 HMaster 

myregion节点的JPS是

  [hadoop @ localhost bin] $ jps11168 Jps482个数据节点10840 HQuorumPeer10974 HRegionServer 

所有节点的hbase-site.xml

 < configuration><属性>< name> hbase.master.hostname</name>< value> NameNode</value></property><属性>< name> hbase.rootdir</name>< value> hdfs://NameNode:8020/hbase</value></property><属性><名称> hbase.cluster.distributed</名称>< value> true</value></property><属性><名称> hbase.zookeeper.property.dataDir</名称>< value> hdfs://NameNode:8020/zookeeper</value></property><属性><名称> hbase.zookeeper.quorum</名称>< value> DataNode1,DataNode2</value></property><属性>< name> hbase.zookeeper.property.clientPort</name><值> 2181</值></property></configuration> 

区域服务器文件包含

  DataNode1数据节点2 

所有节点中的

etc/hosts文件包含实际ip而不是回送ip

  192.168.00.00 NameNode192.168.00.00 DataNode1192.168.00.00 DataNode2 

所有节点的注释配置均相同.任何帮助将不胜感激.

解决方案

我在所有区域服务器中都添加了以下属性hbase-site.xml解决了我的问题.< name> hbase.regionserver.hostname</name><值> DataNode1</值></property><属性>< name> hbase.regionserver.port</name><值> 16020</值></property>

Iam trying to create a hbase cluster in 3 centos machines. Hadoop(v - 2.8.0) is up and running on top I configured HBase(v - 1.2.5).Hbase start up is fine it started HMaster and Region servers but still it shows the follwing error in region servers and in HMaster log it shows no region servers are checked in.

2017-04-20 19:30:33,950 WARN  [regionserver/localhost/127.0.0.1:16020] regionserver.HRegionServer: error telling master we are up
com.google.protobuf.ServiceException: java.net.SocketException: Invalid argument
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:240)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:336)
        at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$BlockingStub.regionServerStartup(RegionServerStatusProtos.java:8982)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2316)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:907)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Invalid argument
        at sun.nio.ch.Net.connect0(Native Method)
        at sun.nio.ch.Net.connect(Net.java:454)
        at sun.nio.ch.Net.connect(Net.java:446)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
        at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192)
        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.RpcClientImpl$Connection.setupConnection(RpcClientImpl.java:416)
        at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.setupIOstreams(RpcClientImpl.java:722)
        at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.writeRequest(RpcClientImpl.java:906)
        at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.tracedWriteRequest(RpcClientImpl.java:873)
        at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1241)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:227)

JPS of my master node

[hadoop@localhost bin]$ jps
20624 SecondaryNameNode
20800 ResourceManager
20401 NameNode
18061 Jps
17839 HMaster

JPS of myregion nodes are

[hadoop@localhost bin]$ jps    
11168 Jps
482 DataNode
10840 HQuorumPeer
10974 HRegionServer

hbase-site.xml of all nodes

<configuration>
<property>
        <name>hbase.master.hostname</name>
        <value>NameNode</value>
</property>
<property>
        <name>hbase.rootdir</name>
        <value>hdfs://NameNode:8020/hbase</value>
</property>
<property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
</property>
<property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>hdfs://NameNode:8020/zookeeper</value>
</property>
<property>
        <name>hbase.zookeeper.quorum</name>
        <value>DataNode1,DataNode2</value>
</property>
<property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
</property>
</configuration>

regionservers file contain

DataNode1
DataNode2

etc/hosts file in all nodes contain actual ips rather than loopback ips

192.168.00.00 NameNode
192.168.00.00 DataNode1
192.168.00.00 DataNode2

Note configuration is same in all nodes. Any help will be appreciated.

解决方案

I put the following property in all region servers hbase-site.xml solved my problem.<property> <name>hbase.regionserver.hostname</name> <value>DataNode1</value> </property> <property> <name>hbase.regionserver.port</name> <value>16020</value> </property>

这篇关于HRegionServer显示“告诉错误主机我们已经启动".显示套接字异常:无效的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆