Hi Matthias,
I am using Maven as a build tool. I am not using any IDE. I have a Storm 
cluster deployed on Ubuntu VMs,and i am suing sshfs to mount my Storm folder 
from the remote machine, to my local machine. Then I am just using Sublime Text 
on my local machine to edit the necessary files. Storm is working fine in 
bothlocal mode and as a cluster. It is just the KafkaBolt that is the problem.
I am brand new to Storm/Maven/Kafka so i am hoping it is a small issue that i 
am missing. Here is the contents of my pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";  
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>  
<modelVersion>4.0.0</modelVersion>
  <groupId>storm.starter</groupId>  <artifactId>storm-starter</artifactId>  
<version>0.0.1-SNAPSHOT</version>  <packaging>jar</packaging>
  <name>storm-starter</name>  
<url>https://github.com/nathanmarz/storm-starter</url>
  <properties>    
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
</properties>
  <repositories>    <repository>      <id>github-releases</id>      
<url>http://oss.sonatype.org/content/repositories/github-releases/</url>    
</repository>    <repository>      <id>clojars.org</id>      
<url>http://clojars.org/repo</url>    </repository>  </repositories>
  <dependencies>     <dependency>        <groupId>org.apache.kafka</groupId>    
    <artifactId>kafka_2.9.2</artifactId>        <version>0.8.1.1</version>      
  <exclusions>            <exclusion>                
<groupId>org.apache.zookeeper</groupId>                
<artifactId>zookeeper</artifactId>            </exclusion>            
<exclusion>                <groupId>log4j</groupId>                
<artifactId>log4j</artifactId>            </exclusion>           </exclusions>  
     </dependency>    <dependency>      <groupId>mysql</groupId>      
<artifactId>mysql-connector-java</artifactId>      <version>5.1.38</version>    
</dependency>    <dependency>      <groupId>junit</groupId>      
<artifactId>junit</artifactId>      <version>3.8.1</version>      
<scope>test</scope>    </dependency>    <dependency>      
<groupId>org.testng</groupId>      <artifactId>testng</artifactId>      
<version>6.8.5</version>      <scope>test</scope>    </dependency>    
<dependency>      <groupId>org.mockito</groupId>      
<artifactId>mockito-all</artifactId>      <version>1.9.0</version>      
<scope>test</scope>    </dependency>    <dependency>      
<groupId>org.easytesting</groupId>      
<artifactId>fest-assert-core</artifactId>      <version>2.0M8</version>      
<scope>test</scope>    </dependency>    <dependency>      
<groupId>org.jmock</groupId>      <artifactId>jmock</artifactId>      
<version>2.6.0</version>      <scope>test</scope>    </dependency>    
<dependency>      <groupId>storm</groupId>      <artifactId>storm</artifactId>  
    <version>0.9.0.1</version>      <!-- keep storm out of the 
jar-with-dependencies -->      <scope>provided</scope>    </dependency>    
<dependency>      <groupId>commons-collections</groupId>      
<artifactId>commons-collections</artifactId>      <version>3.2.1</version>    
</dependency>    <dependency>      <groupId>com.google.guava</groupId>      
<artifactId>guava</artifactId>      <version>15.0</version>    </dependency>  
</dependencies>
  <build>    <sourceDirectory>src/jvm</sourceDirectory>    
<testSourceDirectory>test/jvm</testSourceDirectory>    <resources>      
<resource>        <directory>${basedir}/multilang</directory>      </resource>  
   </resources>
    <plugins>      <!--        Bind the maven-assembly-plugin to the package 
phase        this will create a jar file without the storm dependencies        
suitable for deployment to a cluster.       -->      <plugin>        
<artifactId>maven-assembly-plugin</artifactId>        <configuration>          
<descriptorRefs>            
<descriptorRef>jar-with-dependencies</descriptorRef>          </descriptorRefs> 
         <archive>            <manifest>              <mainClass></mainClass>   
         </manifest>          </archive>        </configuration>       
<executions>         <execution>            <id>make-assembly</id>            
<phase>package</phase>            <goals>              <goal>single</goal>      
      </goals>          </execution>        </executions>      </plugin>        
<plugin>        <groupId>com.theoryinpractise</groupId>        
<artifactId>clojure-maven-plugin</artifactId>        <version>1.3.12</version>  
      <extensions>true</extensions>        <configuration>          
<sourceDirectories>            <sourceDirectory>src/clj</sourceDirectory>       
   </sourceDirectories>        </configuration>        <executions>          
<execution>            <id>compile</id>            <phase>compile</phase>       
     <goals>              <goal>compile</goal>            </goals>          
</execution>          <execution>            <id>test</id>            
<phase>test</phase>            <goals>              <goal>test</goal>           
 </goals>          </execution>        </executions>      </plugin>
      <plugin>        <groupId>org.codehaus.mojo</groupId>        
<artifactId>exec-maven-plugin</artifactId>        <version>1.2.1</version>      
 <executions>          <execution>            <goals>              
<goal>exec</goal>            </goals>          </execution>        
</executions>        <configuration>          <executable>java</executable>     
     <includeProjectDependencies>true</includeProjectDependencies>          
<includePluginDependencies>false</includePluginDependencies>          
<classpathScope>compile</classpathScope>          
<mainClass>${storm.topology}</mainClass>        </configuration>      </plugin>
      <plugin>        <groupId>org.apache.maven.plugins</groupId>        
<artifactId>maven-compiler-plugin</artifactId>        <configuration>          
<source>1.7</source>          <target>1.7</target>        </configuration>      
</plugin>
    </plugins>  </build></project> Any help at all would be really appreciated. 
I have been stuck on this for 2 days now and i can't really move forward with 
the project until i am sure i can get the output from Storm into Kafka, and in 
turn my application. I do have Eclipse on my local machine so i can use that if 
it will helpfigure out the issue. Thank you very much for your reply.
Kind RegardsDavid





> Subject: Re: Storm Kafka Bolt Integration
> To: [email protected]
> From: [email protected]
> Date: Sun, 21 Feb 2016 14:44:00 +0100
> 
> Hi David,
> 
> yes you can just use the provide KafkaBolt.
> 
> If the package is not found, I guess that you did not set up your
> development environment correctly. What do you use? An IDE? Some build
> tool like maven?
> 
> -Matthias
> 
> On 02/20/2016 02:13 PM, david kavanagh wrote:
> > Hello,
> > 
> > I am using Storm as part of my fourth year project. I have a Storm
> > cluster running on some Ubuntu VM's
> > in an OpenStack environment. Kafka is setup and working fine on its own
> > VM. I am currently trying
> > to integrate the two so that a Storm Topology sends its output to a
> > Kafka Topic. I have been trying to understand
> > KafkaBolt but i am having difficulty implementing it. 
> > 
> > Reading the documentation
> > at http://storm.apache.org/documentation/storm-kafka.html , it seems to
> > me that 
> > i can use a KafkaBolt class that has already been packaged. It is stated
> > in the documentation:
> > 
> > "/You can create an instance of storm.kafka.bolt.KafkaBolt and attach it
> > as a component to your topology" /
> > 
> > I have been trying to implement this but have had no success. No import
> > statement i have tried has worked.
> > i.e. 
> > /
> > /
> > /import storm.kafka.bolt.KafkaBolt;/ 
> > 
> > The error being thrown up is:         /error: package storm.kafka.bolt
> > does not exist/
> > 
> > I am new to Storm and Kafka and am aware that i may be getting the wrong
> > impression from the documentation.
> > Can i use import a KafkaBolt class or do i need to write my own
> > KafkaBolt class? My only reason for using Kafka is to
> > get the Storm Topology output to a Node.js application. I have searched
> > exhaustively online to find any information
> > on connecting Storms output to a node app and couldn't find anything
> > useful so Kafka seemed the only way to go.
> > If you could give me some information on sending a storm topologies
> > output to Kafka, or straight to a nodejs app 
> > without Kafka, i would really appreciate it. Thank you in advance.
> > 
> > Kind Regards
> > David Kavanagh
> 
                                          

Reply via email to