Kafka安装与配置

2020-11-13  本文已影响0人  五月笙

当前操作系统信息如下:

[$] uname -a
Linux remer 4.15.0-118-generic #119-Ubuntu SMP Tue Sep 8 12:30:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[$] cat /etc/issue
Ubuntu 18.04.4 LTS \n \l

Kafka的运行环境需要设计到ZooKeeper,Kafka和ZooKeeper都是运行在JVM上的服务,所以首先需要安装JDK。

安装JDK

借助工具SDKMAN来安装JDK。SDKMAN是软件开发条件多版本管理工具,在基于Unix的系统上普遍使用,安装、使用很简单:

[$] curl -s "https://get.sdkman.io" | bash
[$] source "$HOME/.sdkman/bin/sdkman-init.sh"
[$] sdk version
==== BROADCAST =================================================================
* 2020-11-10: kscript 3.0.2 available on SDKMAN!
* 2020-11-10: kscript 3.0.1 available on SDKMAN!
* 2020-11-10: btrace 2.0.3 available on SDKMAN! https://github.com/btraceio/btrace/releases/download/v2.0.3/btrace-2.0.3-sdkman-bin.zip
================================================================================

SDKMAN 5.9.1+575

使用SDKMAN安装JDK:

# 查看jdk版本
[$] sdk ls java
# 选择所要安装的版本
[$] sdk install java 8.0.272-zulu
Installing: java 8.0.272-zulu
Done installing!

Setting java 8.0.272-zulu as default.

查看安装结果:

[$] java -version
openjdk version "1.8.0_272"
OpenJDK Runtime Environment (build 1.8.0_272-8u272-b10-0ubuntu1~18.04-b10)
OpenJDK 64-Bit Server VM (build 25.272-b10, mixed mode)

安装ZooKeeper

ZooKeeper是一个开源的分布式协调服务,是Google Chubby的一个开源实现。分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、配置维护等功能。
ZooKeeper是安装Kafka集群的必要组件,Kafka通过ZooKeeper来实施对元数据信息的管理,包括集群、broker、主题、分区等内容。
安装ZooKeeper第一步,下载:

[$] cd /opt/ && sudo su
[#] curl https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz > apache-zookeeper-3.6.2-bin.tar.gz
[#] tar zxvf apache-zookeeper-3.6.2-bin.tar.gz

第二步,添加环境变量:

[#] cd apache-zookeeper-3.6.2-bin/ && pwd
/opt/apache-zookeeper-3.6.2-bin
[#] vim /etc/profile
export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.2-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
[#] source /etc/profile

第三步,修复配置文件:

[#] cd /opt/apache-zookeeper-3.6.2-bin/conf/
[#] cp zoo_sample.cfg zoo.cfg && vim zoo.cfg

配置内容如下:

# ZooKeeper服务器心跳时间,单位为
tickTime=2000
# 投票选举新leader的初始时间
initLimit=10
# leader与follower心跳检测最大容忍时间,响应超过syncLimit*tickTime,leader认为
# follower“死掉”,从服务器列表中删除follower
syncLimit=5
# 数据目录
dataDir=/tmp/zookeeper
# 日志目录
dataLogDir=/tmp/zookeeper/log
# 对外端口
clientPort=2181

创建数据和日志目录:

[#] mkdir -p /tmp/zookeeper/data
[#] mkdir -p /tmp/zookeeper/log

第四步,在${dataDir}目录(即:/tmp/zookeeper/data)下创建myid文件,输入0。myid文件存放的是服务器的编号:

[#] vim /tmp/zookeeper/data/myid
# 输入0,并保存
0

第五步,启动ZooKeeper服务:

[#] zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看ZooKeeper的服务状态:

[#] zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone

安装kafka

第一步,下载:

[$] cd /opt/ && sudo su
[#] curl https://mirrors.bfsu.edu.cn/apache/kafka/2.6.1/kafka_2.13-2.6.1.tgz > kafka_2.1302.6.1.tgz
[#] tar zxvf kafka_2.1302.6.1.tgz
[#] cd kafka_2.13-2.6.1 && pwd

第二步,添加环境变量:

[#] vim /etc/profile
export KAFKA_HOME=/opt/kafka_2.13-2.6.1
export PATH=$PATH:$KAFKA_HOME/bin
[#] source /etc/profile

第三步,配置修改,主要关注几个参数即可:

[#] cd /opt/kafka_2.13-2.6.1/config && vim server.properties
# broker的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同
broker.id=0
# broker对外提供的服务入口地址
listeners=PLAINTEXT://localhost:9092
# 存放消息日志文件的地址
log.dirs=/tmp/kafka-logs
# Kafka所需的ZooKeeper集群地址
zookeeper.connect=localhost:2181/kafka

第四步,启动服务:

[#] cd /opt/kafka_2.13-2.6.1/
[#] bin/kafka-server-start.sh -daemon config/server.properties

查看Kafka服务是否启动:

[#] jps
20528 Kafka # Kafka服务端进程
20624 Jps
10942 QuorumPeerMain

jps命令只是用来确认Kafka服务的进程已经正常启动。它是否能够正确地对外提供服务,还需要通过发送和消费消息来进行验证。

参考

SDKMAN
ZooKeeper
Kafka
深入了解Kafka

上一篇下一篇

猜你喜欢

热点阅读