zookeeper3.4.5 安装教程
这次试验的集群环境是centos 64-bit+jdk1.6+hadoop1.0.0+zookeeper3.4.5+hbase0.94.15(顺序安装),所以在安装hbase之前需要安装zookeeper,zookeeper的作用网上太多了,这里就不细说了,好了,Let's do it!
1 、服务器介绍
三台服务器 分别是
Master.Hadoop 192.168.40.145
Slave2.Hadoop 192.168.40.125
Slave3.Hadoop 192.168.40.119
其中Hadoop 的NameNode 部署在 Master.Hadoop上
使用的 hadoop用户
2、下载对应版本的zookeeper(先在Master上做)
官网下载
这里注意下,我的hadoop环境是 /usr/hadoop ,我们把zookeeper放入hadoop目录里面
进入到hadoop目录解压
cd /usr/hadoop
tar -zxvf /home/hadoop/zookeeper-3.4.5.tar.gz (文件上传到hadoop用户的根目录下)
mv zookeeper-3.4.5 zookeeper (mv重命名目录)
chown -R hadoop:hadoop zookeeper 设置下权限
3、配置zoo.cfg
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg (复制一个出来)
修改zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/hadoop/zookeeper/pid (pid没有就创建一个 mkdir pid)
clientPort=2181
server.1=Master.Hadoop:2888:3888
server.2=Slave2.Hadoop:2888:3888
server.3=Slave3.Hadoop:2888:3888
#注释: 集群的 节点配置 必须是 server.X=Host:2888:3888
其中 :2888、3888用于zookeeper之间的通讯,server.X 中的 X 用于 下面myid中的值
完成以上步骤,将zookeeper直接复制到Slave2.Hadoop和Slave3.Hadoop上即可
scp -r /usr/hadoop/zookeeper/ hadoop@Slave2.Hadoop:/usr/hadoop
scp -r /usr/hadoop/zookeeper/ hadoop@Slave3.Hadoop:/usr/hadoop
4、 创建myid
分别依次进入到三个服务器下 根据配置的 server.X 来设置myid的内容
myid 位于上面我们配置的dataDir中文件夹下
cd /usr/hadoop/zookeeper/pid
echo 1 > myid
注意: echo 1 中的 1 对应着server.X中的X的值 Slave2.Hadoop和Slave3.Hadoop分别对应2 和 3
5、 编辑/etc/profile
切换到root
su - root
vim /etc/profile
在最后追加:
export ZOOKEEPER_HOME=${HADOOP_HOME}/zookeeper (由于实例将zookeeper的放在了 Hadoop下 所以使用了 ${HADOOP_HOME},也可以直接全路径)
export PATH=.:$HBASE_HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/jre/bin:$JAVA_HOME/bin:$PATH:${ZOOKEEPER_HOME}/bin (PATH里面是添加最后这个就行)
配置了Master,其他的可以直接复制
scp -r /etc/profile root@Slave2.Hadoop:/etc/
scp -r /etc/profile root@Slave3.Hadoop:/etc/
source /etc/profile (使配置生效)
6、启动zookeeper server
进入到hadoop用户
su - hadoop
zkServer.sh start (start #开启 stop #关闭 )
zkServer.sh status (查看运行状态)
bin/zkCli.sh -server Master.Hadoop:2181 (客户端连接)
通过jps命令可以查看ZooKeeper服务器进程,名称为QuorumPeerMain
注意:
集群配置,唯一的不同之处,就是myid文件的不同
他标识着本机的身份,zoo.cfg配置中的最后四行server.n中的n就是主机的身份
补充:
删除hbase/lib包下面的hadoop-core-1.0.X.jar和commons-collections-3.2.1.jar,将hadoop目录下的core包和commons-collections-3.2.1.jar拷贝到hbase的lib下面 —这个操作是为了保证hadoop和hbase的包的版本一致,以为出现一些类似版本不兼容的问题。
查看修改/etc/hosts是否绑定了127.0.0.1,如果有将其注释
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.40.145 Master.Hadoop
192.168.40.125 Slave2.Hadoop
192.168.40.119 Slave3.Hadoop
7、验证hbase运行
1、使用jps查看进程运行情况
masters:
[zqhadoop@master hbase]$ jps
763 SecondaryNameNode
9326 Jps
866 JobTracker
3207 HMaster
1382 QuorumPeerMain
554 NameNode
slaves:
[zqhadoop@dd1 ~]$ jps
15065 HRegionServer
14051 DataNode
14159 TaskTracker
14447 QuorumPeerMain
20157 Jps
2、执行hbase shell看是否连接正常
[hadoop@master bin]$ ./hbase shell
HBase Shell; enter ‘help’ for list of supported commands.
Type “exit” to leave the HBase Shell
Version 0.94.5, r1443843, Fri Feb 8 05:51:25 UTC 2013
3、通过web验证hbase是否正常运行