CentOS 7 安装Kafka

由于Kafka依赖Zookeeper,而Zookeeper需要java环境,故需要先安装jdk

一、安装JDK

(以下为jdk8的下载地址)

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1.下载并解压到/opt/java目录下

tar -zxvf jdk-8u221-linux-x64.tar.gz

mv jdk1.8.0_221 /opt/java

2.配置环境变量

vim /etc/profile
#在profile文件的最后面添加
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH

3.验证是否安装成功

java -version  输出版本信息则说明jdk安装成功

 

二、安装Zookeeper

Zookeeper的下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/

1.下载并解压到/opt/zookeeper目录下

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz
mv zookeeper-3.4.14  /opt/zookeeper

2.编辑配置文件

# 复制一份zoo_sample.cfg文件并改名为zoo.cfg
cp /opt/zookeeper/zoo_sample.cfg zoo.cfg
# 编辑zoo.cfg 文件
vim /opt/zookeeper/zoo.cfg
#主要修改dataDir和server.1=127.0.0.1:2888:3888这2处
# the directory where the snapshot is stored.
dataDir=/opt/zookeeper/data
# the port at which the clients will connect
clientPort=2181
server.1=127.0.0.1:2888:3888

3.配置环境变量

vim /etc/profile
#在profile末尾追加
export ZK_HOME=/opt/zookeeper
export PATH=$ZK_HOME/bin:$PATH

4.启动Zookeeper

zkServer.sh start

5.查看是否启动成功

查询进程是否存在

> ps -ef | grep QuorumPeerMain 

或者

> jps

查询QuorumPeerMain进程是否存在

 

三、安装Kafka

下载地址:https://kafka.apache.org/downloads.html

1.下载并解压并将文件移动到/opt/kafka目录下

wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz
tar  -zxvf kafka_2.12-2.3.0.tgz
mv kafka_2.12  /opt/kafka

2.配置kafka

#创建日志存放目录
cd /opt/kafka
mkdir -p log/kafka
#修改配置文件/opt/kafka/config/server.properties
sudo vim /opt/kafka/config/server.properties
#主要修改下面几项内容如下:
broker.id=181
listeners = PLAINTEXT://127.0.0.1:9092
log.dirs=/opt/kafka/log/kafka
zookeeper.connect=127.0.0.1:2181

3.配置环境变量

vi /etc/profile  #追加以下信息
export KAFKA_HOME=/opt/kafka
export PATH=$KAFKA_HOME/bin:$PATH

4.启动

kafka-server-start.sh -daemon /opt/kafka/config/server.properties

5.查看是否启动成功

> ps aux|grep Kafka

或者

> jps

查看是否有Kafka进程

 

 

kafka其他的配置

配置单条消息的最大字节数

socket.request.max.bytes=2147483647    # 设置了socket server接收的最大请求大小

log.segment.bytes=2147483647              # kafka数据文件的大小,确保这个数值大于一个消息的长度。一般说来使用默认值即可(一般一个消息很难大于1G,因为这是一个消息系统,而不是文件系统)。

message.max.bytes=2147483647             # 设置了kafka server接收的最大消息大小,应小于等于socket.request.max.bytes

replica.fetch.max.bytes=2147483647         #每个分区试图获取的消息字节数。要大于等于message.max.bytes,否则broker会接收此消息,但无法将此消息复制出去,从而造成数据丢失。

fetch.message.max.bytes=2147483647      #每个提取请求中为每个主题分区提取的消息字节数。要大于等于message.max.bytes,否则broker就会因为消费端无法使用这个消息而挂起。

 

配置开启远程访问

配置advertised.listeners=PLAINTEXT://yourIP:port ,重启kafka即可

 

参考文章:

https://www.cnblogs.com/Yang2012/p/8078586.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值