`
maosheng
  • 浏览: 550154 次
  • 性别: 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集群环境部署过程,完全可以做实操手册。在此分享,希望能帮助到有用到的朋友!

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

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

    linux contos6.8下部署kafka集群的方法

    有3台服务器,ip分别为192.168.174.10,192.168.174.11,192.168.174.12。 1、官网下载,分别在每台机器上解压安装 # 创建kafka的安装目录 ...export KAFKA_HOME=/usr/local/software/kafka/kafka_2.12-1.1

    HDP2.5.0大数据HA集群在centos7.0下的安装配置

    按照文档操作可安装7个节点的大数据集群,包括hadoop,hive,hbase,spark,tez,flume,kafka等等,自动化运维部署及监控,日志查询等功能

    centos7.5分布式平台搭建.docx

    4.1. 查看SSH是否安装,需要客户端与服务都安装,centos7自带ssh服务,一般可以跳过安装步骤 27 4.2. 安装命令 27 4.3. service sshd restart 启动、重启SSH服务; 27 4.4. 开机启动。 27 4.5. 退出SSH命令 27 4.6. ...

    hadoop2.2.0部署

    1.2 安装centos6.5 3 1.2.1 注意安装细节 3 1.2.2 设置VIM 命令 3 1.2.3 配置仅主机连网 4 1.2.4 配置网络出现的问题 5 1.2.5 设置桥接上网 6 1.2.6 设置nat上网 12 2 安装基本工具 15 2.1 SSH免登陆配置 15 2.2 ...

    2017最新大数据架构师精英课程

    153_kafka集群安装与启动4 ^; K& j3 @6 p0 M 154_kafka创建主题以及查看主题结构 155_考察zk中kafka结构9 N: Y8 u4 {# m/ z1 d3 H 156_kafka分区服务器服务方式 157_kafka编程API实现生产者和消费者+ w9 l1 N( D8 E%...

    kakfa和zookeeper.zip

    kafka,zookeeper,配置,集群,消息队列 公司自用,可以部署到服务器,直接启动,不需要加别的配置 给需要的人,简单省事

    【推荐】最强大数据学习与最佳实践资料合集(基础+架构+数仓+治理+案例)(100份).zip

    资料-CentOS7搭建Hadoop-2.7.7集群 ClickHouse官方中文文档 ETL流程、数据流图及ETL过程解决方案 Google-MapReduce中文版_1.0 Hadoop安装及分布式部署 Hadoop精选面试题和MapReduce编程企业级编程实践 HDFS-part2-...

    springCloud

    系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 微服务的概念源于2014年3月Martin Fowler所写的...

Global site tag (gtag.js) - Google Analytics