Kafka集群安装

集群规划

主机IPzookeeperkafka
centos7-1192.168.3.51zk1kafka1
centos7-2192.168.3.52zk2kafka2
centos7-3192.168.3.53zk3kafka3

修改主机hosts文件

vi /etc/hosts

在文件最后添加内容:

192.168.3.51 kafka1 zk1
192.168.3.52 kafka2 zk2
192.168.3.53 kafka3 zk3

集群部署

下载地址:http://kafka.apache.org/downloads.html

部署

  1. 上传安装包 kafka_2.12-3.0.0.tgz 到服务器
[vagrant@localhost ~]$ ll
total 276772
drwxrwxr-x. 8 vagrant vagrant       158 Jan  2 15:24 apache-zookeeper-3.5.7-bin
-rw-rw-r--. 1 vagrant vagrant   9311744 Jan  2 14:56 apache-zookeeper-3.5.7-bin.tar.gz
drwxrwxr-x. 8 vagrant vagrant        96 Jan  2 15:12 jdk-11
-rw-rw-r--. 1 vagrant vagrant  86486610 Jan 16 02:04 kafka_2.12-3.0.0.tgz
-rw-rw-r--. 1 vagrant vagrant 187611826 Jan  2 15:11 openjdk-11+28_linux-x64_bin.tar.gz
  1. 解压安装包
[vagrant@localhost ~]$ tar -zxvf kafka_2.12-3.0.0.tgz
  1. 解压后cd进入kafka目录
[vagrant@localhost ~]$ cd kafka_2.12-3.0.0/
[vagrant@localhost kafka_2.12-3.0.0]$ ll
total 64
drwxr-xr-x. 3 vagrant vagrant  4096 Sep  8 21:24 bin
drwxr-xr-x. 3 vagrant vagrant  4096 Sep  8 21:24 config
drwxr-xr-x. 2 vagrant vagrant  8192 Jan 16 02:04 libs
-rw-r--r--. 1 vagrant vagrant 14521 Sep  8 21:21 LICENSE
drwxr-xr-x. 2 vagrant vagrant   262 Sep  8 21:24 licenses
-rw-r--r--. 1 vagrant vagrant 28184 Sep  8 21:21 NOTICE
drwxr-xr-x. 2 vagrant vagrant    44 Sep  8 21:24 site-docs
  1. 创建data目录
cd /home/vagrant/kafka_2.12-3.0.0
mkdir /home/vagrant/kafka_2.12-3.0.0/data
  1. 修改配置文件:
vi server.properties

注意修改下面几项

以第二台机器为例

修改

broker.id=1
#listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181

为:

broker.id=1
listeners=PLAINTEXT://192.168.3.51:9092
log.dirs=/home/vagrant/kafka_2.12-3.0.0/data
zookeeper.connect=192.168.3.51:2181,192.168.3.52:2181,192.168.3.53:2181/kafka

上面其中一项,listeners=PLAINTEXT://:9092 官方默认的配置文件中是注释掉的,也就是没有配置,集群是可以启动的,但是你去访问集群,比如创建一个topic:bin/kafka-topics.sh --bootstrap-server 192.168.3.51:9092 --create --partitions 1 --replication-factor 3 --topic first 就会超时报错:

Error while executing topic command : Timed out waiting for a node assignment. Call: createTopics
[2022-02-19 02:31:33,740] ERROR org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: createTopics
 (kafka.admin.TopicCommand$)

修改好配置后,cd进入bin目录启动kafka服务

cd /home/vagrant/kafka_2.12-3.0.0/bin

[vagrant@localhost bin]$ ll
total 160
-rwxr-xr-x. 1 vagrant vagrant  1423 Sep  8 21:21 connect-distributed.sh
-rwxr-xr-x. 1 vagrant vagrant  1396 Sep  8 21:21 connect-mirror-maker.sh
-rwxr-xr-x. 1 vagrant vagrant  1420 Sep  8 21:21 connect-standalone.sh
-rwxr-xr-x. 1 vagrant vagrant   861 Sep  8 21:21 kafka-acls.sh
-rwxr-xr-x. 1 vagrant vagrant   873 Sep  8 21:21 kafka-broker-api-versions.sh
-rwxr-xr-x. 1 vagrant vagrant   860 Sep  8 21:21 kafka-cluster.sh
-rwxr-xr-x. 1 vagrant vagrant   864 Sep  8 21:21 kafka-configs.sh
-rwxr-xr-x. 1 vagrant vagrant   945 Sep  8 21:21 kafka-console-consumer.sh
-rwxr-xr-x. 1 vagrant vagrant   944 Sep  8 21:21 kafka-console-producer.sh
-rwxr-xr-x. 1 vagrant vagrant   871 Sep  8 21:21 kafka-consumer-groups.sh
-rwxr-xr-x. 1 vagrant vagrant   948 Sep  8 21:21 kafka-consumer-perf-test.sh
-rwxr-xr-x. 1 vagrant vagrant   871 Sep  8 21:21 kafka-delegation-tokens.sh
-rwxr-xr-x. 1 vagrant vagrant   869 Sep  8 21:21 kafka-delete-records.sh
-rwxr-xr-x. 1 vagrant vagrant   866 Sep  8 21:21 kafka-dump-log.sh
-rwxr-xr-x. 1 vagrant vagrant   863 Sep  8 21:21 kafka-features.sh
-rwxr-xr-x. 1 vagrant vagrant   865 Sep  8 21:21 kafka-get-offsets.sh
-rwxr-xr-x. 1 vagrant vagrant   870 Sep  8 21:21 kafka-leader-election.sh
-rwxr-xr-x. 1 vagrant vagrant   863 Sep  8 21:21 kafka-log-dirs.sh
-rwxr-xr-x. 1 vagrant vagrant   873 Sep  8 21:21 kafka-metadata-shell.sh
-rwxr-xr-x. 1 vagrant vagrant   862 Sep  8 21:21 kafka-mirror-maker.sh
-rwxr-xr-x. 1 vagrant vagrant   959 Sep  8 21:21 kafka-producer-perf-test.sh
-rwxr-xr-x. 1 vagrant vagrant   874 Sep  8 21:21 kafka-reassign-partitions.sh
-rwxr-xr-x. 1 vagrant vagrant   874 Sep  8 21:21 kafka-replica-verification.sh
-rwxr-xr-x. 1 vagrant vagrant 10587 Sep  8 21:21 kafka-run-class.sh
-rwxr-xr-x. 1 vagrant vagrant  1376 Sep  8 21:21 kafka-server-start.sh
-rwxr-xr-x. 1 vagrant vagrant  1361 Sep  8 21:21 kafka-server-stop.sh
-rwxr-xr-x. 1 vagrant vagrant   860 Sep  8 21:21 kafka-storage.sh
-rwxr-xr-x. 1 vagrant vagrant   945 Sep  8 21:21 kafka-streams-application-reset.sh
-rwxr-xr-x. 1 vagrant vagrant   863 Sep  8 21:21 kafka-topics.sh
-rwxr-xr-x. 1 vagrant vagrant   879 Sep  8 21:21 kafka-transactions.sh
-rwxr-xr-x. 1 vagrant vagrant   958 Sep  8 21:21 kafka-verifiable-consumer.sh
-rwxr-xr-x. 1 vagrant vagrant   958 Sep  8 21:21 kafka-verifiable-producer.sh
-rwxr-xr-x. 1 vagrant vagrant  1714 Sep  8 21:21 trogdor.sh
drwxr-xr-x. 2 vagrant vagrant  4096 Sep  8 21:21 windows
-rwxr-xr-x. 1 vagrant vagrant   867 Sep  8 21:21 zookeeper-security-migration.sh
-rwxr-xr-x. 1 vagrant vagrant  1393 Sep  8 21:21 zookeeper-server-start.sh
-rwxr-xr-x. 1 vagrant vagrant  1366 Sep  8 21:21 zookeeper-server-stop.sh
-rwxr-xr-x. 1 vagrant vagrant  1019 Sep  8 21:21 zookeeper-shell.sh
  1. 启动
/home/vagrant/kafka_2.12-3.0.0/bin/kafka-server-start.sh -daemon /home/vagrant/kafka_2.12-3.0.0/config/server.properties

[vagrant@localhost bin]$ jps
2434 QuorumPeerMain
6356 Jps
6333 Kafka

kafka服务启动成功

也可以查看日志

tail -f -n 500 /home/vagrant/kafka_2.12-3.0.0/logs/server.log
  1. 停止
/home/vagrant/kafka_2.12-3.0.0/bin/kafka-server-stop.sh

配置环境变量

vi /etc/profile
----------------------------------------------------------------------------------
末尾增加如下内容(根据自己目录修改)export KAFKA_HOME=/home/vagrant/kafka_2.12-3.0.0
export PATH=$KAFKA_HOME/bin:$PATH
----------------------------------------------------------------------------------
 
source /etc/profile   # 使配置文件生效

环境变量配置好后,就可以在命令行任意位置执行 /home/vagrant/kafka_2.12-3.0.0/bin 下面的sh脚本了,不然需要带绝对路径。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值