kafka安装

本文详细介绍了如何在Linux系统上进行服务器配置,包括修改系统限制、关闭防火墙、禁用SELinux,以及安装和配置JDK。接着,文章讲解了如何设置服务器之间的免密登录,关闭swap,并创建Kafka目录及部署Zookeeper集群。最后,文章提供了Kafka的配置步骤,包括修改服务器属性、设置日志保留策略等,确保集群稳定运行。

           

步骤一:修改服务器系统限制

vi /etc/security/limits.conf          #增加如下内容
*               soft    nofile          655360
*               hard    nofile          655360
*               soft    nproc           65535
*               hard    nproc           65535
*               soft    stack           unlimited
*               hard    stack           unlimited
*               soft    core            unlimited

修改20-nproc.conf90-nproc.confcentos6centos7有差异,存在该文件则修改,不存在不用新增
vi /etc/security/limits.d/90-nproc.conf
*          soft    nproc     65535
root       soft    nproc     unlimited

vi /etc/security/limits.d/20-nproc.conf
*          soft    nproc     65535
root       soft    nproc     unlimited


vim /etc/pam.d/login           #增加如下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so

vi /etc/sysctl.conf            #增加如下内容
vm.max_map_count=262144
使配置生效
sysctl -p

步骤二:关闭防火墙

systemctl stop firewalld   ---关闭防火墙
systemctl disable firewalld ---取消开机自启

步骤三:更改selinux

vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.

步骤四:重启服务器使之前配置生效

Reboot

步骤五:安装jdk集群三台都需要安装

将下载好的jdk安装包上传到服务器
rpm -ivh jdk-8u202-linux-x64.rpm
设置环境变量
Vim /etc/profile  --在该文件底下添加下列内容
export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile   --使设置的变量生效

步骤六:服务器之间做免密登录

ssh-keygen -t rsa  ---在三台服务器上都执行
cat id_rsa.pub >> authorized_keys
先在第一台执行,然后拷贝到第二台,第二台重复上一步的操作然后拷贝到第三台,第三台重复上一步操作,然后拷贝到第一和第二台

步骤七:关闭 swap

swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

步骤八:创建kafka目录

mkdir /usr/local/kafaka
将下载好的包解压到目录
tar -zxvf kafka_2.12-3.1.0.tgz -C /usr/local/kafaka/

步骤九:部署zookeeper

创建目录
mkdir -p /usr/local/zk
修改配置文件
cd /usr/local/kafaka/kafka_2.12-3.1.0/config
vim zookeeper.properties

#ZooKeeper 使用的基本时间单位(毫秒),心跳超时时间是 tickTime 的两倍
tickTime=2000

#Leader 和 Follower 初始连接时最多能容忍的最多心跳数(2000 * 10 = 20s)
initLimit=10

#Leader 和 Follower 节点之间请求和应答之间能容忍的最多心跳数(2000 * 5 = 10s)
syncLimit=5

#数据目录dd
dataDir=/usr/local/zk

#监听客户端连接的端口
clientPort=2181

#最大客户端连接数
maxClientCnxns=60

#集群信息(服务器编号,服务器地址,Leader-Follower 通信端口,选举端口)
server.1=192.168.200.224:2888:3888
server.2=192.168.200.225:2888:3888
server.3=192.168.200.226:2888:3888

#不启动 jetty 管理页面服务
admin.enableServer=false

#运行所有四字指令
4lw.commands.whitelist=*

分别为 3  Zookeeper 节点设置不同的节点 id
#节点 1
echo "1" > /usr/local/zk/myid

#节点 2
echo "2" > /usr/local/zk/myid

#节点 3
echo "3" > /usr/local/zk/myid

进入安装目录(三个节点都执行)
cd /usr/local/kafaka/kafka_2.12-3.1.0
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties  &

步骤十:修改kafaka配置文件

cp server.properties server.properties.bak   --将默认的配置文件拷贝一份

vim server.properties
############################# Server Basics #############################
#broker  id,必须唯一
broker.id=0

############################# Socket Server Settings #############################
#监听地址
listeners=PLAINTEXT://192.168.1.6:9092

#Broker 用于处理网络请求的线程数
num.network.threads=6

#Broker 用于处理 I/O 的线程数,推荐值 8 * 磁盘数
num.io.threads=120

#在网络线程停止读取新请求之前,可以排队等待 I/O 线程处理的最大请求个数
queued.max.requests=1000

#socket 发送缓冲区大小
socket.send.buffer.bytes=102400

#socket 接收缓冲区大小
socket.receive.buffer.bytes=102400

#socket 接收请求的最大值(防止 OOM
socket.request.max.bytes=104857600


############################# Log Basics #############################

#数据目录
log.dirs=/data1,/data2,/data3,/data4,/data5,/data6,/data7,/data8,/data9,/data10,/data11,/data12,/data13,/data14,/data15

#清理过期数据线程数
num.recovery.threads.per.data.dir=3

#单条消息最大 10 M
message.max.bytes=10485760

############################# Topic Settings #############################

#不允许自动创建 Topic
auto.create.topics.enable=false

#不允许 Unclean Leader 选举。
unclean.leader.election.enable=false

#不允许定期进行 Leader 选举。
auto.leader.rebalance.enable=false

#默认分区数
num.partitions=3

#默认分区副本数
default.replication.factor=3

#当生产者将 acks 设置为 "all"(或"-1")时,此配置指定必须确认写入的副本的最小数量,才能认为写入成功
min.insync.replicas=2

#允许删除主题
delete.topic.enable=true

############################# Log Flush Policy #############################

#建议由操作系统使用默认设置执行后台刷新
#日志落盘消息条数阈值
#log.flush.interval.messages=10000
#日志落盘时间间隔
#log.flush.interval.ms=1000
#检查是否达到flush条件间隔
#log.flush.scheduler.interval.ms=200

############################# Log Retention Policy #############################

#日志留存时间 7 
log.retention.hours=168

#最多存储 58TB 数据
log.retention.bytes=63771674411008
                    
#日志文件中每个 segment 的大小为 1G
log.segment.bytes=1073741824

#检查 segment 文件大小的周期 5 分钟
log.retention.check.interval.ms=300000

#开启日志压缩
log.cleaner.enable=true

#日志压缩线程数
log.cleaner.threads=8

############################# Zookeeper #############################

#Zookeeper 连接参数
zookeeper.connect=192.168.1.6:2181,192.168.1.7:2181,192.168.1.8:2181

#连接 Zookeeper 的超时时间
zookeeper.connection.timeout.ms=6000


############################# Group Coordinator Settings #############################

#为了缩短多消费者首次平衡的时间,这段延时期间 10s 内允许更多的消费者加入组
group.initial.rebalance.delay.ms=10000

#心跳超时时间默认 10s,设置成 6s 主要是为了让 Coordinator 能够更快地定位已经挂掉的 Consumer
session.timeout.ms = 6s

#心跳间隔时间,session.timeout.ms >= 3 * heartbeat.interval.ms
heartbeat.interval.ms=2s

#最长消费时间 5 分钟
max.poll.interval.ms=300000


注意事项
broker.id=0 ---三台的值是不一样的
启动kafka(三个节点都执行)
./bin/kafka-server-start.sh -daemon config/server.properties
### 安装 Apache Kafka 在不同操作系统上的步骤 Apache Kafka 是一个分布式流处理平台,可以在多种操作系统上安装和运行,包括 Windows、macOS 和 Linux。以下是针对不同操作系统的安装步骤: #### 在 Linux 上安装 Kafka 1. **安装 Java 环境**:Kafka 是基于 Java 的应用程序,因此需要先安装 Java 运行环境。可以选择安装 JRE 或者 JDK[^2]。 2. **安装 Zookeeper**:Kafka 使用 Zookeeper 来保存集群的元数据信息。Kafka 发行版自带了 Zookeeper,可以直接从脚本启动[^2]。 3. **下载 Kafka**:可以从 Kafka 官方网站下载最新版本的 Kafka[^1]。 4. **解压 Kafka 压缩包**:使用 tar 或者 unzip 命令解压下载的 Kafka 压缩包。 5. **启动 Zookeeper**:使用 Kafka 自带的脚本启动 Zookeeper 服务。 6. **启动 Kafka Broker**:配置好 Java 和 Zookeeper 之后,可以启动 Kafka 服务[^4]。 #### 在 Windows 上安装 Kafka 1. **安装 Java 环境**:确保 Windows 系统上已经安装Java 环境[^2]。 2. **安装 Zookeeper**:可以使用 Kafka 自带的 Zookeeper 或者安装一个完整版的 Zookeeper[^2]。 3. **下载 Kafka**:从 Kafka 官方网站下载适用于 Windows 的 Kafka 版本[^1]。 4. **解压 Kafka 压缩包**:使用解压工具解压下载的 Kafka 压缩包。 5. **启动 Zookeeper**:通过 Windows 命令行工具启动 Zookeeper 服务。 6. **启动 Kafka Broker**:使用命令行工具启动 Kafka 服务[^4]。 #### 在 macOS 上安装 Kafka 1. **安装 Java 环境**:确保 macOS 系统上已经安装Java 环境。 2. **安装 Zookeeper**:可以使用 Kafka 自带的 Zookeeper 或者通过 Homebrew 安装一个完整版的 Zookeeper[^2]。 3. **下载 Kafka**:从 Kafka 官方网站下载适用于 macOS 的 Kafka 版本[^1]。 4. **解压 Kafka 压缩包**:使用终端命令解压下载的 Kafka 压缩包。 5. **启动 Zookeeper**:通过终端启动 Zookeeper 服务。 6. **启动 Kafka Broker**:使用终端命令启动 Kafka 服务。 在完成安装后,可以通过 Kafka 自带的工具来创建主题、发送和消费消息,从而直观地感受 Kafka 的运转过程[^3]。 ```bash # 创建一个名为 test 的主题 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test ``` 以上步骤可以帮助您在不同的操作系统上安装 Apache Kafka,并根据需要启动单机版或集群版的 Kafka 服务。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值