赞
踩
凌云时刻 · 技术
导读:这一节介绍如何在Linux服务器上搭建单机Kafka。
作者 | 计缘
来源 | 凌云时刻(微信号:linuxpk)
租赁服务器
为了更加真实,本小册的实践内容都搭建在云服务器上。可以在阿里云或者腾讯云租赁服务器,如果想租赁国外的服务器,可以在Vultr租赁。我选择在阿里云租赁了一台Linux服务器。配置不需要太高,入门级的就可以,系统可以选择CentOS或者Ubuntu。
注意:在配置ECS时,宽带计费方式要选择按量计费,这样可以自动分配公网IP,并且价格实惠。
安装JDK
使用终端登录服务器,首先安装JDK:
- apt update
- apt install openjdk-8-jdk
下载Kafka
然后去Kafka官网下载2.0.0版本的Kafka,Scala版本为2.12(kafka_2.12-2.0.0.tgz)。解压:
tar -xvf kafka_2.12-2.0.0.tgz
解压完之后,将Kafka的bin目录配置到PATH中:
export PATH=/root/kafka_2.12-2.0.0/bin:$PATH
(左右滑动查看代码)
配置Kafka
接下来进行最基本的配置。我们需要创建三个目录,用来存放Zookeeper和Kafka的数据:
/root/kafka_2.12-2.0.0/data
/root/kafka_2.12-2.0.0/data/zookeeper
/root/kafka_2.12-2.0.0/data/kafka
然后更新Zookeeper配置文件(/root/kafka_2.12-2.0.0/config/zookeeper.properties
)中的Data路径(dataDir
)为/root/kafka_2.12-2.0.0/data/zookeeper
。
接着更新Kakfa Broker配置文件(/root/kafka_2.12-2.0.0/config/server.properties
)中的日志路径(log.dirs
)为/root/kafka_2.12-2.0.0/data/kafka
设置阿里云ECS安全组规则
最后我们要对阿里云ECS进行一些配置,才可以让本地的Kafka Client通过外网IP连接到部署在ECS上的Kafka。
打开阿里云控制台/云服务器ECS/实例,在更多选项里选择网络和安全组/安全组配置:
然后进入配置规则:
添加安全组规则:
因为是自己用的,所以为了方便起见,将授权对象设置为0.0.0.0/0
:
设置完ECS之后,我们还需要配置一下Kafka Broker的信息,打开config/server.properties
文件,添加如下信息:
advertised.listeners=PLAINTEXT://ECS外网IP:9092
(左右滑动查看代码)
advertised.listeners
这个属性的作用是告诉Zookeeper,该Broker将以这里配置的IP作为Host。这样,本地Kafka Client就可以通过ECS的外网IP连接到Broker了。
启动Kafka
在上文中,我们知道Kafka离开Zookeeper是玩不转的,所以首先要启动Zookeeper:
/root/kafka_2.12-2.0.0/bin/zookeeper-server-start.sh config/zookeeper.properties
(左右滑动查看代码)
然后再启动Kafka Broker:
/root/kafka_2.12-2.0.0/bin/kafka-server-start.sh config/server.properties &
(左右滑动查看代码)
至此,Kafka最基本的搭建和启动就成功了。
总结
这一章节介绍了如何使用Linux服务器搭建单机Kafka,因为后续的Kafka CLI要基于单机Kafka进行实操。所以希望大家都能自己动手先搭建单机Kafka。希望能给小伙伴们带来帮助。
END
往期精彩文章回顾
Kafka从上手到实践 - 庖丁解牛:Topic & Broker | 凌云时刻
长按扫描二维码关注凌云时刻
每日收获前沿技术与科技洞见
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。