本文只介绍快速的搭建方案,不啰嗦哈。搭建方案图,如下:
Zookeeper独立3台集群(根据项目情况扩展),一台为leader,其他为follower。
Kafka为多节点多broker的集群方案(根据项目情况扩展),不使用kafka自带的zookeeper。
JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
Zookeeper https://www.apache.org/dyn/closer.cgi/zookeeper/
Kafka http://kafka.apache.org/downloads
由于ZK、Kakfa运行需要依赖JVM环境,需要先安装JDK(网上很多,不再描述)
另外,以上中间件统一安装/home目录,下面方案介绍中默认都是此目录。
1、解压软件包:
tar -xzvf zookeeper-3.4.11.tar.gz
2、进入配置文件目录,cd zookeeper-3.4.11/conf,新建zoo.cfg。每台集群节点使用相同的配置。
3、建立zookeeper-data文件夹(与zk安装目录同级),并在此文件夹下新建文件myid(linux命令:touchmyid),内容为1。根据zoo.cfg中server.x=ip:port1:port2的x值,设置不同集群节点myidde值。如:192.168.0.71节点zookeeper的myid内容为1,192.168.0.72节点zookeeper的myid内容为2,192.168.0.73节点zookeeper的myid内容为3,保证集群内唯一即可。
4、启动Zookeeper服务,在每个节点的安装目录下执行命令:
./bin/zkServer.sh start
5、检查是否正常运行,在每个点的安装目录下执行命令:
./bin/zkServer.sh status
Error contactingservice?莫慌,由于其他节点还未启动,无法连接问题,将其他集群节点的服务全部启动。再查看:
其中1台为Mode:leader,2台为Mode:follower。
相关碰到的问题,可查看bin目录下zookeeper.out输出的日志,进一步排查。
以上,Zookeeper集群部署完毕。
1、解压软件包
tar -xzvf kafka_2.12-1.0.0.tgz
2、进入配置文件目录, cdkafka_2.12-1.0.0/config/,使用server. properties复制2文件:server1. properties、server2.properties。其中,broker.id在集群内保证唯一。
Server1.properties加入配置(删除已注释配置前#符号):
broker.id=1
listeners=PLAINTEXT://192.168.0.63:9092
advertised.listeners=PLAINTEXT://192.168.0.63:9092
log.dirs=/home/kafka-logs1
Server2.properties加入配置(删除已注释配置前#符号):
broker.id=2
listeners=PLAINTEXT://192.168.0.63:9093
advertised.listeners=PLAINTEXT://192.168.0.63:9093
log.dirs=/home/kafka-logs2
修改Zookepeer配置(Kafka默认为自带的Zookeeper配置):
zookeeper.connect=192.168.0.71:2181,192.168.0.72:2181,192.168.0.74:2181
3、启动Kafka Server:
bin/kafka-server-start.sh config/server1.properties &
bin/kafka-server-start.sh config/server2.properties &