zookeeper+kafka集群搭建

一、软件准备

  1. centos6.9
  2. Jdk1.8
  3. kafka_2.11-0.10.0.0
  4. Zookeeper 3.4.8

二、网络配置(所有节点)
修改hosts


重启生效
三、关闭防火墙(所有节点)
临时关闭防火墙

service iptables stop

四、免密登录配置

五、安装JDK(所有节点)

  1. 卸载自带的jdk
  2. 解压安装jdk1.8

六、ntp配置

七、安装zookeeper

  1. 在/opt中创建zookeeper项目目录
#项目目录
mkdir /opt/zookeeper
#存放快照日志
mkdir /opt/zookeeper/zkdata
#存放事物日志
mkdir /opt/zookeeper/zkdatalog
  1. 解压
tar -zxvf zookeeper-3.4.8.tar.gz -C /opt/zookeeper/
  1. 修改配置文件
cd /opt/zookeeper/zookeeper-3.4.8/con

复制一份配置文件

cp zoo_sample.cfg zoo.cfg

修改配置文件,配置自动清理时间为72小时,保留文件数为3个


将zookeeper解压文件分发到各个节点

scp -r /opt/zookeeper/zookeeper-3.4.8 noahdata05:/opt/zookeeper/
scp -r /opt/zookeeper/zookeeper-3.4.8 noahdata06:/opt/zookeeper/
  1. 创建myid文件
#server1
echo "1" > /opt/zookeeper/zkdata/myid 
#server2
echo "2" > /opt/zookeeper/zkdata/myid
#server3 
echo "3" > /opt/zookeeper/zkdata/myid
  1. 启动服务(所有节点)
/opt/zookeeper/zookeeper-3.4.8/bin/zkServer.sh start

出现错误

解决方法:临时关闭防火墙

service iptables stop
  1. 查看状态
/opt/zookeeper/zookeeper-3.4.8/bin/zkServer.sh status

到此zookeeper安装完成。
八、kafka安装

  1. 解压
tar -zxvf kafka_2.11-0.10.0.0.tgz -C /opt/kafka

创建kafka日志存放文件,并赋予权限

mkdir /opt/kafka/kafkalogs
chmod 777 /opt/kafka/kafkalogs
  1. 修改配置文件
vi /opt/kafka/kafka_2.11-0.10.0.0/config/server.properties

实际修改项:

broker.id=0  #每台服务器的broker.id都不能相同
host.name=your_ip
advertised.host.name=your_ip(注意:如果使用云主机,该监听地址需要配置成外网映射ip,否则kafka将无法接收外部生产的数据)
advertised.port=9092
#在log.retention.hours=168 下面新增下面三项  
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
#设置zookeeper的连接端口
zookeeper.connect=noahdata04:12181,noahdata05:12181,noahdata06:12181

将配置好的文件分发到各个节点,进行修改

  1. 启动服务
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-0.10.0.0/config/server.properties &
  1. 测试
    创建topic
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-topics.sh --create --topic mytest --replication-factor 2 --partitions 2 --zookeeper noahdata04:12181,noahdata05:12181,noahdata06:12181

查看topic

/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-topics.sh --list --zookeeper noahdata04:12181,noahdata05:12181,noahdata06:12181

发送消息

/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-console-producer.sh --broker-list noahdata04:9092 --sync --topic mytest

接受消息,在另一个节点上查看

/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh --zookeeper noahdata04:12181,noahdata05:12181,noahdata06:12181 --topic mytest --from-beginning

你可能感兴趣的:(zookeeper+kafka集群搭建)