Kafka集群的安装和部署
一、Kafka的下载与解压
http://kafka.apache.org/downloads.html下载kafka_2.11-1.1.1.tgz.gz并解压到/home/jun下
[jun@master ~]$ cd kafka_2.-1.1./
[jun@master kafka_2.-1.1.]$ ls -l
total
drwxr-xr-x. jun jun Jul : bin
drwxr-xr-x. jun jun Jul : config
drwxr-xr-x. jun jun Jul : libs
-rw-r--r--. jun jun Jul : LICENSE
-rw-r--r--. jun jun Jul : NOTICE
drwxr-xr-x. jun jun Jul : site-docs
二、配置Kafka集群
1.在Master节点上的配置
配置server.properties
[jun@master kafka_2.-1.1.]$ gedit /home/jun/kafka_2.-1.1./config/server.properties
(1)在Server Basics部分增加下面的配置:将master作为broker,其id采用了默认的0
############################# Server Basics ############################# # The id of the broker. This must be set to a unique integer for each broker.
broker.id=
host.name=master
listeners=PLAINTEXT://master:9092
(2)在Zookeeper部分增加下面的配置,Zookeeper作为协调器,它连接的节点包括了集群的所有计算机。
############################# Zookeeper ############################# # Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=master:,slave0:,slave1: # Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=
将Kafka文件复制Slave节点
[jun@master kafka_2.-1.1.]$ scp -r /home/jun/kafka_2.-1.1./ slave0:~/
[jun@master kafka_2.-1.1.]$ scp -r /home/jun/kafka_2.-1.1./ slave1:~/
2.在Slave节点上的配置
同理,将slave0的broker.id设置为1,host.name=slave0,listeners=PLAINTEXT://slave0:9092;将slave1的broker.id设置为2,host.name=slave1,listeners=PLAINTEXT://slave1:9092即可。
三、Kafka的应用
1.启动Kafka自带的Zookeeper服务
首先查看当前系统进程列表
[jun@master ~]$ jps
Jps [jun@slave0 ~]$ jps
Jps [jun@slave1 ~]$ jps
Jps
启动Kafka自带的Zookeeper服务
[jun@master kafka_2.-1.1.]$ bin/zookeeper-server-start.sh config/zookeeper.properties
[jun@slave0 kafka_2.11-1.1.1]$ bin/zookeeper-server-start.sh config/zookeeper.properties
[jun@slave1 kafka_2.11-1.1.1]$ bin/zookeeper-server-start.sh config/zookeeper.properties
另开一个终端,查看此时的系统进程,此时QuorumPeerMain就是Zookeeper服务器进程
[jun@master kafka_2.-1.1.]$ jps
Jps
QuorumPeerMain [jun@slave0 kafka_2.-1.1.]$ jps
Jps
QuorumPeerMain [jun@slave1 kafka_2.-1.1.]$ jps
QuorumPeerMain
Jps
2.启动Kafka服务
[jun@master kafka_2.-1.1.]$ bin/kafka-server-start.sh config/server.properties
[jun@slave0 kafka_2.-1.1.]$ bin/kafka-server-start.sh config/server.properties
[jun@slave1 kafka_2.-1.1.]$ bin/kafka-server-start.sh config/server.properties
另开一个终端,查看此时的系统进程,此时的Kafka就是Kafka的服务器进程
[jun@master kafka_2.-1.1.]$ jps
Jps
Kafka
QuorumPeerMain [jun@slave0 kafka_2.-1.1.]$ jps
Kafka
QuorumPeerMain
Jps [jun@slave1 kafka_2.-1.1.]$ jps
QuorumPeerMain
Kafka
Jps
3.创建主题
· 主题(Topic)是消息中间件的基本概念,相当于文件系统的目录,其实就是用于保存消息内容的计算实体,通过主题名加以标识,就如同目录通过目录名标识一样。
(1)在master节点上创建一个名称为“test”的主题
[jun@master kafka_2.-1.1.]$ bin/kafka-topics.sh --create -zookeeper master: --replication-factor --partitions --topic test
Created topic "test".
(2)查看已经创建的消息主题,同样,在其他Slave结点上执行该命令也可以查看到创建的主题
[jun@master kafka_2.-1.1.]$ bin/kafka-topics.sh --list --zookeeper master:
test
4.发送消息
消息中间件是一个用于接收消息并转发消息的服务,为了检验Kafka是否能够正常工作,需要创建一个消息生产者(producer)、利用它产生消息
[jun@master kafka_2.-1.1.]$ bin/kafka-console-producer.sh --broker-list master: --topic test
>say hi
[-- ::,] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id : {myfinaltest=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
>hi
>you
>cnm
>
5.接收消息
在一个新终端上执行如下的命令,可以看到接收到了producer发送的消息
[jun@slave0 kafka_2.-1.1.]$ bin/kafka-console-consumer.sh --bootstrap-server slave0: --topic test--from-beginning
say hi
hi
you
cnm [jun@slave1 kafka_2.-1.1.]$ bin/kafka-console-consumer.sh --bootstrap-server slave0: --topic test--from-beginning
say hi
hi
you
cnm
Kafka集群的安装和部署的更多相关文章
- 一脸懵逼学习KafKa集群的安装搭建--(一种高吞吐量的分布式发布订阅消息系统)
kafka的前言知识: :Kafka是什么? 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算.kafka是一个生产-消费模型. Producer:生产者,只负责数 ...
- kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)
kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...
- 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?
即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破? 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错:org.a ...
- kafka集群管理工具kafka-manager部署安装
一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...
- zookeeper+kafka集群的安装部署
准备工作 上传 zookeeper-3.4.6.tar.gz.scala-2.11.4.tgz.kafka_2.9.2-0.8.1.1.tgz.slf4j-1.7.6.zip 至/usr/local目 ...
- Kafka集群的安装和使用
Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,原本开发自LinkedIn,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础.现在它已被 ...
- Kafka集群模式安装(二)
我们来安装Kafka的集群模式,三台机器: 192.168.131.128 192.168.131.130 192.168.131.131 Kafka集群需要依赖zookeeper,所以需要先安装好z ...
- zookeeper+kafka集群的安装
时效性要求很高的数据,库存,采取的是数据库+缓存双写的技术方案,也解决了双写的一致性的问题 缓存数据生产服务,监听一个消息队列,然后数据源服务(商品信息管理服务)发生了数据变更之后,就将数据变更的消息 ...
- Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装
首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker sudo ...
随机推荐
- Docker运行mysql,redis,oracle容器和SpringBoot项目
dokcer运行SpringBoot项目 from frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD target/demo-0.0.1-SNAPSHOT ...
- opencv霍夫变换
霍夫变换不仅可以找出图片中的直线,也可以找出圆,椭圆,三角形等等,只要你能定义出直线方程,圆形的方程等等. 不得不说,现在网上的各种博客质量真的不行,网上一堆文章,乱TM瞎写,误人子弟.本身自己就没有 ...
- .NetCore技术研究-.NET Core迁移前的准备工作
前段时间迁移.NET Core做了大量的试水和评估,今天整理一下分享给大家.大致有以下几个部分: 1. .NET Core的由来 2. 为什么要迁移.NET Core 3. .NET Core3.X主 ...
- Kotlin学习系列(二)
IF表达式 if在kotlin可以当做表达式使用跟java的三元操作符类似: var max = if( a > b ) a else b if分支可以使用代码块,最后一个表达式是返回值: va ...
- VR应用评测 - Apollo 11 阿波罗11号
Apollo 11 VR http://store.steampowered.com/app/457860/Apollo_11_VR/ Steam VR 2016年发布 好评率 50% 基于美国航空航 ...
- linux目录化结构
初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp ...
- 解决mac OSX下安装git出现的"git命令需要使用开发者工具。您要现在安装该工具吗"(19款Mac)
1.本地安装Git ,这里不做说明 2.命令行执行 sudo mv /usr/bin/git /usr/bin/git-system 3.如果提示 权限不足,操作不被允许,关闭Rootless,重启按 ...
- Scala 学习笔记之集合(1)
package com.citi.scala object CollectionDemo { def main(args: Array[String]): Unit = { /** * List */ ...
- 从零开始的vue学习笔记(四)
组件注册 组件名 Vue.component('my-component-name', { /* ... */ }) 这里的my-component-name就是组件名,组件名的取法可以参考指南 ke ...
- DrawerLayout(抽屉效果)
DrawerLayout是V4包下提供的一种左滑右滑抽屉布局效果. 实现效果如下: 因为是官方提供的,所以使用起来也相对的比较简单. DrawerLayout 提供 1.当界面弹出的时候,主要内容区会 ...