2012年8月24日金曜日

hadoopで分散処理をやってみた

■概要
前回はhadoopをスタンドアローンモードで実行できるところまで紹介しました
今回は1台で擬似的に分散処理させることができるモード(Pseudo-Distributed Mode)を試してみます

■事前準備、インストール
前回の記事参照
http://kakakikikeke.blogspot.com/2012/08/centos56hadoop.html

■擬似分モードの設定
emacs /etc/hadoop/core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
emacs /etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
emacs /etc/hadoop/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>

ローカルへのsshノンパス設定をします
http://kakakikikeke.blogspot.com/2012/03/10ssh.html

cd /usr/bin
chmod 755 update-hadoop-env.sh stop-mapred.sh stop-jobhistoryserver.sh stop-dfs.sh stop-balancer.sh stop-all.sh start-mapred.sh start-jobhistoryserver.sh start-dfs.sh start-balancer.sh start-all.sh slaves.sh
hadoop namenode -format
start-all.sh
jps
JobTracker,NameNode,DataNode,SecondaryNameNode
が動作していることを確認します

各プロセスのログは/var/log/hadoop/root/配下にあります

動作しているポートは以下になります
netstat -an | grep 50070(NameNode)
netstat -an | grep 50030(JobTracker)
telnet yoshi3 50070
ではどうやらJettyが動作しているようです
ブラウザでアクセスすると現在の分散クラスタの状況が確認できます

■実行
cp -ip /usr/share/hadoop/hadoop-examples-1.0.3.jar .

例1
hadoop fs -put /etc/hadoop input
hadoop fs -ls input/hadoop
hadoop専用の特殊なパスに保存される様子・・・(DFS上に保存されている)

例2
hadoop jar hadoop-examples-1.0.3.jar grep input/hadoop output 'map*'
hadoop fs -ls output
hadoop fs -cat output/part-00000

■停止
stop-all.sh
jps
NameNode系のプロセスが停止していることを確認する


簡単ですが、以上でPseudo-Distributed Modeの紹介を終わります
次は実際に自分の作ったものをhadoopに処理させるところまでやってみたいなー

0 件のコメント:

コメントを投稿