Hbase完全分布式安装配置手册
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。 ??
下面介绍一下HBase完全分布式安装的步骤:1.使用Hadoop?0.20.2+ZooKeeper 3.3.3+HBase 0.90.3,2.下载HBase 0.90.3,解压至/home/grid/hbase3.先检测zookeeper是否安装正确HBase需要zookeeper,所以在配置HBase前务必确定zookeeper可以正常运行.HBase有两种方式使用zookeeper服务,第一种是使用已经存在的独立zookeeper服务,另外一种是由HBase自己管理zookeeper服务,这里我们让HBase来管理zookeeper,可以少打一些命令:)4.配置hbase/conf/hbase-site.xml增加如下行:
- </configuration>
- export HBASE_MANAGES_ZK=true #HBase是否管理zookeeper

16.按照wiki的提示,在hadoop/conf/hdfs-site.xml和hbase/conf/hdfs-site.xml里增加dfs.support.append的支持</property>17.无果,仍旧有上面的提示,开始漫长的google18.HBase的官网上有写,hbase不支持官方的0.20.2的dfs.support.append,需要自己编译分支hadoop19.编译安装可以参考 北飞孤雁 大神的博客? ? 或者?http://www.michael-noll.com/blog/2011/04/14/building-an-hadoop-0-20-x-version-for-hbase-0-90-2/第二个地址是英文的20.编译需要git和ant,ant的版本最好在1.8.0以上,我用1.7.6时报错21.编译出来的jar包,需要替换原来hadoop里的包,也就是说要把原来的包删掉,否则hadoop还是会启动老的jar包22.把新编译出来的jar包同步到所有节点23.再次启动hadoop和hbase,那个红色的提示消失了常见问题汇总:1.使用官方的hadoop0.20.2时,启动hbase报错:FATAL 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)原因是hbase/lib里的包与hadoop的不一致,把hadoop目录里的hadoop-0.20.2-core.jar复制到hbase的lib里就可以解决2.启动hbase,报:no valid quorum servers found in zoo.cfgzoo.cfg一定要复制到hadoop/conf目录下,否则就会报这个错3.hbase报错Could not find my address有两种情况会导致这个错误,1主要是因为没有做反向解析,2是因为没有复制zoo.cfg,导致hbase读不到zookeeper的配置