我有一个单节点Hadoop系统。安装版本为1.2.1。我安装了Hbase 0.98.5,然后我安装了Hive 0.9。
我的节点上正在运行所有进程。
流程详情:
[root@localhost /]# jps
24396 SecondaryNameNode
24152 NameNode
23954 Jps
24274 DataNode
24488 JobTracker
24607 TaskTracker
1282 HQuorumPeer
2429 HMaster
2589 HRegionServer
从HBase shell,我可以检索我的表:
--------Hbase Shell-----------------
hbase(main):001:0> scan 'nancy'
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hbase-0.98.5-hadoop1/lib/slf4j-log4j12- 1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/lib/slf4j-log4j12- 1.4.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
ROW COLUMN+CELL
2 column=cf:name, timestamp=1410461757734, value=Test
1 row(s) in 0.2220 seconds
我也可以从Hive中检索表格列表:
----------Hive Shell----------------------------------
hive> SHOW TABLES;
OK
pokes
Time taken: 3.195 seconds
我能够在HBase和Hive中创建,填充表格。但我无法将Hive与Hbase集成。
当我尝试在Hive中注册表时,我收到以下错误消息:
hive> CREATE EXTERNAL TABLE hbase_table_2(key int,name string) STORED BY
'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH
SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:name")
TBLPROPERTIES("hbase.table.name"="nancy");
FAILED: Error in metadata: java.lang.IllegalArgumentException: Not a host:port pair: PBUF localhost��ɞ�ކ)
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
在关注如何解决错误的各个网站后,我也做了以下更改。
我移动了hbase-clinet * .jar,hbase-server * .jar,hbase-common * .jar,hbase-protocol * .jar,hbase-common * .jar,zookeeper * .jar, guavae * .jar从$ HBASE_HOME \ lib到$ HIVE \ lib目录。
将hbase配置$ HBASE_HOME \ conf,hadoop配置文件从$ HADOOP_HOME \ conf复制到$ HIVE_HOME \ conf
将hive-hbase-handler-0.9.0.jar和hive-common-0.9.0.jar从$ HIVE_HOME \ lib复制到$ HADOOP_HOME \ lib和$ HBASE_HOME \ lib。
< / LI> 醇>请告诉我一些如何解决问题的信息。