kafka集群搭建

  1. 服务器基本信息

ip地址 安装服务
10.0.0.52 zookeeper-3.4.10、kafka2.10、kafka-manager
10.0.0.53 zookeeper-3.4.10、kafka2.10
10.0.0.54 zookeeper-3.4.10、kafka2.10

2.环境信息

2.1 JDK
http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
2.2 zookeeper(zookeeper-3.4.10)
http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

3.安装jdk(三台主机上执行)

3.1配置java环境
cd /usr/loca/src/
tar -C /usr/local/ -xzf /usr/local/src/jdk-8u111-linux-x64.tar.gz

3.2配置java变量

vim /etc/profile

添加如下信息:

export JAVA_HOME=/usr/local/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.3刷新配置文件:
source /etc/profile

4.安装zookeeper(三台主机上执行)

4.1 安装zookeeper
cd /usr/local/src/
tar -C /usr/local/ -xzf zookeeper-3.4.10.tar.gz
cd /usr/local/zookeeper-3.4.10
ln -s zookeeper-3.4.10 zookeeper
4.2生成配置文件
cd /usr/local/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
4.3修改zookeeper配置文件
vim /usr/local/zookeeper/conf/zoo.cfg
maxClientCnxns=60
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/logs/zookeeper
clientPort=2181
server.1=10.0.0.52:2888:3888
server.2=10.0.0.53:2888:3888
server.3=10.0.0.54:2888:3888
2888表示zookeeper程序监听端口,3888表示zookeeper选举通信端口。
4.4 创建所需文件夹
mkdir -p /data/zookeeper/data
mkdir -p /data/logs/zookeeper
4.5 生成myid

主机(10.0.0.52)

echo "1" >/data/zookeeper/data/myid ##生成ID,这里需要注意, myid对应的zoo.cfg的server.ID,比如第二台zookeeper主机对应的myid应该是2

主机(10.0.0.53)

echo "2" >/data/zookeeper/data/myid

主机(10.0.0.54)

echo "3" >/data/zookeeper/data/myid
4.6 启动zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh start#
4.7 关闭zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh stot
4.8 查看zk状态
cd /usr/local/zookeeper/bin
./zkServer.sh status
4.9 查看相关信息
/usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
  1. 安装kafka(三台主机上执行)
    5.1 安装kafka
cd /usr/local/src
tar zxvf kafka_2.10-0.10.2.1.tgz
mv kafka_2.10-0.10.2.1 /usr/local/kafka
5.2 修改配置文件
vim /usr/local/kafka/config/server.properties
具体参数如下:
# 每台服务器的broker.id都不能相同
broker.id=1 

# 端口
port=19092

# 主机名
host.name=10.0.0.52

# 是否可以删除topic
delete.topic.enable=true

# 具体一些参数
log.retention.hours=168 
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880

# 设置zookeeper集群地址与端口
zookeeper.connect=10.0.0.52:2181,10.0.0.53:2181,10.0.0.54:2181
5.3 启动kafka(三台)
cd /data/kafka/kafka_2.12-0.11.0.0/bin 
./kafka-server-start.sh -daemon ../config/server.properties &
5.4 创建topic
/kafka-topics.sh --create --zookeeper 10.0.0.52:2181,10.0.0.53:2181,10.0.0.54:2181 --replication-factor 2 --partitions 1 --topic tttt
参数解释:
复制两份
--replication-factor 2
创建1个分区
--partitions 1
topic 名称
--topic tttt
5.5 查看已经存在的topic
./kafka-topics.sh --list --zookeeper 10.0.0.52:2181,10.0.0.53:2181,10.0.0.54:2181