CentOS 6或7虚拟机
对应kafka,zookeeper版本安装包,本文用的是zookeeper3.4.6,kafka0.10.1.0
下载完成后,如下图所示
下面开始正式安装配置两个组件。首先将你的压缩包拷到你要安装的服务器主节点上,这里以3台机器为例说明安装:一般tar.gz或者tar结尾的解压命令是:tar zxvf 路径+压缩包名称(如:/yybTest/zookeeper.tar.gz) -C 解压路径(如:/yybTest/)
解压完成后,可配可不配环境变量,若配的话,vim /etc/profile 下在最后加上export ZOOKEEPER_HOME=/yybTest/zookeeperexport PATH=$PATH:$ZOOKEEPER_HOME/bin然后,进入到zookeeper的conf目录下修改他的zoo.cfg文件,若没有则将zoo_sample.cfg复制一份改名zoo.cfg,指令是 cp zoo_sample.cfg zoo.cfg用vim zoo.cfg进入:一般来说最多修改以下配置,特殊要求除外clientPort=2181 zookeeper的端口号,注:修改后对应kafka处也要修改 dataDir=/yybTest/zookeeper/data 保存数据目录 dataLogDir=/yybTest/zookeeper/log 保存日志目录 server.1=ip:2888:3888 ip为服务器的ip server.2=ip:2888:3888 ip为服务器的ip server.3=ip:2888:3888 ip为服务器的ip具体如下图:此处我修改了zk的端口号,因为我安装了多个zk,kafka集群
修改完后:在/yybTest/zookeeper/data目录下建立一个myid的文本文件 直接vim myid会直接进入,保存后会自动创建这个。在里面写上对应数字1,这里1对上server后面的那数据,不同机器上的myid文件的数字跟各自server后的数据要对应起来,如下图是我的第三个机器的myid文件的内容,后面的kafka brokerid 也要和这个对应上。 然后分发到其他节点:scp –r /yybTest/zookeeper 机器二ip:/yybTest/scp –r /yybTest/zookeeper 机器三ip:/yybTest/ 最后测试是否安装成功(三台都要启动):1.进入zookeeper的bin目录,执行sh zkServer.sh start进行启动zookeeper2.查看状态 进入bin目录,执行sh zkServer.sh status3.停止 进入bin目录,执行sh zkServer.sh stop4.重启 进入bin目录,执行sh zkServer.sh restart 出现zookeeper的程序就安装成功了,若没有,去他的log日志下看zookeeper.out日志,锁定问题。注1:目录换成你自己的注2:一般的问题就是id对不上,还有就是ip写的有问题,最后还有一个问题,就是需要你去解锁zookeeper的连接数,他默认是60,可以在zoo.cfg中找到他改大些。
进入kafka的目录下,更改其下的配置文件vim config/server.properties修改broker.id(与上文zk保持一致)机器一的broker.id=0,机器二的broker.id=1,机器三的broker.id=2和zookeeper的id对上修改zookeeper.connect=机器一ip:2181, 机器二ip:2181,机器三ip:2181Zookeeper端口号记得对应上,别上面改了端口号,这里没改,端口号一定要对应。 再进入本目录下的produce那个文件看看,有没有问题,再去这个目录下的zookeeper的文件看看有没有要改的,默认不用管。分发集群和zookeeper的一样:scp去分发启动kafka之前先得确保zookeeper已经启动在kafka的bin目录下启动bin/kafka-server-start.sh -daemon config/server.properties(后台启动)三台都得启动。启动后看到kafka进程即成功。注:一般问题,meta文件id生成不对报错,去/tmp/kafka-logs/ 修改成对应的。
创建一个kafka的topic在kafka_1.20-0.10.1.0下:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic可通过命令:bin/kafka-topics.sh --list --zookeeper localhost:2181查看topic是否创建成功创建一个console的producer在kafka_1.20-0.10.1.0下:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic创建一个console的consumer在kafka_1.20-0.10.1.0下:bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic --from-beginning查看是否消费到producer创建的消息
至此,kafka,zk的集群下载搭建,以及验证就全部完成了。
注:zk启动问题一般的问题就是id对不上,还有就是ip写的有问题,最后还有一个问题,就是需要你去解锁zookeeper的连接数,他默认是60,可以在zoo.cfg中找到他改大些。
注:各机器的时间要对应,时间差太大会造成无法zk通信
注:kafka的一般问题,meta文件id生成不对报错,去/tmp/kafka-logs/ 修改成对应的。