Coder Social home page Coder Social logo

ziyunhx / storm-net-adapter Goto Github PK

View Code? Open in Web Editor NEW
49.0 4.0 22.0 108.94 MB

A csharp adapter for apache storm.

License: Apache License 2.0

Java 68.92% Python 0.23% JavaScript 1.47% Ruby 0.22% Clojure 3.39% C# 25.77%
storm mono bolt csharp-adapter topology csharp dotnetcore

storm-net-adapter's Introduction

Storm.Net.Adapter

Overview

Storm.Net.Adapter is a csharp adapter for apache storm. Storm is a distributed realtime computation system. For more information, please check the storm homepage and my personal blog at: storm, The NewIdea (zh-CN).

Requirements

  • .Net Framework or Mono or .Net Core
  • Thrift 0.9.x
  • Python 2.x, JDK 1.6+, Maven 3.x
  • Storm 0.7.1+, Zookeeper
  • Works on Windows, Linux, Mac OSX

Releases

  • You can download the latest stable and development releases from: releases.

  • Or using Nuget:

      PM> Install-Package Storm.Net.Adapter
    
  • Or clone and build it by yourself.

Build and install Storm jars locally

If you are using the latest development version of Storm, e.g. by having cloned the Storm git repository, then you must first perform a local build of Storm itself. Otherwise you will run into Maven errors such as "Could not resolve dependencies for project org.apache.storm:storm-starter:<storm-version>-SNAPSHOT".

# Must be run from the top-level directory of the Storm code repository
$ mvn clean install -DskipTests=true

This command will build Storm locally and install its jar files to your user's $HOME/.m2/repository/. When you run the Maven command to build and run storm-starter (see below), Maven will then be able to find the corresponding version of Storm in this local Maven repository at $HOME/.m2/repository.

Getting started

  • Add spout classes based on ISpout and add bolt classes based on IBolt or IBasicBolt, Both of those need using Storm. For more information check the StormSample project.

  • Build your project and copy the resources to storm topology project. Create a java topology class. For more information check the storm-starter.

  • Under Windows(.Net Framework) call your spout or bolt as follows:

      super("cmd", "/k", "CALL", "StormSimple.exe", "generator");
    
  • Under Linux, Mac OSX, Windows(mono) call your spout or bolt as follows:

      super("mono", "StormSimple.exe", "generator");
    
  • Under Linux, Mac OSX, Windows(.net core) call your spout or bolt as follows:

      super("dotnet", "StormSimple.dll", "generator");
    
  • Package your topology project using Maven:

      $ mvn package
    
  • You can submit (run) a topology contained in this uberjar to Storm via the storm CLI tool:

      $ storm jar storm-starter-*.jar org.apache.storm.starter.WordCountTopologyCsharp wordcount
    

Remote DRPC

Storm.Net.Adapter is also support DRPC now. You can call the remote DRPC like this:

DRPCClient client = new DRPCClient("drpc-host", 3772);
string result = client.execute("exclamation", "hello word");

Licensing

Storm.Net.Adapter is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

storm-net-adapter's People

Contributors

gmlewis avatar lewischen1123 avatar ziyunhx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

storm-net-adapter's Issues

.NET Core Support

The readme says .net core is not supported, but your releases page says you added support for it. Perhaps the readme just needs updating?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.