Kafka【环境搭建 01】kafka_2.12-2.6.0 单机版安装+参数配置及说明+添加到service服务+开机启动配置+验证+chkconfig配置说明(一篇入门kafka)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【2月更文挑战第19天】Kafka【环境搭建 01】kafka_2.12-2.6.0 单机版安装+参数配置及说明+添加到service服务+开机启动配置+验证+chkconfig配置说明(一篇入门kafka)

使用的安装文件是kafka_2.12-2.6.0.tgz,以下内容均以此版本进行说明。

1.部署Kafka

安装文件kafka_2.12-2.6.0.tgz,前面的2.12就是该kafka所支持的Scala版本号,后面的2.6.0是Kafka自身的版本号,而kafka的运行依赖JDK和ZooKeeper,ZooKeeper的部署安装可参考《ZooKeeper 3.6.2 安装配置》

# JDK版本 官网【NOTE: Your local environment must have Java 8+ installed.】
[root@tcloud bin]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

# ZooKeeper版本 官网【Note: Soon, ZooKeeper will no longer be required by Apache Kafka.】
[root@tcloud /]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0] version
ZooKeeper CLI version: 3.6.0--b4c89dc7f6083829e18fae6e446907ae0b1f22d7, built on 02/25/2020 14:38 GMT

kafka安装:也可参考官网《kafka_2.13-2.8.0 quickstart》官网网速可不 quick :snail:

1.1 安装

# 在安装文件目录解压并移动到/usr/local/kafka目录下
tar -zxvf kafka_2.12-2.6.0.tgz
mv ./kafka_2.12-2.6.0/ /usr/local/kafka

1.2 配置

配置环境变量:配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内。

vim /etc/profile.d/my_env.sh
# 添加 KAFKA_HOME和bin
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
# 使得配置的环境变量立即生效:
    # 首先是要赋权限【只操作一次就行】
    chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh
# 3.验证是否生效
echo ${KAFKA_HOME}
/usr/local/kafka

kafka配置文件:进入${KAFKA_HOME}/config/,修改server.properties配置文件。

vim ${KAFKA_HOME}/config/server.properties

# 内网配置(不需要配置 advertised.listeners)
listeners=PLAINTEXT://localhost:9092

# 外网配置(advertised.listeners 对外暴露端口)
listeners=PLAINTEXT://localhost:9092
advertised.listeners=LAINTEXT://ip:port

1.3 启动

命令启动:

# kafka服务命令
kafka-server-start.sh [-daemon] server.properties [--override property=value]*
# 要保证zookeeper服务已启动再启动kafka服务
kafka-server-start.sh /usr/local/kafka/config/server.properties

1.4 添加到系统服务并配置开机启动:

# 1.添加文件
vim /etc/rc.d/init.d/kafka
# ------------文件内容------------
# chkconfig的配置参数启动服务的优先等级要低于zookeeper停止服务的优先等级要高于zookeeper
#!/bin/bash
# chkconfig: 3456 30 70
# description: service kafka
# processname: kafka
export JAVA_HOME=/usr/local/java
KAFKA_HOME=/usr/local/kafka
case $1 in
    start) ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties;;
    stop) ${KAFKA_HOME}/bin/kafka-server-stop.sh;;
    status) ${JAVA_HOME}/bin/jps | grep Kafka;;
    restart) ${KAFKA_HOME}/bin/kafka-server-stop.sh
             ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties;;
    *) echo "require start|stop|status|restart";;
esac

# 2.赋执行权并添加开启开机自启
chmod +x /etc/rc.d/init.d/kafka
chkconfig --add /etc/rc.d/init.d/kafka
chkconfig kafka on
# 查看kafka是否添加成功
chkconfig --list kafka
kafka           0:off   1:off   2:on    3:on    4:on    5:on    6:off

# 3.服务命令
service kafka start
service kafka stop
...

# 如果防火墙未关闭则需要开启外网端口
firewall-cmd --zone=public --add-port=9092/tcp --permanent && firewall-cmd --reload

kafka安装结束,是不是很惊讶!就是这么 quick :zap:

2.启动Kafka【需要一个终端窗口】

  1. 首先要启动zookeeper服务端
    ```shell
    [root@tcloud ~]# zkServer.sh start

查看是否启动

[root@tcloud ~]# jps -l
26180 org.apache.zookeeper.server.quorum.QuorumPeerMain

2. 启动Kafka服务
```shell
# 修改config/server.properties配置文件【默认配置 也可以不修改】
listeners=PLAINTEXT://:9092
advertised.listeners=LAINTEXT://tcloud:9092

# 启动kafka服务【不要关闭这个终端窗口 一旦关闭Kafka服务也就停止了 这个终端暂命名为A】
[root@tcloud ~]# kafka-server-start.sh /usr/local/kafka/config/server.properties 

# 【打开新的终端窗口 这个终端暂命名为B】查看是否启动
[root@tcloud ~]# jps -l
28496 kafka.Kafka

3.测试kafka是否正常工作【需要两个终端窗口】

在终端窗口B或新打开的窗口【只要不关闭终端窗口A就行】,输入下面命令创建一个自定义名称的topic:

# 创建主题
[root@tcloud ~]# kafka-topics.sh --zookeeper localhost:2181 --create --topic yuan --replication-factor 1 --partitions 1
Created topic yuan.

# 查看主题列表
[root@tcloud ~]# kafka-topics.sh --zookeeper localhost:2181 --list
yuan

# 查看主题的详情信息
[root@tcloud ~]# kafka-topics.sh --zookeeper localhost:2181 --describe --topic yuan
Topic: yuan     PartitionCount: 1       ReplicationFactor: 1    Configs:
        Topic: yuan     Partition: 0    Leader: 0       Replicas: 0     Isr: 0

--zookeeper: 指定Kafka所连接的zookeeper服务地址

--create:创建主题的动作指令

--topic:指定创建主题的名称

--replicate-factor:指定副本因子

--partitions:指定分区个数

【在终端窗口B】用生产者(Producer)来产生一些数据,命令如下:

[root@tcloud ~]# kafka-console-producer.sh --broker-list tcloud:9092 --topic yuan
>hello
>kafka

【打开新的终端窗口 暂命名为C】启动消费者,来查看刚才生产者产生的数据,命令如下:

[root@tcloud ~]# kafka-console-consumer.sh --bootstrap-server tcloud:9092 --topic yuan --from-beginning --property print.key=true
null    hello
null    kafka

至此,kafka的单机版部署成功。

4.chkconfig配置说明

Linux chkconfig 命令用于检查,设置系统的各种服务。这是 Red Hat 公司遵循 GPL 规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

# 语法
chkconfig [--add][--del][--list][系统服务]chkconfig [--level <等级代号>][系统服务][on/off/reset]
  • --add  增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
  • --del  删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。
  • --level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕。
# 列出 chkconfig 所有的服务的情况或serviceName的服务情况
chkconfig --list [serviceName]
# 开启服务
chkconfig serviceName on 
# 关闭服务
chkconfig serviceName off

系统服务配置文件里的# chkconfig: 2345 10 90三个参数说明:

第一个参数,指定服务的运行级别。

0 关机
1 单用户模式
2 无网络支持的多用户模式
3 有网络支持的多用户模式
4 保留,未使用
5 有网络支持有X-Window支持的多用户模式
6 重新引导系统,即重启

第二个参数,指定启动服务的优先等级。第三个参数,指定停止服务的优先等级。特别注意:数值越大等级越低。

目录
相关文章
|
6天前
|
消息中间件 缓存 Kafka
Kafka ProducerConfig和ConsumerConfig配置
Kafka ProducerConfig和ConsumerConfig配置
|
6天前
|
消息中间件 分布式计算 Kafka
SparkStreaming(SparkStreaming概述、入门、Kafka数据源、DStream转换、输出、关闭)
SparkStreaming(SparkStreaming概述、入门、Kafka数据源、DStream转换、输出、关闭)(一)
|
4天前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之想要加快消费 Kafka 数据的速度,该怎么配置参数
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
17 2
|
6天前
|
消息中间件 存储 运维
Kafka重要配置参数全面解读(重要)
Kafka重要配置参数全面解读(重要)
57 0
|
6天前
|
消息中间件 JSON druid
Druid:通过 Kafka 加载流数据
Druid:通过 Kafka 加载流数据
44 0
|
6天前
|
消息中间件 存储 算法
深入了解Kafka的数据持久化机制
深入了解Kafka的数据持久化机制
46 0
|
6天前
|
消息中间件 Kafka Apache
Flink 提供了与 Kafka 集成的官方 Connector,使得 Flink 能够消费 Kafka 数据
【2月更文挑战第6天】Flink 提供了与 Kafka 集成的官方 Connector,使得 Flink 能够消费 Kafka 数据
76 2
|
1天前
|
消息中间件 数据采集 分布式计算
【数据采集与预处理】数据接入工具Kafka
【数据采集与预处理】数据接入工具Kafka
9 1
【数据采集与预处理】数据接入工具Kafka
|
2天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之使用 Event Time Temporal Join 关联多个 HBase 后,Kafka 数据的某个字段变为 null 是什么原因导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
21 0
|
2天前
|
SQL 消息中间件 Kafka
实时计算 Flink版操作报错合集之使用 Event Time Temporal Join 关联多个 HBase 后,Kafka 数据的某个字段变为 null 是什么原因导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
17 0

热门文章

最新文章