kafka集群安装部署

kafka集群安装

使用的版本
系统:centos6.5 centos6.7
jdk:1.7.0_79
zookeeper:3.4.9
kafka:2.10-0.10.1.0

一.环境准备[只列,不具体写]

1.安装jdk
2.更改机器名
3.添加所有机器的host

二.安装步骤

2.1安装zookeeper

  1. 下载zookeeper安装包 下载地址
  2. 将安装包上传到一台电脑node1上,我放到了 /opt/kafka/
  3. 解压
    cd /opt/kafka/ tar -zxvf zookeeper-3.4.9.tar.gz
  4. 修改配置文件
    vi /opt/kafka/zookeeper-3.4.9/conf/zoo.cfg
    内容为:
    tickTime=2000 dataDir=/opt/kafka/zookeeper-3.4.9/data dataLogDir=/opt/kafka/zookeeper-3.4.9/logs clientPort=2181 initLimit=5 syncLimit=2 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
  5. 创建用到的文件夹
    mkdir /opt/kafka/zookeeper-3.4.9/data mkdir /opt/kafka/zookeeper-3.4.9/logs
  6. 生成myid文件
    echo "1" > /opt/kafka/zookeeper-3.4.9/data/myid
  7. 将zookeeper文件夹发到其他机器上
    scp -r /opt/kafka/zookeeper-3.4.9 root@node2:/opt/kafka/zookeeper-3.4.9 scp -r /opt/kafka/zookeeper-3.4.9 root@node3:/opt/kafka/zookeeper-3.4.9
  8. 分别在其他机器上运行
    echo "2" > /opt/kafka/zookeeper-3.4.9/data/myid
    echo "3" > /opt/kafka/zookeeper-3.4.9/data/myid
    要保证每一台的myid文件里的内容都不一样
  9. 在每一台机子上启动zk
    /opt/kafka/zookeeper-3.4.9/bin/zkServer.sh start
  10. 检查zk状况
    /opt/kafka/zookeeper-3.4.9/bin/zkServer.sh status
    如图类似的信息则正常开启

2.2安装kafka

  1. 下载kafka安装包 下载地址
  2. 上传安装包到一台机子上
  3. 解压
    tar -zxvf /opt/kafka/kafka_2.10-0.10.1.0.tgz
  4. 建立kafka日志存放文件夹
    mkdir /opt/kafka/kafka_2.10-0.10.1.0/kafkalogs
  5. 修改配置文件
    vi /opt/kafka/kafka_2.10-0.10.1.0/config/server.properties
    修改内容为:
    `# log.dirs=/tmp/kafka-logs
    log.dirs=/opt/kafka/kafka_2.10-0.10.1.0/kafkalogs

zookeeper.connect=localhost:2181

zookeeper.connect=node1:2181,node4:2181,node8:2181
`
6. 将kafka文件夹发到其他机子上

scp -r /opt/kafka/kafka_2.10-0.10.1.0 root@node2:/opt/kafka/kafka_2.10-0.10.1.0 scp -r /opt/kafka/kafka_2.10-0.10.1.0 root@node3:/opt/kafka/kafka_2.10-0.10.1.0

  1. 在其他机器上更改broker.id
    vi /opt/kafka/kafka_2.10-0.10.1.0/config/server.properties
    把broker.id改成其他数字,每台机子不能一样
  2. 启动kafka
    cd /opt/kafka/kafka_2.10-0.10.1.0 bin/kafka-server-start.sh config/server.properties &
    如图类似的信息则正常开启

三.遇到的问题及解决

问题:

A broker is already registered on the path /brokers/ids/0.

解决

配置文件里存在broker.id重复,检查一下每一台的broker.id是否与其他机器的broker.id不一样

问题

Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka : Unsupported major.minor version 51.0

解决

jdk版本不对,我用的kafka版本:2.10-0.10.1.0 对应jdk版本:1.7 不能用1.6

问题

ERROR Processor got uncaught exception. (kafka.network.Processor)
java.nio.BufferUnderflowException

解决

客户端的jar包和集群的版本号在小版本不一致,注意客户端的jar包不只要大版本一致,还要小版本完全一致,不一致的时候报的错不只这个.

posted @ 2016-12-26 11:02  渚之汐酱  阅读(649)  评论(0编辑  收藏  举报