安装kafka之前先安装zookeeper。

配置DNS解析:

cat > /etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.51 zookeeper1
192.168.0.52 zookeeper2
192.168.0.53 zookeeper3
192.168.0.57 kafka1
192.168.0.58 kafka2
192.168.0.59 kafka3
EOF

配置免秘钥:

ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub root@kafka1
ssh-copy-id -i .ssh/id_rsa.pub root@kafka2
ssh-copy-id -i .ssh/id_rsa.pub root@kafka3

安装java:

tar -xf jdk-8u231-linux-x64.tar.gz -C /usr/local/
 
cd /usr/local/
ln -sv jdk1.8.0_231/ jdk
 
cat > /etc/profile.d/java.sh <<EOF
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=\$JAVA_HOME/jre
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib
export PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin
EOF
. /etc/profile.d/java.sh

java -version
javac -version

下载安装包:包的前面是对应scala的版本后面的2.3.0才是kafka的版本。

wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz

复制安装包:

scp kafka_2.12-2.3.0.tgz root@kafka1:/root

解压安装:

tar -xf kafka_2.12-2.3.0.tgz -C /usr/local/
cd /usr/local/
ln -sv kafka_2.12-2.3.0/ kafka

设置环境变量:

cat > /etc/profile.d/kafka.sh <<EOF
KAFKA_HOME=/usr/local/kafka
PATH=\$PATH:\$KAFKA_HOME/bin
EOF
. /etc/profile.d/kafka.sh

普通用户环境变量:

cat >> ~/.bashrc <<EOF
export KAFKA_HOME=/usr/local/kafka
export PATH=\$PATH:\$KAFKA_HOME/bin
EOF
. ~/.bashrc

创建日志目录:

mkdir /usr/local/kafka/logs

修改配置:

cd /usr/local/kafka/config
vim server.properties

kafka1的server.properties:不是追加是修改如下几项

broker.id=0
listeners=PLAINTEXT://kafka1:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181

kafka2的server.properties:

broker.id=1
listeners=PLAINTEXT://kafka2:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181

kafka3的server.properties:

broker.id=2
listeners=PLAINTEXT://kafka3:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181

修改属组属主:

chown -R hadoop.hadoop  /usr/local/kafka/ /usr/local/kafka

启动kafka:到各节点分别启动kafka。

./kafka-server-start.sh ../config/server.properties &

查看运行的进程:

]$ jps
28493 Kafka
...

停止kafka:

cd /usr/local/kafka/bin/
./kafka-server-stop.sh