Hadoop-zookeeper

来源:互联网 发布:java replace的原理 编辑:程序博客网 时间:2024/06/04 23:32

环境:centos6.5
搭建zookeeper集群
前期准备:
1.配置IP
cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
IPADDR=
PREFIX=24
GATEWAY=
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=”System eth0”
ONBOOT=yes
NETMASK=
DEVICE=eth0
USERCTL=no

2.修改Linux主机名
hostname //查看机器名
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Slave1
cat /etc/hosts
127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。
10.3.10.89 Master
10.3.10.83 Slave1
10.3.10.85 Slave2
4.关闭防火墙
开启: chkconfig iptables on
关闭: chkconfig iptables off
5.ssh免登陆
ssh 主机名
ssh-keygen
ssh-copy-id 主机名
6.安装JDK,配置环境变量等
rpm -ivh jdk-6u32-linux-i586-rpm 默认安装在usr目录下
设置环境变量 #vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_51export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

生效 source /etc/profile

安装部署zookeeper

1.上传zk安装包2.解压 3.配置    3.1添加一个zoo.cfg配置文件    $ZOOKEEPER/conf    mv zoo_sample.cfg zoo.cfg    3.2修改配置文件(zoo.cfg)        dataDir=/home/hadoop/zookeeper/data         server.1=Master:2888:3888        server.2=Slave1:2888:3888        server.3=Slave2:2888:3888       3.3在(dataDir=/home/hadoop/zookeeper/data)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)        echo "1" > myid    3.4将配置好的zk拷贝到其他节点        scp -r /hadoop/zookeeper/ Slave1:/home/hadoop/zookeeper/        scp -r /hadoop/zookeeper/ Slave2:/home/hadoop/zookeeper/    3.5注意:在其他节点上一定要修改myid的内容        在Slave1应该讲myid的内容改为2 (echo "2" > myid)        在Slave2应该讲myid的内容改为3 (echo "3" > myid)      4.启动集群    分别启动zk
  1. 启动ZK服务: ./zkServer.sh start Starting zookeeper … STARTED
  2. 查看ZK服务状态: ./zkServer.sh status Mode: leader
  3. 停止ZK服务: ./zkServer.sh stop Stopping zookeeper … STOPPED
  4. 重启ZK服务: ./zkServer.sh restart

Zookeeper集群启动的入口类是QuorumPeerMain来加载配置启动QuorumPeer线程

zookeeper对数据的组织方式:
1、提供一个类似于目录树的结构来管理客户端提交的数据
2、目录树上的每一个子节点都可以存储一份数据信息,目录树上的每个节点都称为一个znode
3、要访问数据时应该指定数据节点znode所在的路径

zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg。其中各配置项的含义,解释如下:

1.tickTime:CS通信心跳时间
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
tickTime=2000

2.initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
initLimit=5

3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=2

4.dataDir:数据文件目录
Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
dataDir=/home/hadoop/zookeeper/data

5.clientPort:客户端连接端口
客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
clientPort=2181

6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:
server.N=YYY:A:B

server.1=Master:2888:3888
server.2=Slave1:2888:3888
server.3=Slave2:2888:3888

0 0
原创粉丝点击