kafka集群及zookeeper集群搭建

来源:互联网 发布:java勇敢的心游戏 编辑:程序博客网 时间:2024/06/12 09:55

在搭建kafka集群之前首先需要搭建kafka集群,因为kafka需要依赖zookeeper
1.搭建zookeeper集群
   1.1.准备三台机器,可以是虚拟机,笔者使用的Vmware虚拟出了三台机器,使用的CentOS6.5镜像,ip地址如下:
   192.168.74.79
   192.168.74.80
   192.168.74.81
   修改/etc/hosts添加主机名,如下:

   192.168.74.79 node-01   192.168.74.80 node-02   192.168.74.81 node-03
  
   1.2.下载zookeeper二进制tar包,笔者使用的是zookeeper-3.4.6.tar.gz,可去zookeeper官网自行下载,下载完了后,上传到虚拟主机,在
   /usr/local下创建目录zookeeper并解压到该目录下
   # mkdir /usr/local/zookeeper   # tar -zxvf zookeeper-3.4.6.tar.gz
  
   1.3.在/usr/local/zookeeper目录下创建data和logs目录用于记录zookeeper存放数据和日志记录
 
  # mkdir data logs
  
   1.4.cd 到zookeeper-3.4.6目录下,将conf目录下的zoo_sample.cfg文件复制一份并重命名为zoo.cfg
   # cp zoo_sample.cfg zoo.cfg
  
   1.5.修改zoo.cfg,需要修改和新增的内容如下:
   #修改成上面创建的data目录路径
   dataDir=/usr/local/zookeeper/data      #新增      dataLogDir=/usr/local/zookeeper/logs   #新增   server.1=node-01:2881:3881              server.2=node-02:2881:3881   server.3=node-03:2881:3881
  
   1.6.其他机器按照上面步骤操作,启动zookeeper,cd到bin,./zkServer.sh start,查看zookeeper状态,./zkServer.sh status
   
2.搭建kafka集群
   还是zookeeper所使用的三台服务器,步骤如下:
   2.1.去官网下载kafka二进制安装tar包,笔者使用的是kafka_2.11-0.10.2.0.tgz,在/usr/local下创建kafka目录并解压到kafka目录下
   # mkdir /usr/local/kafka   # tar -zxvf kafka_2.11-0.10.2.0.tgz
  
   2.2.进入到/usr/local/kafka/kafka_2.11-0.10.2.0/config目录下,修改server.properties
   #kafka唯一主机标识,不同机器中的kafka不能相同   broker.id=0   host.name=192.168.74.79   log.dirs=/usr/local/kafka/kafkalogs   zookeeper.connect=192.168.74.79:2181,192.168.74.80:2181,192.168.74.81:2181
   其他机器也是一样,记住broker.id不能再为0了
  

    2.3.启动kafka,bin/kafka-server-start.sh -daemon config/server.properties,通过jps查看kafka进程

   25052 Jps   6622 Kafka

3.kafka集群搭建遇到的那些坑:

1、如果你的kafka中的server.properties文件中的broker.id=0不修改,启动时会报错,按照顺序依次修改成0,1,2......

2、server.properties文件中如果没有host.name就要加上,否则通过kafka api会无法访问

3、使用bin/kafka-server-stop.sh在centOS6.5关闭失效,使用kill -s TERM $(jps -l | grep 'kafka\.Kafka' | awk '{print $1}')关闭

4、使用bin/kafka-server-start config/server.properties & 当关闭控制台后kafka就会自动关闭,所以应该使用bin/kafka-server-start -daemon config/server.properties &作为后台程序运行