Apache Phoenix客户端无法通过Zookeper与远程hbase服务器连接

Apache Phoenix客户端无法通过Zookeper与远程hbase服务器连接,hbase,apache-zookeeper,phoenix,sqlline,Hbase,Apache Zookeeper,Phoenix,Sqlline,从任何远程计算机将Apache Phoenix JDBC客户端(我使用sqlline.py进行测试)连接到我的Hbase时出现问题 我的测试方法如下: 我使用ssh连接到另一台运行linux的机器,然后尝试连接到zookeeper仲裁(目前只有一台机器:christianwith KP): 在尝试连接命令行之后,什么也没做,几分钟后我收到了很多java错误消息 这是来自日志文件zookeeper.out的,zookeeper似乎正在接受来自运行sqlline.py的远程客户端的连接,因为IP地址

从任何远程计算机将Apache Phoenix JDBC客户端(我使用sqlline.py进行测试)连接到我的Hbase时出现问题

我的测试方法如下:

我使用ssh连接到另一台运行linux的机器,然后尝试连接到zookeeper仲裁(目前只有一台机器:christianwith KP):

在尝试连接命令行之后,什么也没做,几分钟后我收到了很多java错误消息

这是来自日志文件zookeeper.out的,zookeeper似乎正在接受来自运行sqlline.py的远程客户端的连接,因为IP地址与我尝试连接的远程计算机匹配

    2015-08-06 14:10:37,720 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.59.148:39731
    2015-08-06 14:10:37,721 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@868] - Client attempting to establish new session at /192.168.59.148:39731
    2015-08-06 14:10:37,726 [myid:] - INFO  [SyncThread:0:ZooKeeperServer@617] - Established session 0x14f02da342b001b with negotiated timeout 40000 for client /192.168.59.148:39731
    2015-08-06 14:10:37,785 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.59.148:39732
    2015-08-06 14:10:37,786 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@868] - Client attempting to establish new session at /192.168.59.148:39732
    2015-08-06 14:10:37,794 [myid:] - INFO  [SyncThread:0:ZooKeeperServer@617] - Established session 0x14f02da342b001c with negotiated timeout 40000 for client /192.168.59.148:39732
    2015-08-06 14:11:37,045 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.59.148:39736
    2015-08-06 14:11:37,047 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@868] - Client attempting to establish new session at /192.168.59.148:39736
    2015-08-06 14:11:37,052 [myid:] - INFO  [SyncThread:0:ZooKeeperServer@617] - Established session 0x14f02da342b001d with negotiated timeout 40000 for client /192.168.59.148:39736
    2015-08-06 14:11:37,702 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.59.148:39737
    2015-08-06 14:11:37,702 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@868] - Client attempting to establish new session at /192.168.59.148:39737
    2015-08-06 14:11:37,707 [myid:] - INFO  [SyncThread:0:ZooKeeperServer@617] - Established session 0x14f02da342b001e with negotiated timeout 40000 for client /192.168.59.148:39737
如果我尝试在本地机器上连接,一切正常。 我确定凤凰城的2个版本是相同的

现在让我们进入我的设置,我使用以下版本:

  • Hadoop:2.5.2
  • 动物园管理员:3.4.6
  • HBase:1.0.1.1
  • 凤凰城:4.4.0
我单独运行zookeeper,而不是通过HBase

这是我的hbase-site.xml:

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>
  <property>
    <name>zookeeper.znode.parent</name>
    <value>/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>christianwirth-kp</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    <description>Property from ZooKeeper's config zoo.cfg.
      The port at which the clients will connect.
    </description>
  </property>
  <property>
    <name>hbase.regionserver.wal.codec</name>
    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
  </property>
  <property>
    <name>phoenix.query.timeoutMs</name>
    <value>1800000</value>
  </property>
  <property>
    <name>phoenix.query.threadPoolSize</name>
    <value>8</value>
  </property>
  <property>
    <name>hbase.rpc.timeout</name>
    <value>1800000</value>
  </property>
  <property>
    <name>hbase.client.scanner.timeout.period</name>
    <value>600000</value>
    <source>hbase-default.xml</source>
  </property>
</configuration>
这是我在运行jps时的输出:

6555 HMaster
6435 QuorumPeerMain
13614 Jps
6300 SecondaryNameNode
6658 HRegionServer
5746 NameNode
6002 DataNode
---开始编辑:10.08.15

我刚刚意识到的另一件事是,如果我只是把

  christianwirth-KP
到文件HBase/conf/regionservers,但如果我将

  localhost 
在那里

---结束编辑:10.08.15

我已经检查了许多与我的问题相关的其他主题,但似乎没有任何解决方案能帮上忙。 如果有人知道这里出了什么问题,我将非常感谢你的帮助

最好的


克里斯

经过几个小时的挫折和辞职,我找到了解决办法: 您必须使用机器的IP地址,而不是名称

我编辑了我的hbase-site.xml,如下所示:

<property>
  <name>hbase.zookeeper.quorum</name>
  <value>192.168.59.81</value>
</property>
my zoo.cfg包含:

  # Define Quorum-Servers
  server.1=192.168.59.81:2888:3888

希望这能帮助那些在远程连接到伪分布式hbase群集时遇到同样问题的其他人。

经过几个小时的沮丧和辞职,我找到了解决方案: 您必须使用机器的IP地址,而不是名称

我编辑了我的hbase-site.xml,如下所示:

<property>
  <name>hbase.zookeeper.quorum</name>
  <value>192.168.59.81</value>
</property>
my zoo.cfg包含:

  # Define Quorum-Servers
  server.1=192.168.59.81:2888:3888

希望这能帮助那些在远程连接到伪分布式hbase群集时遇到同样问题的其他人。

Zookeeper只是一个保留hbase主机名和端口的键/值存储解决方案。为了进行调试,您可以运行zkCli.sh get/hbase/master来查看引擎盖下发生了什么。通常,HBase解析其本地IP并发送Zookeeper将保存的主机名。Zookeeper只是一个保存HBase主机名和端口的键/值存储解决方案。为了进行调试,您可以运行zkCli.sh get/hbase/master来查看引擎盖下发生了什么。通常,HBase解析其本地IP并发送Zookeeper将保存的主机名。
  # Define Quorum-Servers
  server.1=192.168.59.81:2888:3888