三台虚拟机搭建kafka集群(和zookeeper集群)

2019-01-09  本文已影响0人  Cherron

如果是为了简单的调试,安装单机版kafka也是可以的。不过生产环境肯定是需要搭建集群,所以这篇博客是记录在本地虚拟机尝试搭建kafka的集群,为生产做准备。
环境介绍:


一、环境介绍
  1. 三台VMware上的centos7:
    192.168.220.129
    192.168.220.130
    192.168.220.131
    先在第一台上做好前期准备工作,然后克隆生成后两台
  2. jdk8:java -version
    我用的是系统自带的:
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
二、Zookeeper集群

kafka依赖zookeeper,所以我们需要先搭建zookeeper集群。

  1. 创建文件夹
mkdir zookeeper
mkdir zookeeper/zkdata
mkdir zookeeper/zkdatalog
  1. 下载zookeeper
    进入文件夹:cd zookeeper
    推荐直接在阿里巴巴开源镜像站下载
    wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
  2. 解压
    tar -zxvf zookeeper-3.4.13.tar.gz
  3. 复制一份配置文件:zoo.cfg
cd zookeeper-3.4.13/conf
cp zoo_sample.cfg zoo.cfg
  1. 编辑配置文件vim zoo.cfg
#心跳间隔
tickTime=2000
#其他服务器连接到Leader时,最长能忍受的心跳间隔数:10*2000 = 20秒
initLimit=10
#发送消息时,多长忍受心跳间隔数:5*2000 = 10秒
syncLimit=5
#快照日志
dataDir=/root/myapp/zookeeper/zkdata
#事务日志
dataLogDir=/root/myapp/zookeeper/zkdatalog
#客户端连接zookeeper服务器的端口
clientPort=2181
#可以待后续克隆完剩下两台后,再写上其他两台的ip
server.1=192.168.220.129:2888:3888
server.2=192.168.220.130:2888:3888
server.3=192.168.220.131:2888:3888
  1. 克隆该虚拟机,你也可以把kafka的准备工作做好后,再统一克隆
    如果你已经有多台机子,则可跳过该步骤
    软件VMware中,关闭虚拟机后,右键点击对应虚拟机>>管理>>克隆
    为了不必要的麻烦,记得选择:
    克隆虚拟机
  2. 修改每台虚拟机里的zookeeper的zoo.cfg文件中的server ip信息
    查看本机ip:ifconfig
  3. 创建myid文件,对应zoo.cfg里的server.1、server.2、server.3
#server1
echo "1" > xxxxxxxx/zookeeper/zkdata/myid
#server2
echo "2" > xxxxxxxx/zookeeper/zkdata/myid
#server3
echo "3" > xxxxxxxx/zookeeper/zkdata/myid
  1. 启动
  1. 停止:./bin/zkServer.sh stop
三、kafka集群
  1. 创建文件夹mkdir kafka
  2. 下载
    与zookeeper一样,推荐到阿里巴巴开源镜像站下载
    wget https://mirrors.aliyun.com/apache/kafka/2.1.0/kafka_2.12-2.1.0.tgz
  3. 解压
    tar -zxvf kafka_2.12-2.1.0.tgz
  4. 修改配置文件
    vim kafka_2.12-2.1.0/config/server.properties
    主要修改如下:
#分别是1/2/3!!!!!!!!!!!
broker.id=3
#对应ip
listeners=PLAINTEXT://192.168.220.131:9092
#对应ip
advertised.listeners=PLAINTEXT://192.168.220.131:9092
#zookeeper集群地址
zookeeper.connect=192.168.220.129:2181,192.168.220.130:2181,192.168.220.131:2181
  1. 启动
    ./bin/kafka-server-start.sh -daemon ./config/server.properties
  1. 停止
    ./bin/kafka-server-stop.sh
    OK!
四、Kafka Topic分区
五、其它常用命令
上一篇下一篇

猜你喜欢

热点阅读