為了研究HBase,在Hadoop-0.20.2上安裝HBase-0.90.4,結果出了很多問題。
先找了幾虛拟機練練手,配置如下:
133.133.134.116 masster
133.133.134.115 slave1
133.133.134.80 slave2
當然事先已經裝好了hadoop-0.20.2。
1、官網上下載下傳hbase-0.90.4.tar.gz後解壓到master節點上。
2、修改conf下的配置檔案
2.1 修改hbase-site.xml如下
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl" target="_blank" rel="external nofollow" ?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
</configuration>
2.2 修改regionservers如下
slave1
slave2
2.3.修改hbase-env.sh
将export JAVA_HOME前#去掉,設定值
将export HBASE_MANAGES_ZK=true前#去掉
完成。
3 啟動hbase
start-hbase.sh
結果在master上jps看到
[email protected]:~/hbase-0.90.4/conf# jps
4575 NameNode
5900 Jps
4744 SecondaryNameNode
5729 HQuorumPeer
4823 JobTracker
沒有HMaster
salve節點上倒是很正常 [email protected]:~/hbase-0.90.4/conf# jps 4145 DataNode 5312 Jps 5090 HQuorumPeer 5219 HRegionServer 4278 TaskTracker
查找log後發現報的錯是 2011-10-19 21:57:34,425 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown. org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:364) at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:113)
坑爹啊,版本不對,是以沒啟動HMaster。
好吧,明天換個版本試試。
P.S.之前安裝後,進入hbase shell,輸入list指令後,報錯 ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information.
解決方式是修改/etc/hosts 将127.0.0.1之類的全删了,留下這樣的:
133.133.134.116 master 133.133.134.115 slave1 133.133.134.80 slave2
即可。