CDH3のインストール方法の試行錯誤の記録。
CDH3はUNIXが対象なのでWindowsは正式にはサポートされていない…だからWindowsへインストールできない…と思って色々試したので、その記録を一応とっておく。
CDH3はHadoop0.20がベースなので、Hadoop0.20を改造すればWindowsでも動作する環境が作れる。
jarファイルの依存関係やxmlファイルの定義が怪しいと思うが、単独環境でWordCountは実行できた。
実際はCDH3のアーカイブをダウンロードすればインストールできるので、ここまで変な事はやらなくていい(苦笑)
AsakusaFWではEclipseとCDH3を使うので、AsakusaFWのインストール時にCDH3のjarファイルもインストールされる。
これを元にHadoop0.20のjarファイルを置き換えて環境を作ることが出来た。[2011-07-31]
(試しにAsakusaFWで使っているHadoopのjarファイルをHadoop0.20.2にコピーしてやったらとりあえず動いた^^;)
HADOOP_HOME | C:/cygwin/usr/local/hadoop-0.20.2-cdh3 |
$ cd /usr/local/hadoop-20.2-cdh3 $ bin/hadoop fs -ls
これを手動でやるのは面倒なので、自動的に実行するプログラムを作った。[2011-07-24]
AsakusaFWのプロジェクトに環境構築用プログラムを入れ、それを実行する。
HADOOP_HOME | C:/cygwin/usr/local/hadoop-0.20.2-cdh3 |
Mavenを使ってjarファイルをダウンロードして環境を作ることが出来た。[2011-09-24]
以下のコマンドはコマンドプロンプトから実行する。
> cd/d D:\cygwin\usr\local\hadoop-cdh3 > del lib\*.jar
<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> <name>Batch Application Template (change it.)</name> <groupId>sample</groupId> <artifactId>sample</artifactId> <version>0.1</version> <properties> <cloudera.cdh.version>0.20.2-cdh3u0</cloudera.cdh.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <repository> <id>repository.cloudera.com</id> <name>Cloudera Maven Repository</name> <url>https://repository.cloudera.com/content/repositories/releases</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <configuration> <artifactItems> <artifactItem> <groupId>dummy</groupId> <artifactId>dummy</artifactId> </artifactItem> </artifactItems> <outputDirectory>lib</outputDirectory> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>${cloudera.cdh.version}</version> <scope>provided</scope> </dependency> </dependencies> </project>
> mvn dependency:copy-dependenciesこれで、CDH3のhadoop-coreが依存するjarファイルがhadoop-cdh3/libの下にコピーされる。
> del hadoop-core*.jar
> move lib\hadoop-core*.jar .
Mavenを使ってCDH3のソースをダウンロードする方法。[2011-09-24]
Maven経由でのjarファイルのダウンロードに使った(CDH3の依存関係を書いた)pom.xmlのある場所で、以下のMavenコマンドを実行する。
> mvn eclipse:eclipse -DdownloadSources=true
これはEclipse用の環境を作る命令なのだが、downloadSourcesをtrueにしておくとソースのjarファイル(*-sources.jar)がMavenのローカルリポジトリーにダウンロードされる。
(したがって.classpathや.projectといったファイルが作られるが、気にしない(爆))
ちなみに、実態はClouderaのサイトからソースのjarファイルをダウンロードしているだけなので、
https://repository.cloudera.com/content/repositories/releases/org/apache/hadoop/hadoop-core/0.20.2-cdh3u0/hadoop-core-0.20.2-cdh3u0-sources.jar
をブラウザーに指定して直接ダウンロードすることも出来る。