Kafka-分布式安装
一、kafka是什么?
Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展能力,适合在大规模消息处理场景中使用。
(1) 分布式系统,易于向外扩展;
(2) 同时为发布和订阅提供高吞吐量;
(3) 支持多订阅者,当失败时能自动平衡消费者;
(4) 将消息持久化到磁盘,可用于批量消费;
二、安装kafka
kafka的安装需要依赖于jdk和zookeeper。(kafka 2.12-3.4.0,JDK1.8及以上版本)
1.安装规划
|
主机名 |
主机IP |
|
hadoop01 |
192.168.80.131 |
|
hadoop02 |
192.168.80.132 |
|
hadoop03 |
192.168.80.133 |
|
组件 |
安装位置 |
|
Zookeeper |
hadoop01,hadoop02,hadoop03 |
|
Kafka |
hadoop01,hadoop02,hadoop03 |
2.软件下载
Kafka官方下载:http://kafka.apache.org/downloads.html
Zookeeper官方下载:https://zookeeper.apache.org/releases.html
Jdk官方下载:https://www.oracle.com/java/technologies/downloads/
3.安装JDK和Zookeeper
需要说明的是,kafka的安装依赖于Zookeeper,所以运行kafka需要先启动Zookeeper。当然,kafka默认也内置了zk的启动脚本,在kafka安装路径的bin目录下,名称为zookeeper-server-start.sh,如果不想独立安装zk,可直接使用该脚本。
JDK 和Zookeeper安装步骤这里省略,Zookeeper需要启动。
4. Kafka安装步骤
(1)将安装包上传到hadoop01节点
cd /data/software/
ls
kafka_2.12-3.4.0.tgz
(2)配置hadoop01节点
# 下载并解压kafka部署包至/usr/local/目录
cd /data/software/
tar -zxvf kafka_2.12-3.4.0.tgz -C /usr/local/
mv /usr/local/kafka_2.12-3.4.0 /usr/local/kafka
# 修改配置文件
vim config/server.properties
broker.id=0 #唯一标识,集群里每个broker的id需不同
listeners=PLAINTEXT://192.168.80.131:9092 #tcp监听IP地址
log.dirs=/usr/local/kafka/kafka-logs #日志路径,路径需提前创建好,且必须有读写权限
zookeeper.connect=192.168.80.131:2181,192.168.80.132:2181,192.168.80.133:2181 #设置zk的连接地址及端口
配置文件中的一些配置项解释:
broker.id : kafka 节点的标示,每个节点必须不一样
listeners :表示客户端要连接的broker入口地址列表
log.dirs :kafka数据的存储目录,log.dirs可以配置多个目录
zookeeper.connect :ZooKeeper服务地址<ip:port>, 多个zk节点用逗号隔开。
## 创建kafka存储消息(log日志数据)的目录
mkdir /usr/local/kafka/kafka-logs
##将kafka分发到其他两个节点
scp -r /usr/local/kafka hadoop02:/usr/local/ ;
scp -r /usr/local/kafka hadoop02:/usr/local/ ;
(3)配置hadoop02、hadoop03节点
## 登录hadoop02节点,修改hadoop02配置文件
vim config/server.properties
broker.id=1
listeners=PLAINTEXT://192.168.80.132:9092
## 登录hadoop03节点,修改hadoop03配置文件
vim config/server.properties
broker.id=2
listeners=PLAINTEXT://192.168.80.133:9092
(4)分别启动三台节点的Kafka
## 启动kafka
nohup /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
## jps查看进程
jps
输出如下内容:
5301 Jps
4774 QuorumPeerMain
4886 Kafka
## 关闭命令:
/usr/local/kafka/bin/kafka-server-stop.sh
Kafka-分布式安装的更多相关文章
- 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群
Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...
- Kafka 分布式环境搭建
这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...
- Linux下Kafka单机安装配置方法(图文)
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- Kafka分布式集群搭建
环境说明 kafka自0.9之后增加了connector的特性.本文主要是搭建一个分布式的kafka connector和broker. 本文用了三台机器进行部署,使用centos 6.6. host ...
- kafka 的安装部署
Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...
- 051 Kafka的安装
后来重新复习的时候,发现这篇文章不错:https://www.cnblogs.com/z-sm/p/5691760.html 一:前提 1.安装条件 Java Scala zookeeper Ka ...
- Kafka分布式环境搭建 (二)赞
这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...
- kafka分布式虚拟机群部署配置方法
1 配置jdk8 假设安装(解压)路径:jdk1.8.0 修改/etc/profile,增加以下设置并保存 Export JAVA_HOME=jdk1.8.0 Export PATH=$JAVA_HO ...
- kafka分布式搭建
kafka分布式搭建 (192.168.230.129)master (192.168.230.130)slave1 (192.168.230.131)salve2 在master.slave1.sl ...
- Linux下Kafka单机安装配置方法
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...
随机推荐
- P1825 诡异的题
一道不难的题,可是挑了好久也没调好!因为最开始写的代码太复杂了,一大堆嵌套括号,其中有一个ny写成了nx一直没发现.后来用新定义变量取代了那些复杂的用函数."."和方括号表达出来的 ...
- C#设计模式09——组合模式的写法
1. 什么是C#组合模式? 组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示"整体/部分"层次结构.使用此模式,客户端可以按相同的方式处理单个对象和对象集合,而不必关 ...
- 第七届蓝桥杯大赛个人赛省赛(软件类)B组
3.凑算式 B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中A~I代表1~9 ...
- zookeeper源码(03)启动流程
本文将从启动类开始详细分析zookeeper的启动流程: 加载配置的过程 集群启动过程 单机版启动过程 启动类 org.apache.zookeeper.server.quorum.QuorumPee ...
- Hive(3)-Hive数据类型
1. 基本数据类型 对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数 Hive数据类型 ...
- 【C/C++】 代码质量控制手段
问题引入 多人协作开发的项目,没有统一的代码规范,那么最终的编写状态必定风格迥异,产生的结果:对内,阅读审核代码是很痛苦的:对外,公司形象就是差. 单干的项目也必须要严格按照代码规范,因为最终还是会对 ...
- MPC 是下一代私钥安全的7大原因
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. 多重签名钱包与单一密钥钱包相比,因其提升了资产安全性,如今已成为 ...
- Ubuntu 安装 MinIO
MinIO是一个开源的高性能对象存储解决方案,支持多种安装方式,本例仅介绍最基础的单机安装方式. 下载安装文件 直接从MinIO官网下载安装文件. 下载服务端 wget https://dl.min. ...
- Vue-自定义icon实现
在项目中引入了element-ui之后,发现其内置的icon有限,无法满足项目的需求,因此需自定义icon来实现需求. 在vue项目的components下新建SvgIcon目录,在SvgIcon目录 ...
- 【Nginx系列】(一)Nginx基础概念
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 文章更新计划 系列文章地址 Nginx的三个主要应用场景 静态 ...