hive/hbase集成上的mr scratch错误

piwo6bdm  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(345)

我正在2节点hadoop上运行hive和hbase。我使用的是hadoop-0.20.205.0、hive-0.9.0、hbase-0.92.0和zookeeper-3.4.2。
hive和hbase分别工作正常。然后我按照这个手册集成了hive和hbase。https://cwiki.apache.org/confluence/display/hive/hbaseintegration
配置单元启动时没有出错,我创建了示例表

CREATE TABLE hbase_table_1(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "xyz");
``` `show tables` 在Hive里 `list` 或者 `scan` 在hbase中运行良好。但是当我 `select * from hbase_table_1;` 在Hive里,我会出错

2012-09-12 11:25:56,975 ERROR ql.Driver (SessionState.java:printError(400)) - FAILED: Hive Internal Error: java.lang.RuntimeException(Error while making MR scratch directory - check filesystem config (null))
java.lang.RuntimeException: Error while making MR scratch directory - check filesystem config (null)
...
Caused by: java.lang.IllegalArgumentException: Wrong FS: hdfs://10.10.10.15:54310/tmp/hive-hadoop/hive_2012-09-12_11-25-56_602_1946700606338541381, expected: hdfs://hadoop01:54310

它说fs是错误的,但是我认为将fs配置到这样的路径是不对的,我应该在哪里配置它呢?
这是我的配置文件。hadoop01的ip地址是10.10.10.15。
hbase-site.xml文件
qyzbxkaa

qyzbxkaa1#

我自己解决的。
修改$hadoop\u home/conf/core-site.xml,更改 dfs.default.name 从ip到主机名。这样地

<property>
    <name>fs.default.name</name>
    <value>hdfs://hadoop01:54310/</value>   
</property>

确保此属性和 hbase.rootdir hbase-site.xml中的属性使用相同的主机名或ip。

相关问题