【Apache KafKa系列之一】KafKa安装部署
kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性:
- 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
- 高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。
- 支持通过kafka服务器和消费机集群来分区消息。
- 支持Hadoop并行数据加载。
Kafka的目的是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。kafka的目的是通过Hadoop的并行加载机 制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。
下图为kafka的架构图:
1、下载Kafka bin包
下载地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.0/kafka_2.8.0-0.8.0.tar.gz
- > tar xzf kafka-<VERSION>.tgz
- > cd kafka-<VERSION>
- > sbt update
- > sbt package
- > sbt assembly-package-dependency
这里可能有很多童鞋执行sbt的时候会报找不到这个命令
- No command 'sbt' found, did you mean:
- Command 'skt' from package 'latex-sanskrit' (main)
- Command 'sb2' from package 'scratchbox2' (universe)
- Command 'sbd' from package 'cluster-glue' (main)
- Command 'mbt' from package 'mbt' (universe)
- Command 'sbmt' from package 'atfs' (universe)
- Command 'lbt' from package 'lbt' (universe)
- Command 'st' from package 'suckless-tools' (universe)
- Command 'sb' from package 'lrzsz' (universe)
- sbt: command not found
这个是需要自己安装的,安装包可以到sbt官网下载。我这边用的ubuntu系统,所以我下载了个deb包,官网地址:http://www.scala-sbt.org/
deb包地址:http://repo.scala-sbt.org/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.13.1/sbt.deb
rpm包地址:http://repo.scala-sbt.org/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.13.1/sbt.rpm
2、启动服务
官网教程中有启动zookeeper这一项,启动zookeeper之前要配置好zookeeper.properties
- > bin/zookeeper-server-start.sh config/zookeeper.properties
- [2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
- ...
由于我这边使用的是独立的zookeeper,所以无需执行以上步骤;
如果想知道zookeeper独立安装步骤,可以查看我的博客http://blog.csdn.net/weijonathan/article/details/8591117
有了zookeeper之后我们启动Kafka服务,但是在这之前我们要先配置好kafka的server.properties文件
将server.properties中的zookeeper.connect配置为你的zookeeper集群地址
- zookeeper.connect=nutch1:2181
接下来启动kafka
- > bin/kafka-server-start.sh config/server.properties
3、创建Topic
创建一个名为“test”只有一个分区,只有一个副本的Topic:
- > bin/kafka-create-topic.sh --zookeeper nutch1:2181 --replica 1 --partition 1 --topic test
运行list topic命令,可以看到Topic列表
- > bin/kafka-list-topic.sh --zookeeper nutch1:2181
4、发送消息
kafka自带的一个命令行客户端,运行后可以输入消息,kafka会将其发送到kafka进群进行消息消费。默认情况下,每一行数据被作为一个消息进行发送。
接下来我们运行producer试试
- > bin/kafka-console-producer.sh --broker-list nutch1:9092 --topic test
- This is a message
- This is another message
这里输入This is a message和This is another message
5、启动消费者(consumer)
上面我们通过kafka自带的命令行输入了两行消息,那么我们现在启动消费者看看是否会接收到。
- > bin/kafka-console-consumer.sh --zookeeper nutch1:2181 --topic test --from-beginning
- This is a message
- This is another message
可以看到消费者已经对我们上面输入的数据进行处理了;
【Apache KafKa系列之一】KafKa安装部署的更多相关文章
- kubernetes系列03—kubeadm安装部署K8S集群
本文收录在容器技术学习系列文章总目录 1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm ...
- Apache Hadoop集群离线安装部署(三)——Hbase安装
Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...
- Apache Hadoop集群离线安装部署(二)——Spark-2.1.0 on Yarn安装
Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...
- Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS、YARN、MR)安装
虽然我已经装了个Cloudera的CDH集群(教程详见:http://www.cnblogs.com/pojishou/p/6267616.html),但实在太吃内存了,而且给定的组件版本是不可选的, ...
- 消息中间件--kafka(1)安装部署
一.概念 1.什么是kafka Kafka是由Apache软件基金会开发的一个开源的分布式流处理平台,由LinkedIn公司开发,使用 Scala和Java编写.Kafka是一个分布式.分区的.多副本 ...
- Kafka在Linux上安装部署及样例测试
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- Kafka在window上安装部署
1.准备工作 ①jdk 具体自行百度安装jdk,配置好 JAVA_HOME和path, 下载地址: http://www.oracle.com/technetwork/java/javase/ ...
- Kafka系列之-Kafka Protocol实例分析
本文基于A Guide To The Kafka Protocol文档,以及Spark Streaming中实现的org.apache.spark.streaming.kafka.KafkaClust ...
- Kafka系列之-Kafka监控工具KafkaOffsetMonitor配置及使用
KafkaOffsetMonitor是一个可以用于监控Kafka的Topic及Consumer消费状况的工具,其配置和使用特别的方便.源项目Github地址为:https://github.com/q ...
- Kafka系列之-Kafka入门
接下来的这些博客,主要内容来自<Learning Apache Kafka Second Edition>这本书,书不厚,200多页.接下来摘录出本书中的重要知识点,偶尔参考一些网络资料, ...
随机推荐
- 以域管理账户连接到TFS或git时,设置IE允许Cookies
在 Windows 域环境中,每个项目组会创建一个项目管理账户,在和其他项目组进行数据交互时,只需要授予该项目管理账户相应的权限,方便了权限的管理.对于项目组管理账户:domain\admin,该域账 ...
- trie树模板(统计难题)
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ...
- elasticsearch查询模板
{ "from":#from#, "size":#size#, "_source":#source#, "query": ...
- Google Daydream 在中国的第一次演讲摘录
从 PC.手机到 VR/AR,计算机平台正在迁移,而在这个过程中,与用户使用体验息息相关的「人机交互方式」也将不可避免的发生变化.作为这几波浪潮的弄潮儿,Google 怎么看这种人机交互方式的演进? ...
- D3.js:动态效果
D3 提供了 4 个方法用于实现图形的过渡: - transition() 启动过渡效果,其前后是图形变化前后的状态(形状.位置.颜色等等),例如: .attr("fill",&q ...
- dirty cow exp
公司搞底层的改了一下,说做到了几个不死机 /* * (un)comment correct payload first (x86 or x64)! * * $ gcc cowroot.c -o cow ...
- selenium2使用记录
安装 pip install selenium web phantomjs下载 :http://phantomjs.org/download.html 浏览器驱动下载:http://www.selen ...
- TypeScript 学习二 表达式和循环
表达式: 1,箭头表达式:将function用箭头代替,参数相应进行处理: 用来声明匿名函数,消除了传统匿名函数的this指针问题: 1) 例:简单的方法体为单行的方法,此时不需要大括号和return ...
- 提示找不到xml配置文件
ClassPathXmlApplicationContext("applicationContext.xml")默认文件夹是resouerces,所以要把xml文件放在这个下面.
- svn自动备份并上传到ftp
.建立bat文件 simpleBackup.bat,文件内容如下 @echo 正在备份版本库%1......@%SVN_HOME%bin\svnadmin hotcopy %1 %BACKUP_DIR ...