`
maosheng
  • 浏览: 560221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Centos7 部署 Kafka 集群

阅读更多
概述

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集群环境部署记录-实操手册(kafka-mamager)

    本文详细记录了Centos下kafka集群环境部署过程,完全可以做实操手册。在此分享,希望能帮助到有用到的朋友!

    centos7下kafka和zookeeper和Redis集群搭建.zip

    通过以上步骤,你可以在CentOS7环境下成功部署Kafka、Zookeeper和Redis的集群。这将为你的大数据处理、实时流计算或缓存需求提供稳定的基础架构。在实际应用中,还需要考虑监控、备份、安全性等方面,以确保系统的...

    KafkaManager编译后的版本,CentOS7下编译

    总结来说,Kafka Manager是Kafka集群管理和监控的重要工具,尤其在CentOS7这样的Linux环境中,编译好的版本能为用户提供快速部署和使用的便利。通过它,你可以高效地管理Kafka集群,优化性能,提升数据处理效率。这...

    Kafka集群安装部署-自带zookeeper

    在部署Kafka集群时,通常需要配合Zookeeper使用。Zookeeper是一个分布式协调服务,用于管理Kafka的元数据和选举集群领导者。这里我们讨论的是自带Zookeeper的Kafka集群安装部署。 ### Kafka简介 Kafka最初由...

    Centos7kafka2.3.03.zip

    此外,了解Kafka的集群部署、安全性设置(如SSL加密和SASL认证)、性能调优、监控和日志管理也是必要的。对于生产环境,还需要关注数据备份与恢复策略,以及如何与其他系统(如Hadoop、Spark等)集成。 Kafka 2.3....

    kafka集群.pdf

    Kafka 集群部署是实现高可用性和容错性的关键步骤,确保数据的可靠传输和存储。以下是对 Kafka 集群部署的详细解释: 1. **环境准备**: - 系统版本:在本例中,使用的操作系统是 CentOS Linux release 7.5.1804 ...

    Kafka集群安装配置.docx

    Kafka 集群安装配置是指在多台服务器上部署 Kafka 集群,以便实现高可用性和高性能的消息队列系统。下面是 Kafka 集群安装配置的详细步骤和知识点: 一、环境准备 * 系统版本:CentOS Linux release 7 64 位 * ...

    kafka集群部署说明-wubin-200720.doc

    以下是Kafka集群部署的详细步骤,本教程以Kafka 1.1.1版本和Zookeeper 3.6.1版本为例,部署在三台CentOS 8.1系统上的服务器上。 ### 1. 准备工作 #### 1.1. 安装基础组件 - **JDK 1.8**:Kafka运行需要Java环境,...

    CentOS7下搭建多节点Elasticsearch集群.docx

    CentOS7 下搭建多节点 Elasticsearch 集群 ...CentOS7 下搭建多节点 Elasticsearch 集群需要考虑到集群架构、安装和配置、配置文件、插件、Filebeat 和 Logstash、多节点的优势和部署、监控等多个方面。

    EFK+kafka+head日志分析集群部署.rar

    日志分析集群,在本地centos7虚拟机搭建的Es+firebeat+logstash+kibana+kafka+head的完整集群部署文档,很详细,通常的EFK日志分析,加上kafka的消息队列,可以处理PB级别的日志内容。

    kafka集群.doc

    Kafka 集群的搭建是其应用的基础,本教程将详细解释如何在 CentOS 6.5 环境下配置一个三节点的 Kafka 集群。 首先,确保在所有参与的服务器上安装了 Java,并配置好环境变量。Java 是 Kafka 运行所必需的,因为它是...

    kafka_exporter-1.6.0.linux-amd64.tar.gz

    Kafka Exporter在这个平台上运行,可以为运行在CentOS上的Kafka集群提供监控支持。 标签"**kafka_exporter**"和"**prometheus**"进一步确认了这个压缩包与这两个关键组件的关联。Kafka Exporter是连接Kafka和...

    Kafka集群搭建1

    本教程将详细介绍如何在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 contos6.8下部署kafka集群的方法

    在Linux CentOS 6.8环境下部署Apache Kafka集群是一项关键任务,尤其对于大数据处理和实时流数据应用来说。Apache Kafka是一个分布式流处理平台,用于构建实时数据管道和流应用程序。以下是一份详细的步骤指南,帮助...

    kafka-2.13-3.4.0.tgz

    Kafka 2.13-3.4.0版本包含Kafka Streams库,它是一个轻量级的流处理库,可以直接在Kafka集群上运行,用于构建实时数据处理应用。 8. **Kafka Connect**: Kafka Connect提供了一种标准接口,用于集成其他系统,如...

    kafka分布式集群搭建

    为了提高系统的可用性与扩展性,通常会采用分布式集群的方式部署Kafka。本文将详细介绍如何在三台CentOS服务器上搭建Kafka分布式集群,并配置Zookeeper进行协调管理。 #### 二、基本环境准备 **1. 服务器基本信息*...

    kafka部署和使用详尽PDF

    对于集群部署,规划涉及多台CentOS 7.5服务器,每台都需要JDK和Kafka,Zookeeper集群由三个节点组成,IP分别为172.16.6.14-16,端口为2181。 2.2 JDK配置 与单机部署相同,确保所有服务器的JDK环境配置一致。 2.3 ...

    kafka-2.12-3.6.0安装包以及linux(centos7)无zookeeper安装kafka-2.12-3.6.0(

    而Kraft模式是Kafka在3.0版本引入的新特性,允许在没有Zookeeper的情况下运行Kafka集群,简化了部署和管理。 首先,我们需要下载Kafka的安装包。在本例中,我们使用的是kafka_2.12-3.6.0。你可以从Apache官方网站...

    Centos7搭建ELK+filebeat.docx

    【Centos7搭建ELK+filebeat】 ELK(Elasticsearch、Logstash、Kibana)是一个流行的日志分析和管理系统,它允许用户收集、处理、存储和可视化各种来源的日志数据。Filebeat作为轻量级的日志收集代理,常被用于与ELK...

Global site tag (gtag.js) - Google Analytics