Kafka架构介绍和安装

写在前面

还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它。简单来说,kafka既是一个消息队列,如今,它也演变为一个分布式的流处理平台,这一点就是很厉害的了。所以,学习kafka对于大数据的小伙伴们来说,是非常有益的。

(一)Kafka概述

1.Kafka是一个分布式的流处理平台,有消息的订阅系统(订阅之后,一旦有新的消息产生,你就会收到消息),可以以多副本的方式进行存储,可以构建实时数据管道,以及实时的流处理,能够横向水平扩展,容错等特点。大数据的实时流处理场景很多时候都会使用到kafka

上面是官网中的图片

Kafka和消息系统类似,消息中间件的一种:有生产者和消费者的概念。

(二)Kafka架构



从上面官网给出的图片中,我们知道,kafka是有以下几个主要的该丽娜

1)producer:生产者,

2)consumer:消费者,

3)broker:一个broker就是一个kafka,

4)topic:主题,给生产的消息打上一个标签,代表是谁生产的.

First a few concepts:[几个概念]

Kafka is run as a cluster on one or more servers.

The Kafka cluster stores streams of records in categories called topics.

Each record consists of a key, a value, and a timestamp.

(三)Kafka的安装部署

我们首先来到官网上去,http://kafka.apache.org/quickstart

从这个快速开始中,知道我们的kafka是依赖于zookeeper的,所以我们第一步来安装zookpeer,然后安装Kafka

zookeeper的安装

  1. 下载zookeeper,地址在cdh5的页面http://archive.cloudera.com/cdh5/cdh/5/
  2. 解压到自己指定的目录中去,我一般喜欢~/app,这个看自己的习惯就好,这里我把解压后的文件修改名称为zk,
  3. 把解压的目录导出,
[hadoop@hadoop000 zk]$ vim ~/.bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH export FLUME_HOME=/home/hadoop/app/flume
export PATH=$FLUME_HOME/bin:$PATH export ZK_HOME=/home/hadoop/app/zk
export PATH=$ZK_HOME/bin:$PATH #:wq 保存退出

4.再source一个系统环境

[hadoop@hadoop000 zk]$ source ~/.bash_profile
[hadoop@hadoop000 zk]$

5.配置zookeeper,来到解压目录下的conf文件

拷贝一份

[hadoop@hadoop000 conf]$ cp zoo_sample.cfg zoo.cfg
[hadoop@hadoop000 conf]$ vim zoo.cfg
#修改数据的临时存放目录,默认是在tmp目录下的
dataDir=/home/hadoop/app/tmp/zk
#:wq 保存退出

6.启动zookeeper

[hadoop@hadoop000 conf]$ cd ../bin/
[hadoop@hadoop000 bin]$ zkServer.sh start
JMX enabled by default
Using config: /home/hadoop/app/zk/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 10943.
[hadoop@hadoop000 bin]$

7.查看进程

[hadoop@hadoop000 bin]$ jps
27179 Jps
10943 QuorumPeerMain
[hadoop@hadoop000 bin]$
#看见QuorumPeerMain,说明就启动成功了

Kafka的安装部署

按照官网上的指南,我们先下载Kafka,点击官网上面的downloadhttp://kafka.apache.org/downloads 在选择版本的时候,我们推荐使用0.9.0.0版本的,目前这个版本在上产上比较常用,

  1. 下载https://archive.apache.org/dist/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz 因为kafka是scala语言写的,后面我们也可能会使用到scala,因为我安装的scala是2.11版本。这个下载的版本主要看自己的情况,在官网上选择合适的就好
  2. 解压到指定目录,再导出到系统环境中‘’
[hadoop@hadoop000 ~]$ vim ~/.bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH export FLUME_HOME=/home/hadoop/app/flume
export PATH=$FLUME_HOME/bin:$PATH export ZK_HOME=/home/hadoop/app/zk
export PATH=$ZK_HOME/bin:$PATH export KAFKA_HOME=/home/hadoop/app/kafka
export PATH=$KAFKA_HOME/bin:$PATH #:wq保存退出

3.再source一下

4.配置,修改解压目录下config配置文件

配置server.properties[需要注意的地方]
broker.id=0 解释:是kafka,一个broker
listeners 解释:监听的端口
host.name 解释:当前机器
log.dirs 解释:kafka的日志存放目录
zookeeper.connect zk的地址 修改好之后,保存退出

5.现在,就可以来启动了

如何启动呢??看官网是如何说的,http://kafka.apache.org/quickstart

bin/zookeeper-server-start.sh config/zookeeper.properties

2).再启动我们的kafka

bin/kafka-server-start.sh config/server.properties

#启动kafka的命令
kafka-server-start.sh $KAFKA_HOME/config/server.properties

6.启动之后

[hadoop@hadoop000 ~]$ jps
27251 Kafka
27334 Jps
10943 QuorumPeerMain
[hadoop@hadoop000 ~]$
#可以看见Kafka的进程,就对啦

好的,到这里我们的kafka就安装完成了,接下来,我们就开始做broker的部署...

推荐一下:Kafka系列二之部署与使用

http://blog.csdn.net/liuge36/article/details/78593404

Kafka系列一之架构介绍和安装的更多相关文章

  1. Flume系列一之架构介绍和安装

    Flume架构介绍和安装 写在前面 在学习一门新的技术之前,我们得知道了解这个东西有什么用?我们可以使用它来做些什么呢?简单来说,flume是大数据日志分析中不能缺少的一个组件,既可以使用在流处理中, ...

  2. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  3. API网关系列之Kong的介绍以及安装

    一.API网关产生背景 在微服务的架构中,一个大的应用会被拆分成多个小的单一的服务提供出来,这些小的服务有自己的处理,有自己的数据库(也可以共用),也许语言也是不一样的,他们可以部署在一个或多个服务器 ...

  4. 【Docker】2. Docker的架构介绍、安装与卸载 (CentOS 7)

    一.docker的基本组成 开局一张图. docker的组成: Client:客户端,可以通过它与docker服务进行交互.比如容器的构建.拉取.运行. DOCKER_HOST:就是docker服务. ...

  5. dubbo系列三、架构介绍及各模块关系

    一.整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口. 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代 ...

  6. LNMP架构介绍 MySQL安装 PHP安装 Nginx介绍

  7. Kafka系列二之部署与使用

    Kafka部署与使用 写在前面 从上一篇Kafka的架构介绍和安装中,可能,你还一直很蒙,kafka到底该怎么使用呢?接下来,我们就来介绍Kafka的部署与使用.上篇文章中我们说到,Kafka的几个重 ...

  8. Kafka设计解析(一)Kafka背景及架构介绍

    转载自 技术世界,原文链接 Kafka设计解析(一)- Kafka背景及架构介绍 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Pr ...

  9. Kafka剖析:Kafka背景及架构介绍

    <Kafka剖析:Kafka背景及架构介绍> <Kafka设计解析:Kafka High Availability(上)> <Kafka设计解析:Kafka High A ...

随机推荐

  1. 消息中间件——RabbitMQ(八)高级特性全在这里!(下)

    前言 上一篇消息中间件--RabbitMQ(七)高级特性全在这里!(上)中我们介绍了消息如何保障100%的投递成功?,幂等性概念详解,在海量订单产生的业务高峰期,如何避免消息的重复消费的问题?,Con ...

  2. UVA10831题解

    Gerg's Cake Gerg is having a party, and he has invited his friends. p of them have arrived already, ...

  3. 人员考勤,MySQLl数据库一个表自动生成3表筛选人员迟到早退缺勤

    前言:漂亮的人事小姐姐找我帮忙弄考勤:由于人员考勤和门禁一起,打卡记录太多,打卡机只能导出一个打卡Excel总表,不容易人工筛选. Excel表的格式是这样的:(这里101代替真实人名) 实现目标: ...

  4. windows系统查询指定端口运行的进程并关闭

    假如占用的端口是80: 先打开cmd命令窗口 再查找80端口占用的进程:netstat  -aon|findstr  "80"    ,找到对应的程序的PID号: 根据PID号找到 ...

  5. Leetcode之回溯法专题-216. 组合总和 III(Combination Sum III)

    Leetcode之回溯法专题-216. 组合总和 III(Combination Sum III) 同类题目: Leetcode之回溯法专题-39. 组合总数(Combination Sum) Lee ...

  6. [工具使用]-利用latex管理创建自己的ACM模板

    从很早入坑ACM开始,便和各种算法的模板打着交道,虽然kaungbin的模板已经足够强大,但是自己在平常做题中也逐渐有着自己的一些模板,也有一些kuangbin模板中没有的更快的板子,虽然不确定时候以 ...

  7. java基础-多线程一

    什么是线程 说到线程就不得不说下进程了, 大家都知道,许许多多的线程组合在一起就成了一个进程,进程是由操作系统进行资源操作的一个最小的单位,线程则是比进程更小的实际执行操作的单位:每个线程都有自己的堆 ...

  8. SPOJ - QTREE4 Query on a tree IV 边分治

    题目传送门 题意:有一棵数,每个节点有颜色,黑色或者白色,树边有边权,现在有2个操作,1修改某个点的颜色, 2询问2个白点的之前的路径权值最大和是多少. 题解: 边分治思路. 1.重构图. 因为边分治 ...

  9. “玲珑杯”ACM比赛 Round #11 B -- 萌萌哒的第二题

    DESCRIPTION 一条东西走向的河两边有都排着工厂,北边有n间工厂A提供原材料,南边有n间工厂B进行生产.现在需要在工厂A和工厂B之间建运输桥以减少运输成本.可是每个工厂B只能接受最多6个工厂A ...

  10. hdu 2050 折线分割平面 dp递推 *

    折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...