2013-02-12 36 views
5

के साथ एक चल वसंत-डाटा-Hadoop परियोजना के बाद से वसंत-डाटा-Hadoop प्राप्त करने के लिए कैसे अभी तक जारी नहीं की है, यह क्लाउडेरा के साथ उपयोग करने के लिए एक चल उदाहरण विन्यास को खोजने के लिए मुश्किल है।क्लाउडेरा CDH4 और Maven

कौन सा निर्भरता मैं CDH4 (Hadoop 2.0.0-cdh4.1.3) के साथ मिलकर एक चल वसंत-डाटा-Hadoop प्राप्त करने के लिए चयन करने की आवश्यकता?

अलग apporches का चयन करके मैं इस अपवाद है:

  1. NullPointer

    Exception in thread "SimpleAsyncTaskExecutor-1" java.lang.ExceptionInInitializerError 
        at org.springframework.data.hadoop.mapreduce.JobExecutor$2.run(JobExecutor.java:183) 
        at java.lang.Thread.run(Thread.java:722) 
        Caused by: java.lang.NullPointerException 
        at org.springframework.util.ReflectionUtils.makeAccessible(ReflectionUtils.java:405) 
        at org.springframework.data.hadoop.mapreduce.JobUtils.<clinit>(JobUtils.java:123) 
        ... 2 more 
    
  2. संस्करण missmatch 7 4

    Caused by: org.apache.hadoop.ipc.RemoteException: Server IPC version 7 cannot communicate with client version 4 
        at org.apache.hadoop.ipc.Client.call(Client.java:1070) 
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225) 
        at $Proxy1.getProtocolVersion(Unknown Source) 
        at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396) 
        at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379) 
        at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:119) 
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:238) 
        at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:203) 
        at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89) 
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1386) 
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66) 
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1404) 
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254) 
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:123) 
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:238) 
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:187) 
        at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:372) 
        at org.springframework.data.hadoop.mapreduce.JobFactoryBean.afterPropertiesSet(JobFactoryBean.java:208) 
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1545) 
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483) 
    ... 12 more 
    

उत्तर

6

लिए यह एक उदाहरण है कि कैसे करने के लिए है इसे कॉन्फ़िगर करें।

Maven सेटअप:

नोट्स:

  • (optinal) वसंत-डेटा-Hadoop से Hadoop-स्ट्रीमिंग और Hadoop उपकरण
  • Hadoop-आम और Hadoop-HDFS जोड़े को बाहर करें जेनेरिक संस्करण के साथ: 2.0.0-cdhX.XX
  • एमआर 1 संस्करण के साथ हडूप-टूल्स और हडूप-स्ट्रीमिंग जोड़ें: 2.0.0-mr1-cdhX.XX
  • स्प्रा आईएनजी डेटा हैडोप वर्तमान में केवल एमआर 1 का समर्थन करता है। तो सुनिश्चित करें कि आप अन्य निर्भरताओं में एमआर 2 शामिल नहीं है। mvn dependency:tree के साथ इस की जाँच करें!

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>com.example</groupId> 
    <artifactId>com.example.main</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <properties> 
     <java-version>1.7</java-version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <spring.version>3.2.0.RELEASE</spring.version> 
     <spring.hadoop.version>1.0.0.BUILD-SNAPSHOT</spring.hadoop.version> 
     <hadoop.version.generic>2.0.0-cdh4.1.3</hadoop.version.generic> 
     <hadoop.version.mr1>2.0.0-mr1-cdh4.1.3</hadoop.version.mr1> 
    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 


     <dependency> 
      <groupId>org.springframework.data</groupId> 
      <artifactId>spring-data-hadoop</artifactId> 
      <version>${spring.hadoop.version}</version> 

      <exclusions> 
       <!-- Excluded the Hadoop dependencies to be sure that they are not mixed 
        with them provided by cloudera. --> 
       <exclusion> 
        <artifactId>hadoop-streaming</artifactId> 
        <groupId>org.apache.hadoop</groupId> 
       </exclusion> 
       <exclusion> 
        <artifactId>hadoop-tools</artifactId> 
        <groupId>org.apache.hadoop</groupId> 
       </exclusion> 
      </exclusions> 

     </dependency> 

     <!-- Hadoop Cloudera Dependencies --> 
     <dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-common</artifactId> 
      <version>${hadoop.version.generic}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-hdfs</artifactId> 
      <version>${hadoop.version.generic}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-tools</artifactId> 
      <version>2.0.0-mr1-cdh4.1.3</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-streaming</artifactId> 
      <version>2.0.0-mr1-cdh4.1.3</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>${java-version}</source> 
        <target>${java-version}</target> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 

    <repositories> 
     <repository> 
      <id>spring-milestones</id> 
      <url>http://repo.springsource.org/libs-milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 

     <repository> 
      <id>cloudera</id> 
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 

     <repository> 
      <id>spring-snapshot</id> 
      <name>Spring Maven SNAPSHOT Repository</name> 
      <url>http://repo.springframework.org/snapshot</url> 
     </repository> 
    </repositories> 
</project> 

स्प्रिंग सेटअप (applicationContext.xml):

अपने namenode डोमेन

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:hdp="http://www.springframework.org/schema/hadoop" 
    xsi:schemaLocation=" 
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://www.springframework.org/schema/hadoop http://www.springframework.org/schema/hadoop/spring-hadoop.xsd 
        http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/integration 
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 

    <hdp:configuration id="hadoopConfiguration"> 
     fs.default.name=hdfs://example.com:8020 
    </hdp:configuration> 

    <hdp:job id="wordCountJob" 
     mapper="com.example.WordMapper" 
     reducer="com.example.WordReducer" 
     input-path="/user/christian/input/test" 
     output-path="/user/christian/output2" /> 

    <hdp:job-runner job-ref="wordCountJob" run-at-startup="true" 
     wait-for-completion="true" /> 

साथ fs.default.name बदलें इस के साथ आप होना चाहिए अपने क्लस्टर तक पहुंचने में सक्षम

कुछ संदर्भ:

0

अरे आप https://github.com/spring-projects/spring-data-book से डाउनलोड कर सकते।

भवन बनाने और चलाने यह पढ़ें मुझे दस्तावेज़ में दी गई है।

+0

जबकि लिंक प्रश्न का उत्तर दे सकता है, कृपया उत्तर के महत्वपूर्ण बिंदु/सारांश को जोड़ने पर विचार करें। ऐसा करने से यह सुनिश्चित करें कि आपका जवाब उपयोगी रहता है, भले ही दिए गए लिंक निष्क्रिय हो जाता है होगा। लिंक केवल जवाब ही एसओ में निराश हैं। – Harry

+0

इस उत्तर बहुत कम से कम, रहस्यपूर्ण है। यह सवाल का जवाब नहीं देता है। – waste