【JAVA版】Storm程序整合Kafka、Mongodb示例及部署
一、环境
- 一台Centos6.5主机
- Mongo 3.0
- Kafka_2.11-0.8.2.1
- Storm-0.9.5
- Zookeeper-3.4.6
- java 1.7 (后因在mac上打包的jar由1.8编译没法儿运行,改为java 1.8)
- 其余环境暂略
二、运行启动
- 启动zookeeper
确认配置正确,配置相关可自行搜索。
[root@localhost zookeeper-3.4.]#pwd
/data0/xxx/zookeeper-3.4.
[root@localhost zookeeper-3.4.]#bin/zkServer.sh start这里路径在zookeeper根目录启动,主要是这样运行会自动在当前目录生成一个日志文件。也就是说在哪个目录启动,日志文件就在哪儿。这是为了将日志文件放在该目录的一种做法。
- 启动kafka
/data0/xxx/kafka_2.-0.8.2.1/bin/kafka-server-start.sh /data0/xxx/kafka_2.-0.8.2.1/config/server-.properties > /data0/xxx/kafka_2.-0.8.2.1/logs/server-.log >& &
/data0/xxx/kafka_2.-0.8.2.1/bin/kafka-server-start.sh /data0/xxx/kafka_2.-0.8.2.1/config/server-.properties > /data0/xxx/kafka_2.-0.8.2.1/logs/server-.log >& &
/data0/xxx/kafka_2.-0.8.2.1/bin/kafka-server-start.sh /data0/xxx/kafka_2.-0.8.2.1/config/server-.properties > /data0/xxx/kafka_2.-0.8.2.1/logs/server-.log >& &这里我在单机上起了3个kafka进程,作为单机集群。
配置0示例:broker.id=0
port=9092
host.name=172.16.0.100
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data0/xxx/kafka_2.11-0.8.2.1/log_0
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000server-0.properties
- 启动storm
/data0/xxx/storm-0.9./bin/storm nimbus > /data0/xxx/storm-0.9./log/nimbus.log >& &
/data0/xxx/storm-0.9./bin/storm supervisor > /data0/xxx/storm-0.9./log/supervisor.log >& &
/data0/xxx/storm-0.9./bin/storm ui > /data0/xxx/storm-0.9./log/ui.log >& &
/data0/xxx/storm-0.9./bin/storm logviewer > /data0/xxx/storm-0.9./log/logviewer.log >& &依次启动nimbus、supervisor、ui、logviewer
storm配置文件示例:storm.zookeeper.servers:
- "172.16.0.100"
nimbus.host: "172.16.0.100"
storm.local.dir: "/data0/xxx/storm-0.9.5/workdir"
storm.messaging.netty.max_retries: 30
storm.messaging.netty.min_wait_ms: 100
storm.messaging.netty.max_wait_ms: 1500
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
supervisor.worker.start.timeout.secs: 60storm.yaml
三、初始化设置
在kafka中创建topic,配置数据源导入kafka等等略。另外还有mongodb的初始化设置,建索引等。
四、storm程序
- 环境:mac air、Eclipse IDE for Java Developers(这是我用的版本,需要maven)
- 代码示例
- 提交运行
/path/bin/storm jar ds.nginx-0.0.-SNAPSHOT-jar-with-dependencies.jar cms.ds.nginx.LogTopology ds_nginx_topology remote
【JAVA版】Storm程序整合Kafka、Mongodb示例及部署的更多相关文章
- JAVA版CORBA程序
1.题目分析题目1.Java版CORBA程序1——HelloWorld编写实现显示“Hello,World!+班级+中文姓名”字符串.题目2.JAVA版CORBA程序2——Counter编写实现连加. ...
- ICE学习笔记一----运行官方的java版demo程序
建议新手和我一样,从官网下载英文文档,开个有道词典,慢慢啃. 官方文档下载: http://download.csdn.net/detail/xiong_mao_1/6300631 程序代码就不说了, ...
- Kafka+Storm+HDFS整合实践
在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统计分析,但是对于实时的需求Hive就不合适了.实时应用场景可以使用Storm,它是一 ...
- [转载] Kafka+Storm+HDFS整合实践
转载自http://www.tuicool.com/articles/NzyqAn 在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统 ...
- 整合Kafka到Spark Streaming——代码示例和挑战
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管.本文,Michael详细的演示了如 ...
- SpringBoot整合Kafka和Storm
前言 本篇文章主要介绍的是SpringBoot整合kafka和storm以及在这过程遇到的一些问题和解决方案. kafka和storm的相关知识 如果你对kafka和storm熟悉的话,这一段可以直接 ...
- Java版Kafka使用及配置解释
Java版Kafka使用及配置解释 一.Java示例 kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考.kafka的安装请参考 ...
- 大数据学习day32-----spark12-----1. sparkstreaming(1.1简介,1.2 sparkstreaming入门程序(统计单词个数,updateStageByKey的用法,1.3 SparkStreaming整合Kafka,1.4 SparkStreaming获取KafkaRDD的偏移量,并将偏移量写入kafka中)
1. Spark Streaming 1.1 简介(来源:spark官网介绍) Spark Streaming是Spark Core API的扩展,其是支持可伸缩.高吞吐量.容错的实时数据流处理.Sp ...
- kafka_2.11-0.8.2.1+java 生产消费程序demo示例
Kafka学习8_kafka java 生产消费程序demo示例 kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考.kaf ...
随机推荐
- python流程控制语句 ifelse - 2
#! /usr/bin/python x = input('please input a integer:') x = int (x) ): print('你输入了一个负数') else: print ...
- org.json和json-lib比较
经常会用到JSON格式才处理,尤其是在Http请求的时候,网上可以找到很多json处理的相关工具,如org.json和json-lib,下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序. ...
- 英文论文写作之讨论与结论Discussion and Conclusion
Discussion and Conclusion After viewing these maps, what should immediately appear is the level of r ...
- 深度神经网络如何看待你,论自拍What a Deep Neural Network thinks about your #selfie
Convolutional Neural Networks are great: they recognize things, places and people in your personal p ...
- sql 随笔 2015-06-30
清除多余字符 --清除多余字符 --' --char(9) 水平制表符 --char(10)换行键 --char(13)回车键 REPLACE( REPLACE( REPLACE(REPLACE([P ...
- 简单的XPath入门
XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.XPath 是 XML 的查询语 ...
- NodeJS常用库说明
underscore:1.合并json async:1.异步编程同步化
- Android 开机动画启动过程详解
Android 开机会出现3个画面: 1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片): 2. Android平台启动初始化,出 ...
- Chosen中选择项的更新
Chosen 选择项的动态修改/更新 如果你需要去动态更新select选择框里的选择项,你需要通知Chosen去响应这个变动,你需要在这个选项框是触发一个"liszt:updated&quo ...
- LA 3704 (矩阵快速幂 循环矩阵) Cellular Automaton
将这n个格子看做一个向量,每次操作都是一次线性组合,即vn+1 = Avn,所求答案为Akv0 A是一个n*n的矩阵,比如当n=5,d=1的时候: 不难发现,A是个循环矩阵,也就是将某一行所有元素统一 ...