一、环境

  • 一台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. 223. Rectangle Area

    题目: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defin ...

  2. linux下,如何把整个文件夹上传到服务器(另一台linux)

    1.Linux下目录复制:本机->远程服务器 scp  -r /home/shaoxiaohu/test1  zhidao@192.168.0.1:/home/test2 #test1为源目录, ...

  3. Linux Shell 工作原理

    Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序.它不属于内核部分,而是在核心之外,以用户态方式运行.其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口.系 ...

  4. Java API —— 多线程

    1.多线程概述     1)进程:         正在运行的程序,是系统进行资源分配和调用的独立单位.         每一个进程都有它自己的内存空间和系统资源.     2)线程:         ...

  5. HDFS小文件处理——Mapper处理

    处理小文件的时候,可以通过org.apache.hadoop.io.SequenceFile.Writer类将所有文件写出到一个seq文件中. 大致流程如下: 实现代码: package study. ...

  6. Android XML使用的学习记录

    1. 注释其中一段代码或是一行,可以采用<!-- -->,示例如下 <!--       <EditText         android:layout_width=&quo ...

  7. 【转载】Java中如何写一段内存泄露的程序 & ThreadLocal 介绍和使用

    可以参考这段文章: link A1:通过以下步骤可以很容易产生内存泄露(程序代码不能访问到某些对象,但是它们仍然保存在内存中): 上文中提到了使用ThreadLocal造成了内存泄露,但是写的不清不楚 ...

  8. Fedora20 优化体验

    玩了些许天的fedora系统,到底是加深了对于linux系统的了解 为了便于大家对于fedora系统支持,我将这些天对于fedora的一些不适之处及改进的策略进行了一下小总结.便于新手对于fedora ...

  9. 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 ...

  10. 【C#学习笔记】获得本机IP

    using System; using System.Net; namespace ConsoleApplication { class Program { static void Main(stri ...