0


kafka+zookeeper的搭建

  1. kafka2.8版本开始,就可以不用配置zookeeper了,但是也可以继续配置。我目前使用的kafka版本是kafka_2.12-3.0.0.tgz,其中前面的2.12表示是使用该版本的scala语言进行编写的,而后面的3.00才是kafka当前的版本。

通过百度网盘分享的文件:apache-zookeeper-3.6.4-bin.tar.gz
链接:https://pan.baidu.com/s/1XTh89ZRLh2Etbz9lFTWyag?pwd=l037
提取码:l037

通过百度网盘分享的文件:kafka
链接:https://pan.baidu.com/s/1w0qZZK3VdGYRPp2T1yWv4w?pwd=3wr1
提取码:3wr1

kafka的文件夹中有kafka和一个kafka的ui软件

这种配置要想使用kafka需要先启动zookeeper

关闭时,需要先关闭kafka再关闭zookeeper,否则kafka就关闭不掉了,需要kill

zookeeper的配置

上传

  1. 1、将zk软件上传到/opt/modules
  2. 2、解压 ,重命名,配置环境变量
  3. tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz -C /opt/installs/
  4. mv apache-zookeeper-3.6.4-bin zookeeper
  5. vi /etc/profile
  6. export ZOOKEEPER_HOME=/opt/installs/zookeeper
  7. export PATH=$PATH:$ZOOKEEPER_HOME/bin
  8. source /etc/profile

修改配置文件

  1. cd /opt/installs/zookeeper/conf
  2. mv zoo_sample.cfg zoo.cfg

我的配置文件的全部

  1. # The number of milliseconds of each tick
  2. tickTime=2000
  3. # The number of ticks that the initial
  4. # synchronization phase can take
  5. initLimit=10
  6. # The number of ticks that can pass between
  7. # sending a request and getting an acknowledgement
  8. syncLimit=5
  9. # the directory where the snapshot is stored.
  10. # do not use /tmp for storage, /tmp here is just
  11. # example sakes.
  12. dataDir=/opt/installs/zookeeper/zkData
  13. # the port at which the clients will connect
  14. clientPort=2181
  15. # the maximum number of client connections.
  16. # increase this if you need to handle more clients
  17. #maxClientCnxns=60
  18. #
  19. # Be sure to read the maintenance section of the
  20. # administrator guide before turning on autopurge.
  21. #
  22. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  23. #
  24. # The number of snapshots to retain in dataDir
  25. #autopurge.snapRetainCount=3
  26. # Purge task interval in hours
  27. # Set to "0" to disable auto purge feature
  28. #autopurge.purgeInterval=1
  29. server.1=bigdata01:2888:3888
  30. server.2=bigdata02:2888:3888
  31. server.3=bigdata03:2888:3888

创建文件夹

  1. cd /opt/installs/zookeeper/
  2. mkdir zkData
  3. cd zkData
  4. touch myid
  5. echo "1" > myid

将配置好的zookeeper文件传给集群内所有的服务器

记得将myid文件中的数据修改一下

我的有bigdata01,bigdata02,bigdata03 三台服务器

bigdata01中myid文件中为1

bigdata02中myid文件中为2

bigdata03中myid文件中为3

一个脚本:用于启动/关闭/查看集群中所有的zookeeper

  1. 在/usr/local/bin 下面,创建zk.sh
  1. #!/bin/bash
  2. # 获取参数
  3. COMMAND=$1
  4. if [ ! $COMMAND ]; then
  5. echo "please input your option in [start | stop | status]"
  6. exit -1
  7. fi
  8. if [ $COMMAND != "start" -a $COMMAND != "stop" -a $COMMAND != "status" ]; then
  9. echo "please input your option in [start | stop | status]"
  10. exit -1
  11. fi
  12. # 所有的服务器
  13. HOSTS=( bigdata01 bigdata02 bigdata03 )
  14. for HOST in ${HOSTS[*]}
  15. do
  16. ssh -T $HOST << TERMINATOR
  17. echo "---------- $HOST ----------"
  18. zkServer.sh $COMMAND 2> /dev/null | grep -ivh SSL
  19. exit
  20. TERMINATOR
  21. done

该脚本的使用方式:

  1. chmod 777 zk.sh
  2. zk.sh start
  3. zk.sh stop
  4. zk.sh status

假如不配置该脚本

  1. 在每一个服务器上运行
  2. zkServer.sh stop/start/status

kafka的配置

上传

  1. 1、将kafka软件上传到/opt/modules
  2. 2、解压 ,重命名,配置环境变量
  3. tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/installs/
  4. mv kafka_2.12-3.0.0 kafka3
  5. vi /etc/profile
  6. export KAFKA_HOME=/opt/installs/kafka3
  7. export PATH=$PATH:$KAFKA_HOME/bin
  8. source /etc/profile
  9. 集群中所有服务器的profile文件都需要修改 记得刷新环境变量

修改配置文件

  1. cd /opt/installs/kafka3
  2. vi server.properties

修改其中的部分内容:

  1. #broker 的全局唯一编号,不能重复,只能是数字。
  2. broker.id=0
  3. #kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
  4. log.dirs=/opt/installs/kafka3/datas
  5. #配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
  6. zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka3

分发修改好的kafka文件:

  1. 使用scp命令
  2. scp /opt/installs/kafka3 root@bigdata02:/opt/installs
  3. scp /opt/installs/kafka3 root@bigdata03:/opt/installs

分别在 bigdata02 和 bigdata03上修改配置文件/opt/installs/kafka/config/server.properties 中的 broker.id=1、broker.id=2

注:broker.id 不得重复,整个集群中唯一。

一个脚本:用于启动/关闭/查看集群中所有的kafka

在/usr/local/sbin 目录下创建文件 kf.sh 脚本文件

vi kf.sh

  1. #! /bin/bash
  2. case $1 in
  3. "start"){
  4. for i in bigdata01 bigdata02 bigdata03
  5. do
  6. echo " --------启动 $i Kafka-------"
  7. ssh $i "source /etc/profile; /opt/installs/kafka3/bin/kafka-server-start.sh -daemon /opt/installs/kafka3/config/server.properties"
  8. done
  9. };;
  10. "stop"){
  11. for i in bigdata01 bigdata02 bigdata03
  12. do
  13. echo " --------停止 $i Kafka-------"
  14. ssh $i "source /etc/profile; /opt/installs/kafka3/bin/kafka-server-stop.sh"
  15. done
  16. };;
  17. esac
  1. chmod u+x kf.sh
  2. 如何使用:
  3. kf.sh start
  4. kf.sh stop

假如没有配置脚本

  1. //启动时需要指定server.properties的路径
  2. //若不加-daemon 就会占用一个窗口 此时是后台启动kafka进程
  3. ./kafka-server-start.sh -daemon ../config/server.properties
  4. kafka-server-stop.sh

结果


本文转载自: https://blog.csdn.net/weixin_52642840/article/details/143606139
版权归原作者 zmd-zk 所有, 如有侵权,请联系我们删除。

“kafka+zookeeper的搭建”的评论:

还没有评论