部署zookeeper

来源:互联网 发布:什么抢购软件好 编辑:程序博客网 时间:2024/06/06 14:12

总体安装完了以后就酱
这里写图片描述

#安装zookeeper
wget "http://apache.opencas.org/zookeeper/stable/zookeeper-3.4.10.tar.gz"mv zookeeper-3.4.10/letvcd /letvtar -xzvf zookeeper-3.4.10.tar.gzcd zookeeper-3.4.10/conf/单机模式cd /letv/zookeeper-3.4.10/conf/cp zoo_sample.cfg zoo.cfgvi zoo.cfgdataDir=/data/hadoop/data4/zookeepercd /letv/zookeeper-3.4.10/bin/./zkServer.sh startvi /etc/profileZOOKEEPER_HOME=/letv/zookeeper-3.4.10PATH=$PATH:$ZOOKEEPER_HOME/binsource /etc/profile

配置日志

/usr/local/zookeeper/confvim log4j.properties加这一条zookeeper.log.dir=/data/hadoop/data4/zookeeper/

集群模式

cd /letv/zookeeper-3.4.10/conf/vi zoo.cfgtickTime=2000#ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。initLimit=10#Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在initLimit时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。(No Java system property)syncLimit=5#在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。(No Java system property)dataDir=/data/hadoop/data4/zookeeper#存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。dataLogDir=/usr/local/zookeeper/logs#事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。clientPort=21818#客户端连接server的端口,即对外服务端口server.1=10.183.93.129:48889:58889server.2=10.183.93.131:48889:58889server.3=10.183.93.132:48889:58889#这里的x是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。 ln -s /letv/zookeeper-3.4.10 /usr/local/zookeeper/usr/local/zookeeper/bin/zkServer.sh start/usr/local/zookeeper/bin/zkServer.sh status/usr/local/zookeeper/bin/zkServer.sh stopexport ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH

ansible 批量copy文件 解压缩

sudo ansible -i ansible_hosts elk -m copy -a "src=/letv/zookeeper-3.4.10.tar.gz dest=/letv/zookeeper-3.4.10.tar.gz "sudo ansible -i ansible_hosts elk -m copy -a "src=/home/dingyunlong/echo1.sh dest=/tmp/echo1_copy.sh mode=755 owner=root group=root"ansible -i ansible_hosts elk -m script -a '/root/script/zookeeper_install.sh'vim /usr/local/zookeeper/data/myid

已经配置好zookeeper,下面是分发到其他节点,修改myid/letv/zookeeper-3.4.10/data

#!/bin/bashcd /letvtar -xzvf zookeeper-3.4.10.tar.gzln -s /letv/zookeeper-3.4.10 /usr/local/zookeepercat >> /etc/profile << EOFexport ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH #这个配置没改成功EOFsource /etc/profile#创建 hadoop的路径#!/bin/bashmkdir -p /data/hadoop/data{0..11}for i in {1..11};do ln -s  /data/hadoop/data$i /data/slot$i ;done
启动zkServer.sh startzkServer.sh status报错Error contacting service. It is probably not running.ZooKeeper JMX enabled by default ansible -i ansible_hosts elk  -m shell -a 'mkdir /usr/local/zookeeper/logs'下面的位置创建myid
/data/hadoop/data4/zookeeper/ansible -i ansible_hosts elk  -m shell -a 'source /etc/profile && zkServer.sh start'ansible -i ansible_hosts elk  -m shell -a 'source /etc/profile && zkServer.sh status'

登录zk hosts 创建znode

sh zkCli.sh -server 10.183.93.129:21818ls /create /kafka ""create /storm ""rmr /storm
原创粉丝点击