到Azure HDInsight上Apache Phoenix的JDBC连接URL

时间:2018-11-27 13:08:57

标签: java azure jdbc hdinsight phoenix

我正在使用以下URL通过JDBC连接到Azure的HDInsight上的Apache Phoenix,根据Ambari仪表板,它基本上由Zookeeper服务器组成。

{ "aggs" : { "stores" : { "filter" : { "term": { "sale": true } }, "aggs" : { "term" : { "name" : "book1" } } } } }

下面是对该异常的堆栈跟踪。

jdbc:phoenix:zk0-apache.xxxxxxxxxxxxxxxxxxxxxxxxx.tx.internal.cloudapp.net,zk1-apache.xxxxxxxxxxxxxxxxxxxxxxxxx.tx.internal.cloudapp.net,zk2-apache.xxxxxxxxxxxxxxxxxxxxxxxxx.tx.internal.cloudapp.net:2181:/hbase-unsecure

这里有人在Azure HDInsight上开发Phoenix吗?

用于连接到Azure HDInsight上的Phoenix的JDBC URL(用于胖客户端和瘦客户端)是什么?

预先感谢

1 个答案:

答案 0 :(得分:0)

进行了一些挖掘后,JDBL URL很好,发现Azure HDI设置存在两个问题:

  1. Zookeeper服务器未启动
  2. Zookeeper端口(2181)未打开

1。。如果您使用的是Azure HDI,则不会自动启动Zookeeper Server,    必须通过运行以下命令将其启动

 `./usr/hdp/2.xxcx/zookeeper/bin/zkServer.sh start`

以上命令以独立模式启动Zookeeper服务器。如果需要以群集模式启动Zookeeper,则需要将Zookeeper服务器FQDN(服务器。{1..n})添加到./usr/hdp/2.xxcx/zookeeper/conf/zoo.cfg文件中(如果尚不存在)。

maxClientCnxns=50
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
clientPort=2181

server.1=zk0-apache.xxxxxxxxx.tx.internal.cloudapp.net:2888:3888
server.2=zk1-apache.xxxxxxxxx.tx.internal.cloudapp.net:2888:3888
server.3=zk2-apache.xxxxxxxxx.tx.internal.cloudapp.net:2888:3888

配置更改后,您需要停止并启动zkServer。 More info on Zookeeper documentation

2。。默认情况下,Azure HDI群集是在不会向公众公开您的群集端口(例如2181、8765)的网络内部创建的。您需要按照this artcile中的说明创建一个虚拟网络,并在该网络内创建HDI群集。通过网络,您将能够打开所需的端口。