kafka简易搭建入门

1. 安装 Java 环境

进入 /usr/lib 文件夹下

cd /usr/lib

创建 jvm 文件夹

sudo mkdir jvm
  • Windows 上下载 jdk1.8 安装包下载链接——提取码:6fat
  • 解压缩到 jvm 文件夹中
sudo tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/lib/jvm
  • 编辑环境变量文件
vim ~/.bashrc
  • 在文件头添加如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  • 保存后退出,并让 bashrc 文件重新生效
source ~/.bashrc
  • 输入命令查看 Java 是否配置成功,显示如下即表示成功了
java -version

2.下载Kafka

打开链接下载kafka的tgz安装包
然后解压并进入kafka路径下,

 tar -xzf kafka_2.12-2.4.0.tgz
 cd kafka_2.12-2.4.0

现版本的kafka中已经集成了zookeeper不需要单独安装。
启动服务

使用Kafka之前需要先启动一个ZooKeeper服务,这里直接使用Kafka中包含的脚本即可,

 bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

注意-deamon表示后台运行
启动ZooKeeper服务之后再启动Kafka服务,

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

需要强调一下,config/server.properties是Kafka的配置文件,可以用于配置监听的host、port、broker等。

默认的ZooKeeper连接服务为localhost:2181,

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=localhost:2181

另外,producer和consumer的监听端口为9092,如果需要更改server的host和port端口可以通过修改config/server.properties进行配置。

3.Kafka使用

命令行
需要注意的是,kafka的使用是建立在前面搭建的基础之上的,也就是说需要首先在集群上启动ZooKeeper和Kafka服务。

命令行的使用方式相对简单,通过前面的Kafka配置之后可以直接在命令行下进行使用。

  1. 创建Topic

使用Kafka,我们首先需要创建一个Topic,这样后续消息生产者和消息消费者才能针对性的发送和消费数据,

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
这样我们就创建了一个名为test的Topic。

我们也可以通过命令来查看我们已经创建的 Topic,

bin/kafka-topics.sh --list --zookeeper localhost:2181
test

  1. 发送消息

前面介绍Kafka专业术语中已经阐述,Kafka使用过程中首先需要消息生产者发送消息,那么消费者才可以读取到消息。

启动一个终端A,执行下面命令,

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
hello world

当执行producer脚本后,会出现消息输入提示符,这是我们可以输入消息(数据),然后它会发送到对应的服务器(Broker)。

  1. 消费消息

现在管道中已经有了数据,接下来我就可以使用消费者去读取数据。

另外启动一个终端B,执行下面命令,

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
hello world
可以看到,消息消费者一直处于监听状态,每当在终端A输入一条消息,终端B也会更新一条消息。

Offset Explorer ( Kafka消息可视化工具)配置连接

如果是在云服务器中,需要外网访问,则需要配置advertised.listeners,这里需要注意,不然Offset Explorer会连接不上
如果是内网中访问,不需要配置advertised.listeners等,但需要配置Advanced里的9092地址

你可能感兴趣的:(kafka,jvm,java)