全分布式下安装hbase(使用hbase自带的zookeeper)

来源:互联网 发布:mac os x 10.12 iso 编辑:程序博客网 时间:2024/05/23 01:13

搭建过程出现的问题:

建表有时成功,有时不成功

发现/etc/hosts错误

没有加 127.0.0.1 localhost

现在改好的:

127.0.0.1       localhost
#127.0.0.1      master-server

122.205.7.180 master-server
122.205.7.191 slave1
122.205.7.192 slave2
122.205.7.176 slave3
122.205.7.178 slave4
122.205.7.181 slave5
122.205.7.150 slave6


以下转载:

环境:master 192.168.0.100

      slaveA 192.168.0.101
      slaveB 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的配置文件:
1.jpg
2.jpg

3.jpg

4.jpg

验证hadoop安装正常

5.jpg6.jpg
二:修改hbase的配置文件:
在master节点上修改以下的配置文件hbase-env.sh:加入jave的环境变量

1.jpg

可选步骤:

2.jpg

使用hbase自带的zookeeper:

3.jpg

hbase-site.xml:(非常关键)

4.jpg

第一个配置是配置HRegionServer的数据库存储目录
第二个配置是配置hbase为完全分布式
第三个配置是配置hmaster的地址
第四个是配置ZooKeeper集群服务器的位置 这个注意必须是奇数个最后一个是配置zookeeper的属性数据存储目录,如果你不想重启电脑就被清空的话就要配置这个 因为默认是/tmp
regionservers:配置一下HRegionServer

5.jpg

把以上文件修改后把修改好的文件夹scp方式传输到slaveA和slaveB节点,使三个节点的hbase文件夹保持一致。
如果没有事先启动hadoop集群 请先启动hadoop集群这里主要是保证文件系统启动了,可以不用start-all 只启动文件系统也ok (dfs-start)启动hbase集群:

6.jpg

master上jps

7.jpg

slave上jps

8.jpg

启动成功:帅气的界面:

9.jpg

安装中如果日志出现错误: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后,最后稳定了。
三:测试 (这部分的内容没有涉及安装的问题,安装的部分主要在上面)
创建表
1.jpg

插入数据
2.jpg

查询
3.jpg

更新
4.jpg

删除

5.jpg
原创粉丝点击