一、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-分布式安装的更多相关文章

  1. 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群

    Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...

  2. Kafka 分布式环境搭建

    这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...

  3. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  4. Kafka分布式集群搭建

    环境说明 kafka自0.9之后增加了connector的特性.本文主要是搭建一个分布式的kafka connector和broker. 本文用了三台机器进行部署,使用centos 6.6. host ...

  5. kafka 的安装部署

    Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...

  6. 051 Kafka的安装

    后来重新复习的时候,发现这篇文章不错:https://www.cnblogs.com/z-sm/p/5691760.html 一:前提 1.安装条件 Java   Scala zookeeper Ka ...

  7. Kafka分布式环境搭建 (二)赞

    这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...

  8. kafka分布式虚拟机群部署配置方法

    1 配置jdk8 假设安装(解压)路径:jdk1.8.0 修改/etc/profile,增加以下设置并保存 Export JAVA_HOME=jdk1.8.0 Export PATH=$JAVA_HO ...

  9. kafka分布式搭建

    kafka分布式搭建 (192.168.230.129)master (192.168.230.130)slave1 (192.168.230.131)salve2 在master.slave1.sl ...

  10. Linux下Kafka单机安装配置方法

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...

随机推荐

  1. 从输入URL后浏览器的渲染逻辑

    从输入URL到浏览器渲染页面需要经过很多过程,本文简单说明下各个环节的内容 主要渲染节点如下: 一.浏览器进程说明 出于安全考虑,打开一个浏览器的Tab页签,会生成1个浏览器主进程.1个网络进程.1个 ...

  2. Liunx常用操作(三)-如何忽略大小写查找

    1.vim 中的查找 搜索文件内容时加上 /c 参数可以忽略搜索字符的大小写 正常搜索:/helloworld 忽略操作:/helloworld/c 2.find 查找 使用find命令搜索文件时如果 ...

  3. 小白学标准库之 flag

    Go 提供了解析命令行参数的 flag 包,本文旨在介绍 flag 的使用及内部实现等. 1. flag 包使用及实现 type PropertyOfPod struct { Namespace *s ...

  4. GoLang 指针初探

    1. 内置类型和引用类型 Go 中内置类型包括数值类型,字符串类型和布尔类型.引用类型包括切片,映射,通道,接口和函数类型.其中,引用类型表示创建的变量包含一个指向底层数据结构的指针和一组管理底层数据 ...

  5. Linux 常见重要系统文件

    Linux 常见重要系统文件 目录 Linux 常见重要系统文件 网卡配置文件 文件内容举例: DNS配置文件 文件内容举例: 系统hosts文件 文件内容举例: fstab文件 文件内容举例: rc ...

  6. [转帖]调试springboot数据库系统应用时常用debug日志配置, 解决问题缩小范围时常用

    https://www.yihaomen.com/article/1853.html 摘要: 用 spring boot 开发应用时,在遇到麻烦问题时,经常会打开debug日志,下面记录一个通用的思路 ...

  7. [转帖]linux下如何避免rsyslog系统日志不停打印到console

    背景:linux环境下,服务器由于某种异常导致rsyslog message不停打印到console控制台,影响我们正常使用. ps:我遇见的场景: 解决办法:1. vim /etc/rsyslog. ...

  8. [转帖]awk命令 去掉重复行

    https://developer.aliyun.com/article/885946?spm=a2c6h.24874632.expert-profile.263.7c46cfe9h5DxWK lin ...

  9. Redis 的简单学习与整理

    Redis 的简单学习与整理 背景 最近一直进行Redis性能调优和高可用的课题 但是不管什么课题,第一步应该是学习与使用redis 之前总结过 rdb 与 rdr 分析 键值对等内容. 但是发现想要 ...

  10. 【我在京东做研发】揭秘支撑京东万人规模技术人员协作的行云DevOps平台

    分享人:孙长虹 京东云DevOps解决方案架构师 复旦大学计算机系毕业,并拥有人民大学心理学硕士学位.曾任职于Alcatel-Lucent,IBM和惠普,具有丰富的大型复杂产品研发及项目管理经验,擅长 ...