Kafka从上手到实践-实践真知:搭建单机Kafka

这一节介绍如何在Linux服务器上搭建单机Kafka。

租赁服务器

为了更加真实,本小册的实践内容都搭建在云服务器上。可以在阿里云或者腾讯云租赁服务器,如果想租赁国外的服务器,可以在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。希望能给小伙伴们带来帮助。

分享到: