转自:http://www.dataguru.cn/portal.php?mod=view&aid=2674
环境:master 192.168.0.100
slaveA 192.168.0.101slaveB 192.168.0.102
包:hbase-0.90.4-cdh3u2
hadoop-0.20.2-cdh3u2
gz包下载地址: http://archive.cloudera.com/cdh/3/
首先为了版本不出现问题 选择Cloudera公司的hadoop发行版,这个版本的配置方法和之前的hadoop安装并没用什么不同,同时这也是目前生产环境的主流选择,我这里选择了cdh3u2的版本。
安装前必读(主要对于初次安装的同学):
1、要有耐心 各种错误出现的时候不要浮躁 2、保持清醒 出错的时候肯定要修改配置 修改的时候自己不要晕 要细心 清醒 3、我这里贴的步骤不是特别详细 原因就是希望大家安装发现更多的错误,并自己解决掉 这样有助于自己的提高 ,如果是一步一步的详细安装 大家都碰不到错误 那就没什么意思了,但是核心的配置文件都给出了。
一:安装hadoop并确定集群启动正常,安装的步骤之前的文章已经说过了,这里不再废话了,贴一下我的hadoop的配置文件:
验证hadoop安装正常
二:修改hbase的配置文件:
在master节点上修改以下的配置文件hbase-env.sh:加入jave的环境变量
可选步骤:
使用hbase自带的zookeeper:
hbase-site.xml:(非常关键)
第一个配置是配置HRegionServer的数据库存储目录
第二个配置是配置hbase为完全分布式
第三个配置是配置hmaster的地址
第四个是配置ZooKeeper集群服务器的位置 这个注意必须是奇数个最后一个是配置zookeeper的属性数据存储目录,如果你不想重启电脑就被清空的话就要配置这个 因为默认是/tmp
regionservers:配置一下HRegionServer
把以上文件修改后把修改好的文件夹scp方式传输到slaveA和slaveB节点,使三个节点的hbase文件夹保持一致。
如果没有事先启动hadoop集群 请先启动hadoop集群这里主要是保证文件系统启动了,可以不用start-all 只启动文件系统也ok (dfs-start)启动hbase集群:
master上jps
slave上jps
启动成功:帅气的界面:
安装中如果日志出现错误:cannot open channel to 3 at election address slaveA/192.168.0.101:3888 java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:100) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371) at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:340) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:360) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:333) at java.lang.Thread.run(Thread.java:662)
我们可以先不予以理会,因为ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以上面日志前面部分的异常是可以忽略的。通过后面部分可以看到,集群在选出一个 Leader后,最后稳定了。
三:测试 (这部分的内容没有涉及安装的问题,安装的部分主要在上面)
创建表
插入数据
查询
更新
删除