ZooKeeper
安装
#将ZooKeeper解压到/usr/local中
tar –zxvf zookeeper-3.4.6.tar.gz –C /usr/local
cd /usr/local
#重命名
sudo mv zookeeper-3.4.6 zookeeper
cd zookeeper/conf
sudo cp zoo_sample.cfg zoo.cfg
配置
1.在zoo.cfg中追加下面内容:
#server.n=ip:portA:portB
#n是server标识号(1~255)
#ip是serverip地址
#portA是与leader进行信息交换的端口
#portB是在leader宕机后,进行leader选举所用的端口
server.1=200.31.157.116:20881:30881
server.2=200.31.157.116:20882:30882
server.3=200.31.157.117:20881:30881
注:
配置文件信息解析:
tickTime:毫秒级的基本时间单位,其它时间如心跳/超时等都为该单位时间的整数倍。
initLimit:tickTime的倍数,表示leader选举结束后,followers与leader同步须要的时间,leader的数据许多或followers比較多时,该值应适当大一些。
syncLimit:tickTime的倍数,表示follower和observer与leader交互时的最大等待时间,是在与leader同步完成之后,正常请求转发或ping等消息交互时的超时时间。
clientPort:监听客户端连接的服务port,若一台服务器上安装多个ZooKeeper server,则须要设置不同的port号。
dataDir:内存数据库快照地址。事务日志地址(除非由dataLogDir另行指定)。
2.在$dataDir下新建文件myid。并写入server标识号
#/tmp/zookeeper为dataDir
cd /tmp/zookeeper/
sudo vim myid
#在myid中加入server标识号
启动停止
#进入$ZOOKEEPER_HOME,执行zkServer.sh
#启动
sudo bin/zkServer.sh start &
#停止
sudo bin/zkServer.sh stop
#查看状态
sudo bin/zkServer.sh status
Kafka
安装
tar –zxvf kafka_2.10-0.8.2.1.tgz –C /usr/local/
cd /usr/local
#重命名
sudo mv kafka_2.10-0.8.2.1 kafka
cd kafka/conf
配置
在配置文件server.properties改动例如以下内容:
#broker.id是broker的标识。具有唯一性
broker.id=0
#port号默觉得9092
port=9092
#host.name位kafka所在机器的ip
host.name=200.31.157.116
#设置zookeeper,可连接多个zookeeperserver
zookeeper.connect=200.31.157.116:2182,200.31.157.116:2183,200.31.157.117:2182
启动停止
#进入$KAFKA_HOME
#启动
sudo bin/kafka-server-start.sh config/server.properties &
#停止
bin/kafka-server-stop.sh
生产/消费消息
#创建topic
bin/kafka-topics.sh --create --zookeeper 200.31.157.116:2182 --replication-factor 1 --partitions 1 --topic test
#生产消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
#消费消息
bin/kafka-console-consumer.sh –zookeeper 200.31.157.116:2182,200.31.157.116:2183,200.31.157.117:2182 --topic test --from-beginning