使用 HBase 的 Hive(均为 Kerberos)java.net.SocketTimeoutException .. on table 'hbase:meta'
Hive with HBase (both Kerberos) java.net.SocketTimeoutException .. on table 'hbase:meta'
错误
尝试使用 HBaseStorageHandler
.
从 Hive 查询 HBase 时收到超时错误
Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=68199: row 'phoenix_test310,,'
on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hbase-master.example.com,16020,1583728693297, seqNum=0
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:159)
at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:64)
... 3 more
我尝试遵循我能做的文档,并根据此 Cloudera link
添加了一些 hbase
配置选项到 hive-site.xml
环境:
- Hadoop 2.9.2
- HBase 1.5
- 蜂巢 2.3.6
- 动物园管理员 3.5.6
首先应该忽略Cloudera link,Hive通过环境变量检测是否存在HBase然后自动读取 hbase-site.xml
配置设置。
无需在 hive-site.xml
中复制 HBase 设置
为 HBase 配置 Hive
按如下方式修改您的 hive-env.sh
:
# replace <hbase-install> with your installation path /etc/hbase for example
export HBASE_BIN="<hbase-install>/bin/hbase"
export HBASE_CONF_DIR="<hbase-install>/conf"
另外,您应该确保 HADOOP_*
环境变量也在 hive-env.sh
中设置,
并且 hbase lib 目录被添加到 HADOOP_CLASSPATH
.
我们通过添加 属性 hbase.client.scanner.timeout.period=600000
解决了这个错误
hbase 1.2
错误
尝试使用 HBaseStorageHandler
.
Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=68199: row 'phoenix_test310,,'
on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hbase-master.example.com,16020,1583728693297, seqNum=0
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:159)
at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:64)
... 3 more
我尝试遵循我能做的文档,并根据此 Cloudera link
添加了一些hbase
配置选项到 hive-site.xml
环境:
- Hadoop 2.9.2
- HBase 1.5
- 蜂巢 2.3.6
- 动物园管理员 3.5.6
首先应该忽略Cloudera link,Hive通过环境变量检测是否存在HBase然后自动读取 hbase-site.xml
配置设置。
无需在 hive-site.xml
为 HBase 配置 Hive
按如下方式修改您的 hive-env.sh
:
# replace <hbase-install> with your installation path /etc/hbase for example
export HBASE_BIN="<hbase-install>/bin/hbase"
export HBASE_CONF_DIR="<hbase-install>/conf"
另外,您应该确保 HADOOP_*
环境变量也在 hive-env.sh
中设置,
并且 hbase lib 目录被添加到 HADOOP_CLASSPATH
.
我们通过添加 属性 hbase.client.scanner.timeout.period=600000
解决了这个错误hbase 1.2