※参考情報:OSのバージョン
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.10
DISTRIB_CODENAME=quantal
DISTRIB_DESCRIPTION="Ubuntu 12.10"
Java7をインストールする。
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
バージョンの確認
$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
$ javac -version
javac 1.7.0_51
pathにJAVA_HOMEを設定しておく必要がある。 .bashrcに以下の設定を追記。
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export PATH=$PATH:$JAVA_HOME/bin
$ wget http://archive.cloudera.com/cdh4/one-click-install/precise/amd64/cdh4-repository_1.0_all.deb
$ sudo dpkg -i cdh4-repository_1.0_all.deb
$ curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install hadoop-conf-pseudo
ディレクトリを確認。各種設定ファイルが格納されている。 通常起動の場合は編集の必要はない。
$ ls -l /etc/hadoop/conf.pseudo
total 40
-rw-r--r-- 1 root hadoop 1458 Feb 26 09:54 core-site.xml
-rw-r--r-- 1 root hadoop 1364 Feb 26 09:54 hadoop-env.sh
-rw-r--r-- 1 root hadoop 2890 Feb 26 09:54 hadoop-metrics.properties
-rw-r--r-- 1 root hadoop 1875 Feb 26 09:54 hdfs-site.xml
-rw-r--r-- 1 root hadoop 8735 Feb 26 10:21 log4j.properties
-rw-r--r-- 1 root hadoop 1549 Feb 26 09:54 mapred-site.xml
-rw-r--r-- 1 root hadoop 1104 Feb 26 09:54 README
-rw-r--r-- 1 root hadoop 2361 Feb 26 09:54 yarn-site.xml
hdfsユーザでHDFSのフォーマットを実施する。
$ sudo -u hdfs
$ hdfs namenode -format
HDFSを起動。
$ /etc/init.d/hadoop-hdfs-namenode
$ /etc/init.d/hadoop-hdfs-datanode
$ /etc/init.d/hadoop-hdfs-secondarynamenode
とすれば良いけど、毎回このコマンドを打つのは面倒なので以下の様なスクリプト(hadoop-hdfs-start)を作っておく。
#!/bin/bash
for service in /etc/init.d/hadoop-hdfs-*
do
sudo $service start
done
停止の場合も同様。以下の様なスクリプト(hadoop-hdfs-stop)を作っておくとラク。
#!/bin/bash
for service in /etc/init.d/hadoop-hdfs-*
do
sudo $service stop
done
起動を実行したら、各サービスが起動していることを確認する。
$ sudo $JAVA_HOME/bin/jps
4233 Jps
2476 NodeManager
2007 SecondaryNameNode
2622 ResourceManager
1827 NameNode
1652 DataNode
HDFS上に必要なディレクトリを作成していく。この作業もhdfsユーザで実施する。
$ sudo su - hdfs
$ hadoop fs -mkdir /tmp ←HDFS上に/tmpを作成
$ hadoop fs -chmod -R 1777 /tmp
$ hadoop fs -mkdir /var/log/hadoop-yarn
$ hadoop fs -chown yarn:mapred /var/log/hadoop-yarn
$ hadoop fs -mkdir /tmp/hadoop-yarn/staging
$ hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging
$ hadoop fs -mkdir /tmp/hadoop-yarn/staging/history/done_intermediate
$ hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging/history/done_intermediate
$ hadoop fs -mkdir /user/$USER ←hdfsユーザのホームディレクトリ/user/hdfs
$ hadoop fs -chown hdfs /user/$USER
/user/hdfsが作業ディレクトリと考えてよい。上記実行中エラーが出て中断するようなら、HDFSが落ちている可能性があるので起動状態を確認してみる。
HDFS上のlsは以下のようにして実行する。上記で作ったtmp,user,varができてればOK。
$ hadoop fs -ls /
Found 3 items
drwxrwxrwt – hdfs supergroup 0 2013-01-05 12:10 /tmp
drwxr-xr-x – hdfs supergroup 0 2013-01-05 12:36 /user
drwxr-xr-x – hdfs supergroup 0 2013-01-05 12:09 /var
管理ユーザにスイッチしてYARN (MapReduce)を起動する。
$ sudo service hadoop-yarn-resourcemanager start
$ sudo service hadoop-yarn-nodemanager start
$ sudo service hadoop-mapreduce-historyserver start
プロセスの確認。以下の様な感じになっていればOK。
$ sudo $JAVA_HOME/bin/jps
2598 ResourceManager
4798 JobHistoryServer
4840 Jps
1752 NameNode
2448 NodeManager
2043 SecondaryNameNode
1496 DataNode
以下の手順でHiveをインストールする。
$ cd Downloads/
$ mkdir hive
$ cd hive/
$ wget http://mirror.tcpdiag.net/apache/hive/stable/hive-0.11.0.tar.gz
$ tar xzf hive-0.11.0.tar.gz
$ mkdir /usr/lib/hive
$ mv hive-0.11.0 /usr/lib/hive/hive-0.11.0
環境変数を設定する。
$ cd
$ vim .bashrc
$ export HIVE_HOME=/usr/lib/hive/hive-0.11.0
$ export PATH=$PATH:$HIVE_HOME/bin
$ hive
...
..
.
hive>
でOK。
Tableを作成して、CSV形式のファイルをロードしてみる。
hive> create table cats (id int, name string, birthday string) row format delimited fields terminated by ',' lines terminated by '\n';
csv形式のファイルを以下のように用意する。
$ vim cats.csv
1,Tama,19929423
2,Tora,19930304
3,Nya,19930304
以下のコマンドでロード出来る。
hive> load data local inpath '/root/hadoop/hive/cats.csv' overwrite into table cats;
参考になりました!