HBase集群安装部署(完全分布式)
标签: hbasehadoopzookeeper分布式安装
2016年7月29日08:24:27 Huangxin[永州职业技术学院]
分类: hbase(5)
版权声明:本文为学习笔记文章,希望爱好大数据的人一起学习。
目录(?)[+]
zookeeper 配置
(注意:我在配置的时候,由于后面克隆了一台Slave03机器,忘记了在前面的3台机器里面的HOSTS文件里面添加【IP 主机名】映射,导致SSH 连接很慢,超过了30秒,导致Hbase启动的时候超过30秒而Slave03机器的Hbase启动不了(在Slave03 的机器的Hbase日志里面可以查看到原因))
1. Zookeeper服务集群规模不小于三个节点,要求各服务之间系统时间要保持一致。 我配置的系统的规划是4台机器(1台Master,3台Slave:Slave01,Slave02,Slave03)
主机名 Master Slave01 Slave02 Slave03 IP地址 192.168.137.200 192.168.137.101 192.168.137.102 192.168.137.103 端口号 2181 2181 2181 2181
2. 在Master机的usr/目录下,解压缩zookeeper(执行命令tar –zvxf zookeeper.tar.gz)
在这里我还使用了【 mv zookeeper版本号 zookeeper修改名称为zookeeper】
3. 设置环境变量
打开/etc/profile文件!内容如下:
[html] view plain copy
1. #set java & hadoop 2.
3. export JAVA_HOME=/usr/jdk 4.
5. export HADOOP_HOME=/usr/hadoop 6.
7. export ZOOKEEPER_HOME=/usr/zookeeper 8.
9. export PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
注:修改完后profile记得执行source /etc/profile命令让文件立即生效
4. 在解压后的zookeeper的目录下进入conf目录修改配置文件 更名操作:mv zoo_sample.cfg zoo.cfg
我的操作是 保留原来的文件复制一个更名 ,更名为:zoo.cfg
所以命令为:cp zoo_sample.cfg zoo.cfg
5. 编辑zoo.cfg (vi zoo.cfg)(注意:这里也可以直接使用界面操作打开编辑) 修改dataDir=/usr /zookeeper/data 新增server.0=Master:2888:3888
server.1=Slave01:2888:3888 server.2=Slave02:2888:3888
server.3=Slave03:2888:3888 文件如下: [html] view plain copy 1. # The number of milliseconds of each tick 2.
3. tickTime=2000 4.
5. # The number of ticks that the initial 6.
7. # synchronization phase can take 8.
9. initLimit=10 10.
11. # The number of ticks that can pass between 12.
13. # sending a request and getting an acknowledgement 14.
15. syncLimit=5 16.
17. # the directory where the snapshot is stored. 18.
19. # do not use /tmp for storage, /tmp here is just 20.
21. # example sakes. 22.
23. dataDir=/usr/zookeeper/data 24.
25. # the port at which the clients will connect 26.
27. clientPort=2181 28. 29. # 30.
31. # Be sure to read the maintenance section of the 32.
33. # administrator guide before turning on autopurge. 34. 35. # 36.
37. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
38. 39. # 40.
41. # The number of snapshots to retain in dataDir 42.
43. #autopurge.snapRetainCount=3 44.
45. # Purge task interval in hours 46.
47. # Set to \ 48.
49. #autopurge.purgeInterval=1 50. 51. 52.
53. server.0=Master:2888:3888 54.
55. server.1=Slave01:2888:3888 56.
57. server.2=Slave02:2888:3888 58. server.3=Slave03:2888:3888
注:
[html] view plain copy
1. server.0=Master:2888:3888 2.
3. server.1=Slave01:2888:3888 4.
5. server.2=Slave02:2888:3888 6. server.3=Slave03:2888:3888 7.
这四行为配置zookeeper集群的机器(Master、Slave01、Slave02,Slave03)分别用server.0和server.1、server.2、server.3标识,2888和3888为端口号(zookeeper集群包含一个leader(领导)和多个fllower(随从),启动zookeeper集群时会随机分配端口号,分配的端口号为2888的为leader,端口号为3888的是fllower)
6. 创建文件夹mkdir /usr /zookeeper/data(注意:这里也可以直接使用界面操作) 7. 在data目录下,创建文件myid,值为0 (0用来标识Master这台机器的zookeeper )
到此为止 Master上的配置就已经完成;接下来配置Slave01,Slave02和Slave03.
8. 把zookeeper目录复制到Slave01,Slave02和Slave03中 命令为:(scp –r /usr /zookeeperroot@192.168.137.101:/usr /zookeeper) 9. 把修改后的etc/profile文件复制到Slave01,Slave02和Slave03中 (复制完后记得在Slave01,Slave02和Slave03中执行命令source /etc/profile)
10. 把Slave01中相应的myid中的值改为1,Slave02中相应的myid中的值改为2,把Slave03中相应的myid中的值改为3 。
11. 启动,在三个节点上分别执行命令zkServer.sh start 12. 检验,在三个节点上分别执行命令zkServer.sh status