软件下载

JDK
Zookeeper
Kafka

  1. mkdir -p /opt/software
  2. cd /opt/software
  3. ls
  4. jdk-8u20-linux-x64.tar.gz kafka_2.11-2.1.1.tgz zookeeper-3.4.14.tar.gz

环境准备

cat /etc/hosts
192.168.4.151 centos76-01
192.168.4.149 centos76-02
192.168.4.148 centos76-03
systemctl stop firewalld
systemctl disable firewalld

安装配置JDK环境

解压安装JDK

tar zxf jdk-8u20-linux-x64.tar.gz -C /opt/
cd /opt
scp -r jdk1.8.0_20/ root@centos76-02:/opt/
scp -r jdk1.8.0_20/ root@centos76-03:/opt/

配置环境变量

vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_20
export JRE_HOME=/opt/jdk1.8.0_20/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile

需在三台机器上都操作。

安装配置Zookeeper

cd /opt/software/
tar zxf zookeeper-3.4.14.tar.gz -C /opt/
cd /opt/zookeeper-3.4.14/conf/
vi zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper-3.4.14/logs
clientPort=2181
server.1=192.168.4.151:2888:3888
server.2=192.168.4.149:2888:3888
server.3=192.168.4.148:2888:3888
cd ../
mkdir {data,logs}
cd ../
scp -r zookeeper-3.4.14/ root@centos76-02:/opt/
scp -r zookeeper-3.4.14/ root@centos76-03:/opt/
echo "1" > /opt/zookeeper-3.4.14/data/myid
    # 在centos76-01操作
echo "2" > /opt/zookeeper-3.4.14/data/myid
    # 在centos76-02操作
echo "3" > /opt/zookeeper-3.4.14/data/myid
    # 在centos76-03操作
/opt/zookeeper-3.4.14/bin/zkServer.sh start
    # 在三台机器分别按顺序启动服务
/opt/zookeeper-3.4.14/bin/zkServer.sh stop
    # 停止脚本
/opt/zookeeper-3.4.14/bin/zkServer.sh status
    # 查看状态
/opt/zookeeper-3.4.14/bin/zkCli.sh -server centos76-01:2181,centos76-02:2181,centos76-03:2181
    # 客户端工具

安装配置Kafka

cd /opt/software/
tar zxf kafka_2.11-2.1.1.tgz -C /opt/
mkdir -p /opt/kafka_2.11-2.1.1/kafka-logs
scp -r kafka_2.11-2.1.1/ root@centos76-02:/opt/
scp -r kafka_2.11-2.1.1/ root@centos76-03:/opt/

第一台机器配置:

cd /opt/kafka_2.11-2.1.1/config/
vim server.properties
    broker.id=1
    listeners=PLAINTEXT://centos76-01:9092
    host.name=centos76-01
    num.network.threads=3
    num.io.threads=8
    socket.send.buffer.bytes=102400
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    log.dirs=/opt/kafka_2.11-2.1.1/kafka-logs
    num.partitions=1
    num.recovery.threads.per.data.dir=1
    offsets.topic.replication.factor=1
    transaction.state.log.replication.factor=1
    transaction.state.log.min.isr=1
    log.retention.hours=168
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    zookeeper.connect=centos76-01:2181,centos76-02:2181,centos76-03:2181
    zookeeper.connection.timeout.ms=6000
    group.initial.rebalance.delay.ms=0

第二台机器配置:

cd /opt/kafka_2.11-2.1.1/config/
vim server.properties
    broker.id=2
    listeners=PLAINTEXT://centos76-02:9092
    host.name=centos76-02
    num.network.threads=3
    num.io.threads=8
    socket.send.buffer.bytes=102400
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    log.dirs=/opt/kafka_2.11-2.1.1/kafka-logs
    num.partitions=1
    num.recovery.threads.per.data.dir=1
    offsets.topic.replication.factor=1
    transaction.state.log.replication.factor=1
    transaction.state.log.min.isr=1
    log.retention.hours=168
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    zookeeper.connect=centos76-01:2181,centos76-02:2181,centos76-03:2181
    zookeeper.connection.timeout.ms=6000
    group.initial.rebalance.delay.ms=0

第三台机器配置:

cd /opt/kafka_2.11-2.1.1/config/
vim server.properties
    broker.id=3
    listeners=PLAINTEXT://centos76-03:9092
    host.name=centos76-03
    num.network.threads=3
    num.io.threads=8
    socket.send.buffer.bytes=102400
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    log.dirs=/opt/kafka_2.11-2.1.1/kafka-logs
    num.partitions=1
    num.recovery.threads.per.data.dir=1
    offsets.topic.replication.factor=1
    transaction.state.log.replication.factor=1
    transaction.state.log.min.isr=1
    log.retention.hours=168
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    zookeeper.connect=centos76-01:2181,centos76-02:2181,centos76-03:2181
    zookeeper.connection.timeout.ms=6000
    group.initial.rebalance.delay.ms=0

启动服务:

/opt/kafka_2.11-2.1.1/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-2.1.1/config/server.properties
    # 在三台机器操作

在其中一台机器(centos76-01)创建topic

/opt/kafka_2.11-2.1.1/bin/kafka-topics.sh --create --zookeeper centos76-01:2181 --replication-factor 3 --partitions 1 --topic test-topic

查看创建的topic信息

/opt/kafka_2.11-2.1.1/bin/kafka-topics.sh --describe --zookeeper centos76-01:2181 --topic test-topic
Topic:test-topic    PartitionCount:1    ReplicationFactor:3    Configs:
    Topic: test-topic    Partition: 0    Leader: 1    Replicas: 1,2,3    Isr: 1,2,3