liunx服务器安装kafka
kafka 3.0.0 之前 (包括3.0.0版本)支持jdk 8 ,3.0.0之后版本不再支持jdk8版本 ,
按照官网安装kafka ,出现了各种各样的问题。
总结:kafka和zookeeper和jdk版本对应,
kafka启动报错 根据提示改正后 需要删除某些临时文件内容 。
下面整理了kafka安装的完整步骤,适合所有kafka安装版本
1. 初始化安装环境
1.1 安装jdk
1.1.1 找到对应的jdk版本
找到kafka 版本的 kafka_2.13-2.6.1/bin/kafka-run-class.sh
文件
找关键字 java version
查看kafka 支持的最低jdk版本
# GC options
GC_FILE_SUFFIX='-gc.log'
GC_LOG_FILE_NAME=''
if [ "x$GC_LOG_ENABLED" = "xtrue" ]; then
GC_LOG_FILE_NAME=$DAEMON_NAME$GC_FILE_SUFFIX
# The first segment of the version number, which is '1' for releases before Java 9
# it then becomes '9', '10', ...
# Some examples of the first line of `java --version`:
# 8 -> java version "1.8.0_152"
# 9.0.4 -> java version "9.0.4"
# 10 -> java version "10" 2018-03-20
# 10.0.1 -> java version "10.0.1" 2018-04-17
# We need to match to the end of the line to prevent sed from printing the characters that do not match
JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then
KAFKA_GC_LOG_OPTS="-Xlog:gc*:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,tags:filecount=10,filesize=102400"
else
KAFKA_GC_LOG_OPTS="-Xloggc:$LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
fi
fi
1.1.2 下载并安装
具体的jdk版本 看kafka
1.1.2.1 配置jdk环境变量
// 配置jdk环境变量
vim /etc/profile
文末加:
export JAVA_HOME=/opt/jdk1.8.0_24 # 自己的jdk安装路径 ,根据情况修改
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后
// 配置文件生效
source /etc/ profile
测试
[root@localhost opt]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
1.2 安装 zookeeper
1.2.1 查找kafka对应zookeeper版本
下载对应 的zookeeper 版本,查找办法 :下载kafka src 源文件 kafka-2.6.0-src.tgz (asc, sha512) ,解压打开相对路径的 kafka-2.6.0-src\gradle
的dependencies.gradle
文件,搜索关键字zookeeper
关键字
zookeeper: "3.5.8",
到zookeeper官网下载zookeeper 3.5.8
下载文件名含bin的压缩包,要不然启动报错
要启动 ZooKeeper,您需要一个配置文件。这是一个示例,在conf/zoo.cfg中创建它:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
启动
2. 下载kafka 安装包
下载地址 ,官网包下载地址,具体命令操作参考官网