概述
Kafka特性:
1、高吞吐量、低延迟:Kafka每秒可以处理几十万条消息,他的延迟最低只有几毫秒
2、每个topic可以分多个partition,consumer group 对partition进行consume操作
3、可扩展性:kafka集群支持热扩展
4、持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
5、容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
6、高并发:支持数千个客户端同时读写
Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群
Topic:一类消息,消息存放的目录即主题,对消息进行划分唯一的逻辑单元
message:Kafka中最基本的传递对象
Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列
Segment:partition物理上有多个segment组成,每个segment存着message信息
Kafka存储策略:
1、kafka以topic来进行消息管理,每个topic包含多个partition,每个partition对应一个逻辑log,有多个segment组成
2、每个segment中存储多条消息,消息id由其逻辑位置决定,即从消息id可以直接定位到消息的存储位置,避免id到位置的额外映射
服务器:
server1: 192.101.11.162 server1
server1: 192.101.11.163 server2
server1: 192.101.11.164 server3
一、准备工作
1.下载、安装JDK1.8,Zookeeper,kafka
下载URL:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
jdk-8u251-linux-x64.tar.gz
下载URL:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
apache-zookeeper-3.6.1-bin.tar.gz
下载URL:http://kafka.apache.org/downloads
kafka_2.12-2.5.0.tgz
3.解压JDK1.8,Zookeeper,kafka
#tar -zxvf jdk-8u251-linux-x64.tar.gz
#tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
#tar -zxvf kafka_2.12-2.5.0.tgz
4.创建运行目录
#mkdir /usr/local/components/
#mv jdk1.8.0_251 /usr/local/components/
#mv apache-zookeeper-3.6.1-bin /usr/local/components/
#mv kafka_2.12-2.5.0 /usr/local/components/
5.创建数据目录
#mkdir -p /data/zookeeper/
#mkdir -p /data/kafka/
二、安装JDK
1.编辑/etc/profile,增加如下环境变量
#vi /etc/profile
export JAVA_HOME=/usr/local/components/jdk1.8.0_251
export PATH=$JAVA_HOME/bin:$PATH
2.让/etc/profile文件修改后立即生效
#source /etc/profile
3.显示PATH环境变量,检验修改后的结果
#echo $PATH
printenv
4.验证JDK安装完成,显示版本号
#java -version
三、安装zookeeper
1.分发到其他节点
#scp ...............
2.复制并修改配置
#cp zoo_sample.cfg zoo.cfg
#vi zoo.cfg
修改:
dataDir=/data/zookeeper/
增加:
server.1=192.101.11.162:8880:7770
server.2=192.101.11.163:8880:7770
server.3=192.101.11.164:8880:7770
创建日志目录
#mkdir -p /data/zookeeper/logs/
#cd ./bin
#vi zkEnv.sh
增加:
ZOO_LOG_DIR=/data/zookeeper/logs/
3.分发到其他节点
#scp ...............
4.配置实例ID,其他节点同理
#cd /data/zookeeper/
#echo "1" >myid
5.启动运行
#cd bin
#./zkServer.sh start
四、安装kafka
1.分发到其他节点
#scp ...............
2.修改配置
#cd config
#vi server.properties
修改broker.id,修改为不同的值(三个节点分别为:1,2,3)
broker.id=1
修改log.dirs,这是Kafka的数据目录
log.dirs=/data/kafka/
修改listeners(server1:9092,server2:9092,server3:9092)
listeners=PLAINTEXT://server1:9092
其他参数设置:
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
num.partitions=10
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
注意:内存生产建议配置 4G
3.启动运行
#cd bin
#./kafka-server-start.sh ../config/server.properties &
4.创建Topic
# ./kafka-topics.sh --create --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic test --partitions 1 --replication-factor 3 ##一个分区,三个副本
5.查看Topic列表
# ./kafka-topics.sh --list --zookeeper zk1:2181,zk2:2181,zk3:2181
6.查看Topic状态
# ./kafka-topics.sh --describe --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic test
7.producer发送消息
#./kafka-console-producer.sh --broker-list server1:9092,server2:9092,server3:9092 --topic test
8.consumer接收消息
#./kafka-console-consumer.sh --bootstrap-server server1:9092,server2:9092,server3:9092 --topic test --from-beginning
五、安装KafkaOffsetMonitor
1.下载
0.2.0版本下载:
百度网盘:https://pan.baidu.com/s/1sj0YERV
百度网盘:https://pan.baidu.com/s/1geEBEvT 密码:jaeu
0.4.6 版本下载:
CSDN的下载地址:https://download.csdn.net/download/guang564610/10371172
百度云盘:https://pan.baidu.com/s/1A_Ukh6FlvOYkUws7kUPAqg
下载后上传KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar或KafkaOffsetMonitor-assembly-0.2.0.jar到服务器指定目录
2.运行
# touch kafka-monitor-start.sh
# vi kafka-monitor-start.sh
nohup java -cp KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk hadoop010:2181,hadoop011:2181,hadoop012:2181 --port 8080 --refresh 10.seconds --retain 1.days --dbName offsetapp_kafka 1>kafkaOffsetMonitor_stdout.log 2>kafkaOffsetMonitor_stderr.log &
# chmod +x kafka-monitor-start.sh
# ./kafka-monitor-start.sh
3、访问
http://ip:8080
分享到:
相关推荐
本文详细记录了Centos下kafka集群环境部署过程,完全可以做实操手册。在此分享,希望能帮助到有用到的朋友!
通过以上步骤,你可以在CentOS7环境下成功部署Kafka、Zookeeper和Redis的集群。这将为你的大数据处理、实时流计算或缓存需求提供稳定的基础架构。在实际应用中,还需要考虑监控、备份、安全性等方面,以确保系统的...
总结来说,Kafka Manager是Kafka集群管理和监控的重要工具,尤其在CentOS7这样的Linux环境中,编译好的版本能为用户提供快速部署和使用的便利。通过它,你可以高效地管理Kafka集群,优化性能,提升数据处理效率。这...
在部署Kafka集群时,通常需要配合Zookeeper使用。Zookeeper是一个分布式协调服务,用于管理Kafka的元数据和选举集群领导者。这里我们讨论的是自带Zookeeper的Kafka集群安装部署。 ### Kafka简介 Kafka最初由...
此外,了解Kafka的集群部署、安全性设置(如SSL加密和SASL认证)、性能调优、监控和日志管理也是必要的。对于生产环境,还需要关注数据备份与恢复策略,以及如何与其他系统(如Hadoop、Spark等)集成。 Kafka 2.3....
Kafka 集群部署是实现高可用性和容错性的关键步骤,确保数据的可靠传输和存储。以下是对 Kafka 集群部署的详细解释: 1. **环境准备**: - 系统版本:在本例中,使用的操作系统是 CentOS Linux release 7.5.1804 ...
Kafka 集群安装配置是指在多台服务器上部署 Kafka 集群,以便实现高可用性和高性能的消息队列系统。下面是 Kafka 集群安装配置的详细步骤和知识点: 一、环境准备 * 系统版本:CentOS Linux release 7 64 位 * ...
以下是Kafka集群部署的详细步骤,本教程以Kafka 1.1.1版本和Zookeeper 3.6.1版本为例,部署在三台CentOS 8.1系统上的服务器上。 ### 1. 准备工作 #### 1.1. 安装基础组件 - **JDK 1.8**:Kafka运行需要Java环境,...
CentOS7 下搭建多节点 Elasticsearch 集群 ...CentOS7 下搭建多节点 Elasticsearch 集群需要考虑到集群架构、安装和配置、配置文件、插件、Filebeat 和 Logstash、多节点的优势和部署、监控等多个方面。
Kafka 集群的搭建是其应用的基础,本教程将详细解释如何在 CentOS 6.5 环境下配置一个三节点的 Kafka 集群。 首先,确保在所有参与的服务器上安装了 Java,并配置好环境变量。Java 是 Kafka 运行所必需的,因为它是...
Kafka Exporter在这个平台上运行,可以为运行在CentOS上的Kafka集群提供监控支持。 标签"**kafka_exporter**"和"**prometheus**"进一步确认了这个压缩包与这两个关键组件的关联。Kafka Exporter是连接Kafka和...
本教程将详细介绍如何在CentOS 6.5环境下搭建Kafka集群,使用的版本为kafka_2.10-0.10.0.0,依赖JDK 1.8.0_172。集群将由3个Zookeeper实例组成,分别部署在两台机器172.16.15.6和172.16.15.7上。 **步骤1:环境准备...
在Linux CentOS 6.8环境下部署Apache Kafka集群是一项关键任务,尤其对于大数据处理和实时流数据应用来说。Apache Kafka是一个分布式流处理平台,用于构建实时数据管道和流应用程序。以下是一份详细的步骤指南,帮助...
Kafka 2.13-3.4.0版本包含Kafka Streams库,它是一个轻量级的流处理库,可以直接在Kafka集群上运行,用于构建实时数据处理应用。 8. **Kafka Connect**: Kafka Connect提供了一种标准接口,用于集成其他系统,如...
为了提高系统的可用性与扩展性,通常会采用分布式集群的方式部署Kafka。本文将详细介绍如何在三台CentOS服务器上搭建Kafka分布式集群,并配置Zookeeper进行协调管理。 #### 二、基本环境准备 **1. 服务器基本信息*...
日志分析集群,在本地centos7虚拟机搭建的Es+firebeat+logstash+kibana+kafka+head的完整集群部署文档,很详细,通常的EFK日志分析,加上kafka的消息队列,可以处理PB级别的日志内容。
对于集群部署,规划涉及多台CentOS 7.5服务器,每台都需要JDK和Kafka,Zookeeper集群由三个节点组成,IP分别为172.16.6.14-16,端口为2181。 2.2 JDK配置 与单机部署相同,确保所有服务器的JDK环境配置一致。 2.3 ...
而Kraft模式是Kafka在3.0版本引入的新特性,允许在没有Zookeeper的情况下运行Kafka集群,简化了部署和管理。 首先,我们需要下载Kafka的安装包。在本例中,我们使用的是kafka_2.12-3.6.0。你可以从Apache官方网站...
【Centos7搭建ELK+filebeat】 ELK(Elasticsearch、Logstash、Kibana)是一个流行的日志分析和管理系统,它允许用户收集、处理、存储和可视化各种来源的日志数据。Filebeat作为轻量级的日志收集代理,常被用于与ELK...