【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 ...
随机推荐
- 223. Rectangle Area
题目: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defin ...
- linux下,如何把整个文件夹上传到服务器(另一台linux)
1.Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 #test1为源目录, ...
- Linux Shell 工作原理
Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序.它不属于内核部分,而是在核心之外,以用户态方式运行.其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口.系 ...
- Java API —— 多线程
1.多线程概述 1)进程: 正在运行的程序,是系统进行资源分配和调用的独立单位. 每一个进程都有它自己的内存空间和系统资源. 2)线程: ...
- HDFS小文件处理——Mapper处理
处理小文件的时候,可以通过org.apache.hadoop.io.SequenceFile.Writer类将所有文件写出到一个seq文件中. 大致流程如下: 实现代码: package study. ...
- Android XML使用的学习记录
1. 注释其中一段代码或是一行,可以采用<!-- -->,示例如下 <!-- <EditText android:layout_width=&quo ...
- 【转载】Java中如何写一段内存泄露的程序 & ThreadLocal 介绍和使用
可以参考这段文章: link A1:通过以下步骤可以很容易产生内存泄露(程序代码不能访问到某些对象,但是它们仍然保存在内存中): 上文中提到了使用ThreadLocal造成了内存泄露,但是写的不清不楚 ...
- Fedora20 优化体验
玩了些许天的fedora系统,到底是加深了对于linux系统的了解 为了便于大家对于fedora系统支持,我将这些天对于fedora的一些不适之处及改进的策略进行了一下小总结.便于新手对于fedora ...
- Java [Leetcode 70]Climbing Stairs
题目描述: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either ...
- 【C#学习笔记】获得本机IP
using System; using System.Net; namespace ConsoleApplication { class Program { static void Main(stri ...