centos7下zookeeper集群安装部署
1. 安装环境(如下图示例)(三台虚拟机):
Host | Ip | Software | Port | Usage |
Server-1 | 192.168.146.200 | Zookeeper 3.3.6 | 2181 | Node-1 |
Server-2 | 192.168.146.201 | Zookeeper 3.3.6 | 2181 | Node-2 |
Server-3 | 192.168.146.202 | Zookeeper 3.3.6 | 2181 | Node-3 |
2. 安装步骤:
1、下载zookeeper并解压
官网推荐下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
解压至/usr/local/software目录(目录可以自由指定):
tar -zxvf zookeeper-3.3.6.tar.gz -C /usr/local/software
2、编辑配置文件
进入conf目录,cp生成一个zk能识别的配置文件名:zoo.cfg,如下:
[root@server-1 conf]# cp zoo_sample.cfg zoo.cfg
执行命令vim zoo.cfg对文件进行修改:
保存 :wq
注意:另外两个节点配置同上
上面红色框住的内容即是我们修改的内容:
①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
③、client:监听客户端连接的端口。
④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
⑥、server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。
3、创建myid文件
- cd /usr/local/software/zookeeper-3.3.6/data 创建myid文件,然后在文件中写上对应的节点编号例如:
- server.0=192.168.146.200:2888:3888 #myid文件中写0就可以呢
- 后面的机器依次在相应目录创建myid文件,写上相应配置数字即可。
4、配置环境变量(非必须)
为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。
- 进入vim /etc/profile
- 添加配置
#set zookeeper environment
export ZK_HOME=/usr/local/software/zookeeper-3.3.6
export PATH=$PATH:$ZK_HOME/bin
- 刷新文件,使环境变量生效:soure /etc/profle
5、启动zookerper服务
(1)启动命令 :zkServer.sh start
(2)停止命令: zkServer.sh stop
(3)重启命令:zkServer.sh restart
(4)查看集群节点状态:zkServer.sh status
centos7下kafka集群安装部署
安装步骤:
1、下载并解压:
在线或者本地上传:
wget http://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.11-2.2.0.tgz
解压:
tar zxvf kafka_2.11-2.2.0.tgz -C /opt/
2、编辑配置文件
进入到config目录,编辑配置文件:server.properties
[root@server-1 config]# vim server.properties
同样的操作在server-2和server-3上修改一下broker.id和host.name。
3、启动KAFKA
(1) 切换到bin目录中,查看相关脚本:
(2) [root@server-1 bin]# ./kafka-server-start.sh -daemon ../config/server.properties // -daemon:以后台方式启动
(3) 同样的,启动server-2和server-3
[root@server-2 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
[root@server-3 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
关闭命令:
4、检查测试
(4) 登录zookeeper(切换到zk的bin目录下),先连接zk:
[root@server-1 bin]# ./zkCli.sh -server 192.168.146.200:2181 //IP为zookeeper所在服务器的IP
附录:KAFKA简单命令
- 创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topicName //topicName 指定测试的topic
- 查看主题:
bin/kafka-topics.sh --list --zookeeper localhost:2181
- 发送一些消息:
bin/kafka-console-producer.sh --broker-list 10.1.80.128:9092 --topic topicName //topicName 指定测试的topic
- 立即删除某个topic下的数据
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topicName --config cleanup.policy=delete //topicName 指定测试的topic
- 查看topic内容:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicName --from-beginning //topicName 指定测试的topic