一、环境

  • 一台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)
  • 其余环境暂略

二、运行启动

  1. 启动zookeeper

    确认配置正确,配置相关可自行搜索。

    [root@localhost zookeeper-3.4.]#pwd
    /data0/xxx/zookeeper-3.4.
    [root@localhost zookeeper-3.4.]#bin/zkServer.sh start

    这里路径在zookeeper根目录启动,主要是这样运行会自动在当前目录生成一个日志文件。也就是说在哪个目录启动,日志文件就在哪儿。这是为了将日志文件放在该目录的一种做法。

  2. 启动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=6000

    server-0.properties

  3. 启动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: 60

    storm.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示例及部署的更多相关文章

  1. JAVA版CORBA程序

    1.题目分析题目1.Java版CORBA程序1——HelloWorld编写实现显示“Hello,World!+班级+中文姓名”字符串.题目2.JAVA版CORBA程序2——Counter编写实现连加. ...

  2. ICE学习笔记一----运行官方的java版demo程序

    建议新手和我一样,从官网下载英文文档,开个有道词典,慢慢啃. 官方文档下载: http://download.csdn.net/detail/xiong_mao_1/6300631 程序代码就不说了, ...

  3. Kafka+Storm+HDFS整合实践

    在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统计分析,但是对于实时的需求Hive就不合适了.实时应用场景可以使用Storm,它是一 ...

  4. [转载] Kafka+Storm+HDFS整合实践

    转载自http://www.tuicool.com/articles/NzyqAn 在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统 ...

  5. 整合Kafka到Spark Streaming——代码示例和挑战

    作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管.本文,Michael详细的演示了如 ...

  6. SpringBoot整合Kafka和Storm

    前言 本篇文章主要介绍的是SpringBoot整合kafka和storm以及在这过程遇到的一些问题和解决方案. kafka和storm的相关知识 如果你对kafka和storm熟悉的话,这一段可以直接 ...

  7. Java版Kafka使用及配置解释

    Java版Kafka使用及配置解释 一.Java示例 kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考.kafka的安装请参考 ...

  8. 大数据学习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 ...

  9. kafka_2.11-0.8.2.1+java 生产消费程序demo示例

      Kafka学习8_kafka java 生产消费程序demo示例 kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考.kaf ...

随机推荐

  1. python流程控制语句 ifelse - 2

    #! /usr/bin/python x = input('please input a integer:') x = int (x) ): print('你输入了一个负数') else: print ...

  2. org.json和json-lib比较

    经常会用到JSON格式才处理,尤其是在Http请求的时候,网上可以找到很多json处理的相关工具,如org.json和json-lib,下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序. ...

  3. 英文论文写作之讨论与结论Discussion and Conclusion

    Discussion and Conclusion After viewing these maps, what should immediately appear is the level of r ...

  4. 深度神经网络如何看待你,论自拍What a Deep Neural Network thinks about your #selfie

    Convolutional Neural Networks are great: they recognize things, places and people in your personal p ...

  5. sql 随笔 2015-06-30

    清除多余字符 --清除多余字符 --' --char(9) 水平制表符 --char(10)换行键 --char(13)回车键 REPLACE( REPLACE( REPLACE(REPLACE([P ...

  6. 简单的XPath入门

    XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.XPath 是 XML 的查询语 ...

  7. NodeJS常用库说明

    underscore:1.合并json async:1.异步编程同步化

  8. Android 开机动画启动过程详解

    Android 开机会出现3个画面: 1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片): 2. Android平台启动初始化,出 ...

  9. Chosen中选择项的更新

    Chosen 选择项的动态修改/更新 如果你需要去动态更新select选择框里的选择项,你需要通知Chosen去响应这个变动,你需要在这个选项框是触发一个"liszt:updated&quo ...

  10. LA 3704 (矩阵快速幂 循环矩阵) Cellular Automaton

    将这n个格子看做一个向量,每次操作都是一次线性组合,即vn+1 = Avn,所求答案为Akv0 A是一个n*n的矩阵,比如当n=5,d=1的时候: 不难发现,A是个循环矩阵,也就是将某一行所有元素统一 ...