hbase 数据源测试失败,phoenix 无法连接 hbase

来源:2-13 Springboot+Mybatis+phoenix整合Hbase

补课费

2021-11-24

hbaseDataSource 数据源测试失败,具体异常为 java.net.UnknownHostException: hbase-regionserver-3,请问老师该如何修改配置文件呢。
异常如下:

java.sql.SQLException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Wed Nov 24 23:30:47 CST 2021, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=73390: row 'SYSTEM:CATALOG,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hbase-regionserver-3,16320,1637767295264, seqNum=0

	at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2492) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2384) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2384) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:255) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:150) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1652) ~[druid-1.2.3.jar:1.2.3]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1718) ~[druid-1.2.3.jar:1.2.3]
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2785) ~[druid-1.2.3.jar:1.2.3]
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Wed Nov 24 23:30:47 CST 2021, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=73390: row 'SYSTEM:CATALOG,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hbase-regionserver-3,16320,1637767295264, seqNum=0

	at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:276) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:210) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:210) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:327) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:302) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:167) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:162) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:797) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:406) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2412) ~[phoenix-core-4.13.1-HBase-1.2.jar:4.13.1-HBase-1.2]
	... 9 common frames omitted
Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=73390: row 'SYSTEM:CATALOG,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hbase-regionserver-3,16320,1637767295264, seqNum=0
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:169) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65) ~[hbase-client-1.2.5.jar:1.2.5]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_282]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_282]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_282]
Caused by: java.net.UnknownHostException: hbase-regionserver-3
	at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.<init>(AbstractRpcClient.java:315) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.ipc.AbstractRpcClient.createBlockingRpcChannel(AbstractRpcClient.java:267) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getClient(ConnectionManager.java:1639) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ScannerCallable.prepare(ScannerCallable.java:163) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.prepare(ScannerCallableWithReplicas.java:376) ~[hbase-client-1.2.5.jar:1.2.5]
	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:134) ~[hbase-client-1.2.5.jar:1.2.5]
	... 4 common frames omitted

docker 内部本地是可以连接成功的。
图片描述

写回答

1回答

小简同学

2021-11-25

同学你好,是因为没有配置host的缘故,因为本地并不认识hbase-region-3这个host,你要将它指定为虚拟机的ip,类似的,其他的组件域名也要在host配置它们的虚拟机ip。具体在环境配置这个文档有提及到,同学可以再看一下那个文档。祝学习愉快!

0
0

Spark+ES+ClickHouse 构建DMP用户画像

大数据主流技术,数据挖掘核心算法,用户画像完整知识轻松掌握

306 学习 · 219 问题

查看课程