附录E 安装Kafka
E.1 安装Kafka
E.1.1 下载Kafka
Kafka是由LinkedIn设计的一个高吞吐量、分布式、基于发布订阅模式的消息系统,使用Scala编写,它以可水平扩展、可靠性、异步通信和高吞吐率等特性而被广泛使用。目前越来越多的开源分布式处理系统都支持与Kafka集成,其中Spark Streaming作为后端流引擎配合Kafka作为前端消息系统正成为当前流处理系统的主流架构之一。
Kafka安装包可以在其官网下载页面下载,下载地址如下,为加快下载速度可以选择中国境内的镜像,选择稳定版本kafka_2.11-0.9.0.1.tgz安装包。
http://kafka.apache.org/downloads.html
E.1.2 解压并配置环境变量
下载后把安装包方放在目录/home/spark/work目录下,用下面命令解压缩Kafka安装包,并把解压后的目录移动到/app/soft目录下:
$cd /home/spark/work/
$tar -zxf kafka_2.11-0.9.0.1.tgz
$mv kafka-0.9.0.1 /app/soft
$ll /app/soft
为了方便运行Kafka相关脚本,将Kafka的bin路径加入到/etc/profile中,设置如下内容(分发到各节点后,在各节点上做同样设置):
export KAFKA_HOME=/app/soft/kafka-0.9.0.1
export PATH=$PATH:$KAFKA_HOME/bin
设置完毕后使用如下命令使配置生效:
$source /etc/profile
E.1.3 修改Kafka的配置文件
在Kafka的根目录下建立log目录用于存放日志文件:
$mkdir /app/soft/kafka-0.9.0.1/logs/
修改$KAFKA_HOME/config/server.properties配置文件内容(仅列出重要配置):
################ Server Basics ################
,slave1节点设置为1,slave2节点设置为2
broker.id=1
################ Socket Server Settings ################
#broker用于接收producer消息的端口
port=9092
#broker的hostname
host.name=master
#配置PRODUCER/CONSUMER连上来的时候使用的地址
advertised.host.name=master
################ Log Basics ################
#kafka存放消息文件的路径
log.dirs=/app/soft/kafka-0.9.0.1/logs/
#topic的默认分区数
num.partitions=2
################ ZooKeeper ################
#ZooKeeper集群连接地址信息
zookeeper.connect=master:2181,slave1:2181,slave2:2181
#连接ZooKeeper超时时间,单位为毫秒
zookeeper.connection.timeout.ms=6000
E.1.4 分发Kafka到各节点
使用scp命令到Kafka分发到slave1和slave2节点上:
$cd /app/soft/kafka-0.9.0.1
$scp -r kafka-0.9.0.1 spark@slave1:/app/soft
$scp -r kafka-0.9.0.1 spark@slave2:/app/soft
分发完毕后,修改server.properties配置文件中broker.id、host.name、advertised.host. name和zookeeper.connect等配置项。
E.2 启动并验证
1. 启动ZooKeeper
分别在master、slave1和slave2节点上启动ZooKeeper服务:
$zkServer.sh start
2. 启动Kafka
分别在master、slave1和slave2节点上启动Kafka服务:
$kafka-server-start.sh $KAFKA_HOME/config/server.properties

图 附录E‑1 启动Kafka
3. 在master节点上新建主题Topic
$kafka-topics.sh --create --topic kafkaTopic --replication-factor 3 --partitions 2 --zookeeper master:2181

图 附录E‑2 在Kafka中创建主题
4. 在slave1模拟消息生产者,发送消息至Kafka
$kafka-console-producer.sh --broker-list master:9092 --sync --topic kafkaTopic
当消费者连接后,在发送消息的终端输入:hello kafka/who are you?

图 附录E‑3 slave1模拟消息生产者发送消息
5. 在slave2模拟消息消费者,显示消息的消费
$kafka-console-consumer.sh --zookeeper master:2181 --topic kafkaTopic --from-beginning
由于设置接收从开始到现在的消息,以前发送的消息也显示在slave2终端上。

图 附录E‑4 slave2模拟消息消费者收到消息
附录E 安装Kafka的更多相关文章
- PHP安装kafka插件
在工作中我们经常遇到需要给php安装插件,今天把php安装kafka的插件的步骤整理下,仅供大家参考 1:需要先安装librdkafka git clone https://github.com/ed ...
- Windows 安装Kafka
Windows 7 安装Apache kafka_2.11-0.9.0.1 下载所需文件 Zookeeper: http://www.apache.org/dyn/closer.cgi/zoo ...
- Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书
伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...
- ambari安装集群下安装kafka manager
简介: 不想通过kafka shell来管理kafka已创建的topic信息,想通过管理页面来统一管理和查看kafka集群.所以选择了大部分人使用的kafka manager,我一共有一台主机mast ...
- 安装kafka过程及出现的问题解决
第一步:下载kafka安装包 下载地址:http://kafka.apache.org/downloads 解压 到/usr/local 目录 tar -zxvf kafka_2.12-2.2.0 第 ...
- [转]Windows 安装Kafka
来源:https://www.cnblogs.com/liuyuhua/p/5329926.html https://www.cnblogs.com/xinlingyoulan/p/6054361.h ...
- kubernetes(k8s) helm安装kafka、zookeeper
通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...
- window上安装kafka(单机)
1.第一步骤,先安装JDK,请参考:https://www.cnblogs.com/xubao/p/10692861.html 2.第二步骤,安装zookeeper,请参考:https://www.c ...
- linux 安装 kafka&zookeeper
安装kafka 1,下载kafka. #cd /usr/local #wget wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.1 ...
随机推荐
- 取消TableViewCell选中状态的外观变化
tabelViewcell 使用Xib创建自定义外观的时候,在tableview选中的时候,cell的外观会发生变化,在定义Xib中如下图将选中的外观状态取消掉 也有其他选项,可以选择控制选中的时候的 ...
- [LintCode] Product of Array Except Self 除本身之外的数组之积
Given an integers array A. Define B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], calculate B WI ...
- 基于webdriver的jmeter性能测试-Eclipse+Selenium+JUnit生成jar包
续接 打开eclipse新建java项目,如下图所示: 输入项目名称后点击"完成"按钮,如下图所示: eclipse中新建一个java项目,如下图所示: 添加类库,如下图所示: 在 ...
- *HDU 1757 矩阵乘法
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- Kafka设计解析(三)- Kafka High Availability (下)
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/06/08/KafkaColumn3 摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机 ...
- 关于ReSharper
Resharper提供以下6个核心功能1. 代码分析(Code Analysis):智能提示代码中存在的问题和修复建议. 2. 编码助手(Coding Assistance):智能提示自动完成功能. ...
- ie8 jquery parents() 获取多个的问题
今天开发的时候碰到了一个奇怪的问题 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3 ...
- 非常郁闷的 .NET中程序集的动态加载
记载这篇文章的原因是我自己遇到了动态加载程序集的问题,而困扰了一天之久. 最终看到了这篇博客:http://www.cnblogs.com/brucebi/archive/2013/05/22/Ass ...
- [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)
[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...
- 微冷的雨ASP.NET MVC之葵花宝典(MVC)
微冷的雨ASP.NET MVC之葵花宝典 By:微冷的雨 第一章 ASP.NET MVC的请求和处理机制. 在MVC中: 01.所有的请求都要归结到控制器(Controller)上. 02.约定优于配 ...