Hadoop は大規模データを効率的に分散処理・管理するためのミドルウェアです。
今回はMac OS X上にHadoop環境を構築したいと思います。
基本的なこと
HDFS
- 分散ファイルシステム
MapReduce
- 分散処理システム
NameNode
- メタデータを管理する。
DataNode
- 実データを保持する。
環境
Mac OS X 10.9.4 Hadoop 2.5.0
インストールする
$ brew install hadoop
スタンドアロンモードで動かしてみる
$ mkdir input $ echo 'hoge piyo hoge hoge huga hoge' > input/file $ hadoop jar /usr/local/opt/hadoop/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount input output $ cat output/* hoge 4 huga 1 piyo 1
localhostにSSHログインできるようにする
パスフレーズなしのSSHログインができるようにする
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
# ~/ssh/config Host localhost HostName 127.0.0.1 Port 22
※ システム環境設定 > 共有 > リモートログイン を有効化する
設定ファイルを修正する
$ cd /usr/local/opt/hadoop/libexec/etc/hadoop
# core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>
# hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
Hadoopを起動する
ファイルシステムをフォーマットする
$ hadoop namenode -format
NameNode daemon と DataNode daemonを起動する
$ start-dfs.sh
起動できているか確認する
$ jps 12057 DataNode 13172 Jps 12538 ResourceManager 12861 NodeManager 12395 SecondaryNameNode 11981 NameNode
クラスターの状態を確認する(NameNode)
Hadoopを停止する
$ stop-dfs.sh
以上、Hadoop環境の構築でした。