官网:

参考文档:

Kafka入门经典教程

Kafka工作原理详解

一、安装zookeeper

1. 下载zookeeper-3.4.5-cdh5.3.6.tar.gz

下载地址为: http://archive.cloudera.com/cdh5/cdh/5/

2. 解压到/opt/modules/cdh目录

tar -zxvf zookeeper-3.4.-cdh5.3.6.tar.gz -C /opt/modules/

3. 修改配置

cd /opt/modules/cdh/zookeeper-3.4.-cdh5.3.6

mkdir dataDir

cd conf

mv zoo_sample.cfg zoo.cfg

vi zoo.cfg
修改内容
dataDir=/opt/modules/cdh/zookeeper-3.4.-cdh5.3.6/dataDir

4. 启动zookeeper

cd /opt/modules/cdh/zookeeper-3.4.-cdh5.3.6
bin/zkServer.sh start

5. 使用jps命令查看是否成功启动

启动成功,会有QuorumPeerMain进程

二、安装kafka

1. 下载 kafka_2.11-0.10.0.0.tgz

下载地址为https://www.apache.org/dyn/closer.cgi?path=/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz

2. 解压

解压 kafka_2.11-0.10.0.0.tgz到/opt/modules目录

3. 修改配置

mkdir -p /opt/modules/kafka_2.11-0.10.0.0/dataDir

vi server.properties

修改内容:

log.dirs=/opt/modules/kafka_2.11-0.10.0.0/dataDir

zookeeper.connect=beifeng-hadoop-02:2181

4. 启动kafka

以后台进程方式启动kafka

nohup bin/kafka-server-start.sh config/server.properties >~/kafka-start.log >& &

5. 使用jps查看是否成功启动

启动成功能看到Kafka进程

ps -ef | grep kafka
netstat -tlnup | grep

三、单broker模拟生产者和消费者

1. 创建topic

创建一个叫"test"的topic,只有一个分区,一个副本

bin/kafka-topics.sh --create --zookeeper beifeng-hadoop-: --replication-factor  --partitions  --topic test

2. 通过list命令查看创建的topic

bin/kafka-topics.sh --list --zookeeper beifeng-hadoop-: 

3. 发送消息

bin/kafka-console-producer.sh --broker-list beifeng-hadoop-: --topic test

4. 接收消息

bin/kafka-console-consumer.sh --zookeeper beifeng-hadoop-: --topic test --from-beginning

四、搭建一个多broker的集群

1. 修改配置

cp config/server.properties config/server1.properties
cp config/server.properties config/server2.properties

server1.properties内容修改:

broker.id=1

port=9093

log.dir=/opt/modules/kafka_2.11-0.10.0.0/dataDirServer1

server2.properties内容修改:

broker.id=2

port=9094

log.dir=/opt/modules/kafka_2.11-0.10.0.0/dataDirServer2

2. 启动服务器

 nohup bin/kafka-server-start.sh config/server1.properties >~/kafka-server1-start.log >& &

 nohup bin/kafka-server-start.sh config/server2.properties >~/kafka-server2-start.log >& &

3. 创建有3个副本的topic

bin/kafka-topics.sh --create --zookeeper beifeng-hadoop-: --replication-factor  --partitions  --topic my-replicated-topic

4. 查看topic信息

bin/kafka-topics.sh --describe --zookeeper beifeng-hadoop-: --topic my-replicated-topic

Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0

解释一下这些输出。第一行是对所有分区的一个描述,然后每个分区都会对应一行,因为我们只有一个分区所以下面就只加了一行。
leader:负责处理消息的读和写,leader是从所有节点中随机选择的.
replicas:列出了所有的副本节点,不管节点是否在服务中.
isr:是正在服务中的节点.
在我们的例子中,节点1是作为leader运行。

5. 生产者

bin/kafka-console-producer.sh --broker-list beifeng-hadoop-: --topic my-replicated-topic

6. 消费者

bin/kafka-console-consumer.sh --zookeeper beifeng-hadoop-: --from-beginning --topic my-replicated-topic

《OD大数据实战》Kafka入门实例的更多相关文章

  1. 《OD大数据实战》HDFS入门实例

    一.环境搭建 1.  下载安装配置 <OD大数据实战>Hadoop伪分布式环境搭建 2. Hadoop配置信息 1)${HADOOP_HOME}/libexec:存储hadoop的默认环境 ...

  2. 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台

    一.环境搭建 1. <OD大数据实战>Hadoop伪分布式环境搭建 2. <OD大数据实战>Hive环境搭建 3. <OD大数据实战>Sqoop入门实例 4. &l ...

  3. 《OD大数据实战》Hive环境搭建

    一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cd ...

  4. 《OD大数据实战》环境整理

    一.关机后服务重新启动 1. 启动hadoop服务 sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode ...

  5. 《OD大数据实战》Hive入门实例

    官方参考文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual 一.命令行和客户端 1. 命令窗口 1)进入命令窗口 hi ...

  6. 《OD大数据实战》Sqoop入门实例

    官网地址: http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.5-cdh5.3.6/SqoopUserGuide.html 一.环境搭建 1. 下载 s ...

  7. 《OD大数据实战》Flume入门实例

    一.netcat source + memory channel + logger sink 1. 修改配置 1)修改$FLUME_HOME/conf下的flume-env.sh文件,修改内容如下 e ...

  8. 《OD大数据实战》Mahout入门实例

    一.环境搭建 1. 下载 mahout-0.9-cdh5.3.6.tar.gz 2. 解压 3. mahout org.apache.mahout.clustering.syntheticcontro ...

  9. 《OD大数据实战》Spark入门实例

    一.环境搭建 1. 编译spark 1.3.0 1)安装apache-maven-3.0.5 2)下载并解压 spark-1.3.0.tgz 3)修改make-distribution.sh  VER ...

随机推荐

  1. 研究AVCaptureDevice

    一.Apple Resource 1. wwdc 2014: Camera Caputre: Manual Controls 2. Exaple code: AVCam&AVCamManul ...

  2. HDU1056 HangOver

    HangOver Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Descript ...

  3. Goolg Chrome 插件开发--Hello world

    开发Chrome插件很简单,只要会web开发(html+javascript+css)那么这个就是能驾轻就熟,只需要了解一下插件具体的运行环境及要求就OK了. 1.先创建一个html文件,名字随便取, ...

  4. javascript实现数据结构:线性表--简单示例及线性表的顺序表示和实现

    线性表(linear list)是最常用且最简单的一种数据结构.一个线性表是n个数据元素的有限序列.在稍复杂的线性表中,一个数据元素可以由若干个数据项(item)组成. 其中: 数据元素的个数n定义为 ...

  5. POJ 1185 炮兵阵地 (状压DP)

    题目链接 题意 : 中文题不详述. 思路 :状压DP,1表示该位置放炮弹,0表示不放.dp[i][j][k],代表第 i 行的状态为k时第i-1行的状态为 j 时放置的最大炮弹数.只是注意判断的时候不 ...

  6. poj 3635(bfs+优先队列)

    题目链接:http://poj.org/problem?id=3635 思路:本题主要运用的还是贪心思想,由于要求st->ed的最小花费,那么每经过一个城市,能不加油就尽量不加油,用dp[i][ ...

  7. Node 出现 uncaughtException 之后的优雅退出方案

    Node 的异步特性是它最大的魅力,但是在带来便利的同时也带来了不少麻烦和坑,错误捕获就是一个.由于 Node 的异步特性,导致我们无法使用 try/catch 来捕获回调函数中的异常,例如: try ...

  8. Jmeter之Bean shell使用(二)

    上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...

  9. fuel openstack 在 VirtualBox 上的部署

    搞了两天,终于搞好了.说说过程: 一开始用的6.1版本的Fuel.iso,按照国内外的教程装了几遍,但是网路验证始终不能通过.自己又不是很懂网络.后来在网上看到说6.1版的需要fuel-master连 ...

  10. JSTL Tag学习笔记之<fn: />

    在JSTL中也提供了一些标准的函数,但是几乎都是和操作字符串相关的函数,如果需要使用这类函数的话,应该引入下面的taglib: <%@ taglib prefix="fn" ...