环境信息
节点名称 |
IP地址 |
服务 |
node01 |
192.168.1.11 |
zookeeper、kafka |
node02 |
192.168.1.12 |
zookeeper、kafka |
node03 |
192.168.1.13 |
zookeeper、kafka |
JDK
配置jdk
tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local
cat /etc/profile.d/java.sh << EOF export JAVA_HOME=/usr/local/jdk1.8.0_212 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH EOF bash java -version
|
zookeeper
安装zk
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /data mv /data/apache-zookeeper-3.7.1-bin/ /data/apache-zookeeper-3.7.1 cd /data/apache-zookeeper-3.7.1 cp conf/zoo_sample.cfg conf/zoo.cfg
|
编辑配置文件
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data/apache-zookeeper-3.7.1/data clientPort=2181 server.0=82.221.25.42:2888:3888 server.1=82.221.25.43:2888:3888 server.2=82.221.25.44:2888:3888
|
创建myid,每个节点id不一样,且要和配置文件中server.<id>
保持一致
mkdir -p /data/apache-zookeeper-3.7.1/data echo 2 > /data/apache-zookeeper-3.7.1/data/myid
|
注册systemd
cat > /etc/systemd/system/zookeeper.service << EOF [Unit] Description=ZooKeeper Service After=network.target
[Service] Type=forking Environment="JAVA_HOME=${JAVA_HOME}" ExecStart=/data/apache-zookeeper-3.7.1/bin/zkServer.sh start ExecStop=/data/apache-zookeeper-3.7.1/bin/zkServer.sh stop Restart=on-failure RestartSec=10
[Install] WantedBy=multi-user.target EOF
|
启动服务
systemctl daemon-reload systemctl enable zookeeper systemctl start zookeeper systemctl status zookeeper
|
创建环境变量
cat > /etc/profile.d/zookeeper.sh << 'EOF' #!/bin/bash export ZOOKEEPER_HOME=/data/apache-zookeeper-3.7.1 export PATH=${ZOOKEEPER_HOME}/bin:$PATH EOF source /etc/profile
|
Kafka
下载安装包
https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz tar xf kafka_2.12-2.2.1.tgz -C /data
|
编辑配置文件server.properties
broker.id=0 listeners=PLAINTEXT://:9092 log.dirs=/data/kafka_2.12-2.2.1/logs default.replication.factor=3 zookeeper.connect=192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 auto.create.topics.enable=true
|
创建log目录
mkdir -p /data/kafka_2.12-2.2.1/logs
|
注册systemd
cat > /etc/systemd/system/kafka.service << EOF [Unit] Description=Kafka Service After=network.target
[Service] Type=forking Environment="JAVA_HOME=${JAVA_HOME}" ExecStart=/data/kafka_2.12-2.2.1/bin/kafka-server-start.sh -daemon /data/kafka_2.12-2.2.1/config/server.properties ExecStop=/data/kafka_2.12-2.2.1/bin/kafka-server-stop.sh Restart=on-failure
[Install] WantedBy=multi-user.target EOF
|
启动服务
systemctl start kafka systemctl enable kafka systemctl status kafka
|
查看默认topic
kafka-topics.sh --list --bootstrap-server localhost:9092
|
查看topic信息
kafka-topics.sh --describe --topic taskStatusMessage --bootstrap-server localhost:9092
|
创建topic
kafka-topics.sh --create --topic <topic_name> --bootstrap-server localhost:9092 --partitions 9 --replication-factor 3
|