一、环境

  • 一台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. Pascal编译器大全(非常难得)

    http://www.pascaland.org/pascall.htm Some titles (french) : Compilateurs Pascal avec sources = compi ...

  2. C#操作.csv文件Demo

    1.使用OleDB操作.csv文件,比较费时 public static DataTable GetDataTableFromCsv(string path,bool isFirstRowHeader ...

  3. sudo

    sudo的目的:为非根用户授予根用户的权限: 配置文件:/etc/sudoers visudo命令编辑修改/etc/sudoers配置文件 1.一般用户赋权设置: [root@localhost ~] ...

  4. JVM学习笔记(三)------内存管理和垃圾回收

    JVM内存组成结构 JVM栈由堆.栈.本地方法栈.方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制.堆被划分为新生代和旧生 ...

  5. Android的底层库libutils介绍

    第一部分 libutils概述 libutils是Android的底层库,这个库以C++实现,它提供的API也是C++的.Android的层次的C语言程序和库,大都基于libutils开发. libu ...

  6. Python错误处理

    中文注释出错,把UTF-8标明放在文件头就行了 # coding: utf-8

  7. RESTful API 设计最佳实践(转)

    背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的 ...

  8. 随机森林与GBDT

    前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over- ...

  9. 【转】linux : waitpid函数

    原文网址:http://blog.csdn.net/jifengszf/article/details/3067841 [waitpid系统调用]       功能描述: 等待进程改变其状态.所有下面 ...

  10. 【转】Linux Posix Timer使用

    原文网址:http://blog.csdn.net/hongszh/article/details/8608781 最强大的定时器接口来自POSIX时钟系列,其创建.初始化以及删除一个定时器的行动被分 ...