Linux搭建zookeeper集群与kafka集群

将zookeeper压缩包及kafka压缩包上传至服务器

zookeeper的安装需要依赖jdk,所以需要先安装jdk(下面提供环境变量配置,jdk安装包自行下载)

JDK配置Linux环境变量

编辑profile文件

vim /etc/profile 

在末尾加入以下内容

#java environment
JAVA_HOME=/app/jdk1.8.0_301
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
    export PATH JAVA_HOME CLASSPATH

说明:JAVA_HOME对应jdk的安装目录

刷新配置文件使环境变量生效 

source /etc/profile

zookeeper与kafka也可在linux中直接下载,进入app目录下(没有就创建)

一、zookeeper集群服务搭建

1.下载zookeeper压缩包

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

 2.解压

tar -zxvf zookeeper-3.4.8.tar.gz

说明:将zookeeper压缩包解压到当前目录下

3.创建数据目录

cd /app/zookeeper-3.4.8
mkdir data 

说明:此目录在配置zookeeper服务配置文件时会用到

4.修改配置

 cp conf/zoo_sample.cfg conf/zoo.cfg
 vim conf/zoo.cfg 

说明:复制一份文件,修改复制的文件(防止修改错误导致配置文件损坏)

说明:编辑复制后的配置文件

修改数据文件目录

dataDir=/app/zookeeper-3.4.8/data

说明:对应你创建的data目录

 

在末尾新增集群配置 

server.1=ip1:2288:3388
server.2=ip2:2288:3388
server.3=ip3:2288:3388

 

5.创建记录id文件

vim /app/zookeeper-3.4.8/data/myid

说明:创建一个myid文件,编辑其中内容

内容:1(当前服务器ip为ip1) 

内容:2(当前服务器ip为ip2) 

内容:3(当前服务器ip为ip3) 

在ip1、ip2、ip3服务其中依次执行上述命令 

6、开放端口(ip1、ip2、ip3都需要执行)

firewall-cmd --zone=public --add-port=2181/tcp --permanent

说明:防火墙开放2181端口
firewall-cmd --zone=public --add-port=2288/tcp --permanent

说明:防火墙开放2288端口
firewall-cmd --zone=public --add-port=3388/tcp --permanent

说明:防火墙开放3388端口
firewall-cmd --reload

说明:重新启动防火墙
firewall-cmd --list-ports

说明:查看服务器开放的端口列表

出现上面三个端口即开放成功 

7、启动验证zookeeper启动

进入zookeeper-3.4.8/bin目录下

sh zkServer.sh start  /app/zookeeper-3.4.8/conf/zoo.cfg

说明:使用bin目录下的zkServer.sh脚本启动、/app/zookeeper-3.4.8/conf/zoo.cfg含义表示使zookeeper读取我们定义的配置文件
sh zkServer.sh status  /app/zookeeper-3.4.8/conf/zoo.cfg

说明:查看zookeeper启动的状态

我的三个服务器显示如下

 

二、kafka集群搭建

1.若无压缩包,执行下方命令下载

依然在/app目录下操作

wget https://archive.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz 

2.解压

tar -zxvf kafka_2.12-2.2.0.tgz 

cd /app/kafka_2.12-2.2.0

mkdir data

说明:进入/app/kafka_2.12-2.2.0目录下创建data文件夹

3.修改配置

cd /app/kafka_2.12-2.2.0/config

说明:进入kafka下方的config包

cp server.properties server.properties.bak 

说明:跟上方zookeeper一样,备份一份依赖防止修改出错

ip1、ip2、ip3服务器分别执行上述命令 

4.ip1服务器修改配置(下方配置三台服务器会略有不同,以红色注释标识)

vim  server.properties

配置内容如下(将下方配置覆盖原先文件内容即可)

# ip1服务器代理id(ip2服务器上的配置改为2,ip3服务器上的配置改为3)

broker.id=1

# 对应本机服务器ip1地址(若为ip2,只需将ip修改即可,ip3同理)
listeners=PLAINTEXT://ip1:9092

# 对应本机服务器ip1地址(若为ip2,只需将ip修改即可,ip3同理)
advertised.listeners=PLAINTEXT://ip1:9092
port=9092

# 对应本机服务器ip1地址(若为ip2,只需将ip修改即可,ip3同理)
host.name=ip1.125
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/app/kafka/data
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=24
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

# 此处修改为集群服务器的ip即可(下方这一条配置,三台服务器上配置内容一样)
zookeeper.connect=ip1:2181,ip2:2181,ip3:2181
zookeeper.connection.timeout.ms=6000
auto.create.topics.enable = false
delete.topic.enable=true
message.max.byte=52428880
log.cleanup.policy=delete
log.segment.delete.delay.ms=0
group.initial.rebalance.delay.ms=0

5、防火墙开放端口 (ip1、ip2、ip3依次执行)

firewall-cmd --zone=public --add-port=9092/tcp --permanent

说明:开放9092端口号

firewall-cmd --reload

说明:重启防火墙,使开放端口生效

firewall-cmd --list-ports

说明:查看防火墙开放端口列表,下方截图增加了9092端口

 

6、启动kafka

cd /app/kafka_2.12-2.2.0/bin

说明:进入kafka下方的bin目录下

sh kafka-server-start.sh /app/kafka_2.12-2.2.0/config/server.properties

说明:启动kafka,/app/kafka_2.12-2.2.0/config/server.properties表示指向我们自定义的服务配置 ;(此命令为前台启动,ctrl+c或者窗口关闭,kafka服务将关闭)

sh kafka-server-start.sh -daemon /app/kafka_2.12-2.2.0/config/server.properties

说明:此命令为后台启动 (ctrl+c或者窗口关闭,kafka服务不会关闭)

 7、测试验证kafka集群创建topic

进入kafka安装的根目录

bin/kafka-topics.sh --create --zookeeper ip1:2181,ip2:2181,ip3:2181 --replication-factor 1 --partitions 1 --topic topic名称

查看topic 

bin/kafka-topics.sh --list --zookeeper localhost:2181

 kafka向ip1发送消息

bin/kafka-console-producer.sh --broker-list ip1:9092 --topic topic名称 

ip1消费消息

bin/kafka-console-consumer.sh --bootstrap-server ip1:9092  --from-beginning --topic topic名称 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要搭建Kafka集群,需要以下步骤: 1. 安装Java环境:Kafka是基于Java开发的,因此需要先安装Java环境。 2. 下载Kafka:从官网下载Kafka的二进制包。 3. 解压Kafka:将下载的Kafka二进制包解压到指定的目录下。 4. 配置Kafka:修改Kafka的配置文件,包括broker.id、zookeeper.connect、listeners等参数。 5. 启动ZookeeperKafka依赖于Zookeeper,因此需要先启动Zookeeper。 6. 启动Kafka:启动Kafka集群,可以使用命令行或者脚本启动。 7. 测试Kafka:使用Kafka提供的命令行工具进行测试,包括创建主题、发送消息、消费消息等操作。 8. 部署Kafka集群:将Kafka集群部署到多台服务器上,可以使用Kafka提供的复制机制实现数据的备份和容错。 以上就是搭建Kafka集群的基本步骤。需要注意的是,Kafka的配置和部署需要根据实际情况进行调整和优化,以保证Kafka集群的性能和稳定性。 ### 回答2: Kafka是一款高性能的分布式消息系统,常常用于大规模数据流的处理和分发。Linux作为一个可靠的服务端操作系统,也是Kafka的一个常见的运行环境。本文将介绍在Linux环境下搭建Kafka集群的步骤和注意事项。 1. 安装Java Kafka是基于Java开发的,因此需要先安装Java运行环境。使用以下命令安装Java 8: ``` $ sudo apt-get update $ sudo apt-get install openjdk-8-jdk ``` 2. 下载和解压缩Kafka 下载Kafka最新版本,并解压缩到合适的目录下。比如: ``` $ wget https://downloads.apache.org/kafka/2.6.0/kafka_2.13-2.6.0.tgz $ tar -zxf kafka_2.13-2.6.0.tgz $ cd kafka_2.13-2.6.0 ``` 3. 修改配置文件 Kafka的配置文件位于“config”目录下,常见的有“server.properties”和“zookeeper.properties”。我们需要修改这些配置文件以适配我们的环境。下面是一些要注意的设置: - “server.properties”中的“broker.id”必须是唯一的,每个Kafka节点应该有一个唯一的值。 - “server.properties”中需要设置“listeners”为“PLAINTEXT://:9092”或“PLAINTEXT://[[hostname]]:9092”,这样才能通过网络接口访问到Kafka。 - “zookeeper.properties”中需要设置“dataDir”为Zookeeper数据存储的目录。 4. 启动Zookeeper Kafka依赖Zookeeper来管理集群配置,因此需要先启动Zookeeper。使用以下命令启动Zookeeper: ``` $ bin/zookeeper-server-start.sh config/zookeeper.properties ``` 5. 启动Kafka节点 我们可以使用以下命令启动一个Kafka节点,注意使用不同的配置文件: ``` $ bin/kafka-server-start.sh config/server.properties ``` 如果我们需要启动多个节点,可以使用不同的配置文件,并在启动时设置不同的“broker.id”。启动一组Kafka节点后,它们将自动组成一个集群。 6. 测试 使用以下命令创建一个主题和消费者: ``` $ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test $ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning ``` 然后在生产者端发送一些消息: ``` $ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test >test message 1 >test message 2 ``` 我们应该可以在消费者端看到这些消息。 7. 总结 在Linux环境下搭建Kafka集群需要一定的基础知识和技能,但只要按照上述步骤操作,应该能够很容易地搭建一个稳定的、高性能的Kafka环境。当然,在运维过程中也需要注意Kafka的一些常见问题,如副本同步延迟、消息丢失等。不过这些问题已经超出了本文的范围。 ### 回答3: Kafka是一个高性能、可扩展、分布式的消息队列,由于它的高可靠性和高吞吐量,越来越多的企业选择使用Kafka作为消息中间件。为满足大规模数据处理和高并发请求的需求,必须通过搭建Kafka集群来保证其性能和可靠性。 一、环境准备 1.安装Java环境:Kafka运行需要Java环境,安装JDK。 2.下载和安装KafkaKafka官方网站下载.tar.gz格式的压缩包,解压缩至指定路径即可。 3.配置Kafka:修改config文件夹下server.properties配置文件,设置Kafka的基本参数。 4.准备Zookeeper环境:Kafka集群依赖于Zookeeper环境,需要先安装Zookeeper。 5.配置Zookeeper:修改Zookeeper的配置文件config/zookeeper.properties,设置Zookeeper的基本参数。 二、搭建Kafka集群 1.编辑Kafka配置文件:修改Kafka的配置文件config/server.properties,设置Kafka节点通信机制,以及数据保存路径等参数。 2.启动Zookeeper:启动Zookeeper,确保Zookeeper正常工作。 3.启动Kafka服务器:执行bin/kafka-server-start.sh config/server.properties命令启动Kafka服务器,启动成功后就可以在本机访问Kafka。 4.配置Kafka集群: 在每个Kafka节点上修改配置文件,设置broker.id、zookeeper.connect、port等参数,然后依次启动所有节点。 5.测试Kafka集群: 在集群中的任何一个节点上创建一个主题,向主题中发送消息并消费消息,以确保Kafka集群的正常工作。 三、集群管理 管理Kafka集群需要使用kafka-manager或kafka-web-console等工具,可以通过Web界面来管理Kafka集群的主题、分区、消费者以及监控Kafka的各项指标,方便用户进行集群管理。 总之,通过上述步骤,可以快速搭建一个高可靠、高吞吐量的Kafka集群,为企业提供无缝的数据传输、消息中间件服务。同时,对于管理者而言,还需要做好监控和维护工作,保证 kafka 集群持续稳定的工作,最终满足各种复杂业务的数据流转和处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值