SQurriel客户端无法连接Phoenix问题
问题描述:
环境:ESC中搭建的ambari大数据管理平台,添加Hbase服务时勾选Phoenix支持,Phoenix本版4.7。
step1: 添加phoenix服务器安装目录下的phoenix-[version]-client.jar到squirrel-sql安装目录lib/下
step2: 添加驱动,填写驱动类名:org.apache.phoenix.jdbc.PhoenixDriver
step3: Windown系统host文件添加主机ip映射
step4: 创建连接如下图
文章图片
image.png
文章图片
image.png
问题分析:
使用java连接可以打印详细问题原因
public static void main(String[] args) throws Exception {
Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
Connection conn = DriverManager.getConnection("jdbc:phoenix:octserver1.hadoop,octserver2.hadoop,octserver3.hadoop:2181:/hbase-unsecure");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("select * from \"hdyc\" limit 10");
while(rs.next()){
String v1 = rs.getString("meter_id");
String v2 = rs.getString("create_time");
System.out.println(v1+" "+v2);
}
stat.close();
conn.close();
}
- 问题1
phoenix The node /hbase is not in ZooKeeper原因:hbase-site.xml中有如下配置
zookeeper.znode.parent
/hbase-unsecure
解决
jdbc:phoenix:octserver1.hadoop,octserver2.hadoop,octserver3.hadoop:2181:/hbase-unsecure
- 问题2
Caused by: org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf.ServiceException: org.apache.hadoop.net.ConnectTimeoutException: 10000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=octserver1/xxx.xxx.xxx.xxx:16000]【SQurriel客户端无法连接Phoenix问题】解决:安全组开放16000端口
推荐阅读
- 解决SpringBoot引用别的模块无法注入的问题
- Android7.0|Android7.0 第三方应用无法访问私有库
- 无论你是谁,都有两件事,无法掌控
- 没有思考时
- 2021.4.8日《我们为什么无法摆脱慢性疾病》常斌
- 插件化无法获取或找到.so文件
- springboot中.yml文件的值无法读取的问题及解决
- 2018-10-29|2018-10-29 无法靠近
- mysql提示无法找到句饼_找不到数据库启动句柄
- 【斩笔秋分】无法拒绝的交易(三)