Hadoop on LXC on    VirtualBoxカーネル /VM 勉強会 @ 関西 其の参  森 俊夫 @ 元徳島 / 現神戸       @forest1040
自己紹介• Id:forest1040 です。• 徳島でフリーランスやってましたが、1年程前    に、神戸に引越しました。• 本業は、 Web 系エンジニアです。最近    は、 JavaEE(JBoss Seam) や Play    Fr...
システム構成ノート PC ( OS : Ubuntu 11.04 )CPU : Core2Duo 1.8GHz メモリ: 4GB VirtualBox ( OS : Ubuntu Server 11.04 ) メモリ: 2GB IP 外側 :1...
LXC のインストール (1/2)• 面倒なので、まず root になってしまう  $ sudo -i• パッケージをインストール  # apt-get update  # apt-get install lxc debootstrap bri...
LXC のインストール (2/2)• ブリッジネットワーク設定# vi /etc/network/interfacesauto br0iface br0 inet static   address 192.168.5.1   netmask 2...
コンテナの生成• とりあえず設定ファイルを作成# vi /var/lib/lxc/natty-template-network.conflxc.network.type = vethlxc.network.flags = uplxc.netwo...
コンテナの設定 (1/2)• ネットワーク設定(ホスト側)# vi /var/lib/lxc/vm0/config## 以下を追加lxc.network.ipv4 = 192.168.5.10/24• ネットワーク設定(コンテナ側)      ...
コンテナの設定 (2/2)• Hadoop ユーザの作成と鍵の生成# useradd hadoop -m -g hadoop -s /bin/bash# passwd hadoop# su – hadoop$ ssh-keygen -t rsa...
Hadoop のインストール• JDK1.6 のインストール# apt-get install python-software-properties# add-apt-repository ppa:ferramroberto/java# apt...
不要なサービスの停止• avahi-daemon• plymouth 関係                     #
Hadoop の設定(共通)• 設定ファイルの作成# cp -r /etc/hadoop-0.20/conf.empty /etc/hadoop-0.20/conf.my# update-alternatives --install /etc/...
Hadoop 設定ファイル( core-site.xml )各ホストに以下のファイルを作成# vi /etc/hadoop-0.20/conf.my/core-site.xml<?xml version="1.0"?><?xml-stylesh...
Hadoop 設定ファイル( hdfs-site.xml )各ホストに以下のファイルを作成# vi /etc/hadoop-0.20/conf.my/hdfs-site.xml<?xml version="1.0"?><?xml-stylesh...
Hadoop 設定ファイル( mapred-site.xml )各ホストに以下のファイルを作成# vi /etc/hadoop-0.20/conf.my/mapred-site.xml<?xml version="1.0"?><?xml-sty...
HDFS の設定◇ 各ホストで以下を実行# mkdir /var/lib/hadoop-0.20/cache/hdfs# chown hdfs:hdfs /var/lib/hadoop-0.20/cache/hdfs## ついでに hadoop...
HDFS の確認• めんどくさいのでマスタに links をインストール  # apt-get install links• links http://vm0:50070/ で確認                            #
MapReduce の設定◇ 各ホストで以下を実行# mkdir /var/lib/hadoop-0.20/cache/mapred# chown mapred:mapred /var/lib/hadoop-0.20/cache/mapred◇...
MapReduce の確認• links http://vm0:50030/ で確認                                #
デモ-- 円周率の計算hadoop jar /usr/lib/hadoop-0.20/hadoop-examples.jar pi 10 1000-- 3MB のファイルを 10 個、書き込むhadoop jar /usr/lib/hadoop...
今後の目標• Hadoop のマークベンチ• CEP 系分散処理ソフトウェアの評価  ( Storm 、 Jubatus 、 Yahoo S4 等、)• CloudFoundry on LXC• 分散処理系ではありませんが、 WebRTC にも...
参考 URL• 貧乏人のための仮想環境 http://d.hatena.ne.jp/forest1040/20120306/1331021930• 4 台構成の Hadoop を 100 分で試してみる  (CentOS + Cloudera)...
今後の目標• Hadoop のマークベンチ• CEP 系分散処理ソフトウェアの評価  ( Storm 、 Jubatus 、 Yahoo S4 等、)• CloudFoundry on LXC• 分散処理系ではありませんが、 WebRTC にも...
Upcoming SlideShare
Loading in...5
×

Hadoop on LXC

3,629

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,629
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hadoop on LXC

  1. 1. Hadoop on LXC on VirtualBoxカーネル /VM 勉強会 @ 関西 其の参 森 俊夫 @ 元徳島 / 現神戸 @forest1040
  2. 2. 自己紹介• Id:forest1040 です。• 徳島でフリーランスやってましたが、1年程前 に、神戸に引越しました。• 本業は、 Web 系エンジニアです。最近 は、 JavaEE(JBoss Seam) や Play Framework をよく使っています。• 前に Node.js on Android とかやってまし た。 #
  3. 3. システム構成ノート PC ( OS : Ubuntu 11.04 )CPU : Core2Duo 1.8GHz メモリ: 4GB VirtualBox ( OS : Ubuntu Server 11.04 ) メモリ: 2GB IP 外側 :192.168.56.100( ホストオンリ ) IP 内側 :192.168.5.1(LXC ブリッジ ) VM0(Ubuntu) VM1(Ubuntu) VM2(Ubuntu) VM3(Ubuntu) マスタ スレイブ 1 スレイブ 2 スレイブ 3 (192.168.5.10) (192.168.5.11) (192.168.5.12) (192.168.5.13) ・ NameNode ・ DataeNode ・ DataeNode ・ DataeNode ・ JobTracker ・ TaskTracker ・ TaskTracker ・ TaskTracker #
  4. 4. LXC のインストール (1/2)• 面倒なので、まず root になってしまう $ sudo -i• パッケージをインストール # apt-get update # apt-get install lxc debootstrap bridge-utils• cgroup の作成 # mkdir /cgroup # mount -t cgroup none /cgroup # echo "none /cgroup cgroup defaults 0 0" >> /etc/fstab #
  5. 5. LXC のインストール (2/2)• ブリッジネットワーク設定# vi /etc/network/interfacesauto br0iface br0 inet static address 192.168.5.1 netmask 255.255.255.0 network 192.168.5.255 post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE post-up sysctl -w net.ipv4.ip_forward=1 pre-down iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE pre-down sysctl -w net.ipv4.ip_forward=0 bridge_ports none bridge_stp off #
  6. 6. コンテナの生成• とりあえず設定ファイルを作成# vi /var/lib/lxc/natty-template-network.conflxc.network.type = vethlxc.network.flags = uplxc.network.link = br0• コンテナ生成 sudo lxc-create -n vm0 -t natty -f /var/lib/lxc/natty-template-network.conf• コンテナ起動 sudo lxc-start -n vm0 #
  7. 7. コンテナの設定 (1/2)• ネットワーク設定(ホスト側)# vi /var/lib/lxc/vm0/config## 以下を追加lxc.network.ipv4 = 192.168.5.10/24• ネットワーク設定(コンテナ側) 127.0.0.1 に vm0 を設定しないこと# vi /etc/network/interfaces # vi /etc/hostsauto eth0 ## 127.0.0.1 localhost vm0iface eth0 inet static 127.0.0.1 localhost address 192.168.5.10 netmask 255.255.255.0 192.168.5.10 vm0 broadcast 192.168.5.255 192.168.5.11 vm1 gateway 192.168.5.1 192.168.5.12 vm2 192.168.5.13 vm3 #
  8. 8. コンテナの設定 (2/2)• Hadoop ユーザの作成と鍵の生成# useradd hadoop -m -g hadoop -s /bin/bash# passwd hadoop# su – hadoop$ ssh-keygen -t rsa -P ""$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys$ chmod 600 .ssh/authorized_keys## マスタとスレイブの相互に鍵を送っておく$ cat ./.ssh/id_rsa.pub | ssh vm0 "cat >> ./.ssh/authorized_keys"$ cat ./.ssh/id_rsa.pub | ssh vm1 "cat >> ./.ssh/authorized_keys" #
  9. 9. Hadoop のインストール• JDK1.6 のインストール# apt-get install python-software-properties# add-apt-repository ppa:ferramroberto/java# apt-get update# apt-get install sun-java6-jdk• 必要なパッケージをインストール # apt-get install sudo ssh ntp rsync curl wget• hadoop パッケージのインストール# vi /etc/apt/sources.list.d/cloudera.listdeb http://archive.cloudera.com/debian maverick-cdh3 contribdeb-src http://archive.cloudera.com/debian maverick-cdh3 contrib# wget -q http://archive.cloudera.com/debian/archive.key -O- | apt-key add -# apt-get update# apt-get install hadoop-0.20 #
  10. 10. 不要なサービスの停止• avahi-daemon• plymouth 関係 #
  11. 11. Hadoop の設定(共通)• 設定ファイルの作成# cp -r /etc/hadoop-0.20/conf.empty /etc/hadoop-0.20/conf.my# update-alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.my 50# update-alternatives --display hadoop-0.20-conf # 設定を確認• hadoop-env.sh# vi /etc/hadoop-0.20/conf.my/hadoop-env.shexport HADOOP_OPTS=-Djava.net.preferIPv4Stack=trueを追加 ## Ubuntu はデフォルトでは、 IPv6 で待ち受けるため(らしい。。)• Master & slaves# echo vm0 > /etc/hadoop-0.20/conf.my/masters# echo vm1 > /etc/hadoop-0.20/conf.my/slaves# echo vm2 >> /etc/hadoop-0.20/conf.my/slaves# echo vm3 >> /etc/hadoop-0.20/conf.my/slaves #
  12. 12. Hadoop 設定ファイル( core-site.xml )各ホストに以下のファイルを作成# vi /etc/hadoop-0.20/conf.my/core-site.xml<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>fs.default.name</name> <value>hdfs://vm0:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/lib/hadoop-0.20/cache/${user.name}</value> </property></configuration> #
  13. 13. Hadoop 設定ファイル( hdfs-site.xml )各ホストに以下のファイルを作成# vi /etc/hadoop-0.20/conf.my/hdfs-site.xml<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property></configuration> #
  14. 14. Hadoop 設定ファイル( mapred-site.xml )各ホストに以下のファイルを作成# vi /etc/hadoop-0.20/conf.my/mapred-site.xml<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>mapred.job.tracker</name> <value>vm0:8021</value> </property></configuration> #
  15. 15. HDFS の設定◇ 各ホストで以下を実行# mkdir /var/lib/hadoop-0.20/cache/hdfs# chown hdfs:hdfs /var/lib/hadoop-0.20/cache/hdfs## ついでに hadoop ユーザのディレクトリもオーナを変更しておく# chown hadoop:hadoop /var/lib/hadoop-0.20/cache/hadoop◇ マスタで以下を実行## NameNode のフォーマット# sudo -u hdfs hadoop namenode -format## NameNode と JobTracker をインストール# apt-get install hadoop-0.20-namenode hadoop-0.20-jobtracker# /etc/init.d/hadoop-0.20-namenode start◇ スレイブで以下を実行## DataNode と TaskTracker をインストール# apt-get install hadoop-0.20-datanode hadoop-0.20-tasktracker# /etc/init.d/hadoop-0.20-datanode start #
  16. 16. HDFS の確認• めんどくさいのでマスタに links をインストール # apt-get install links• links http://vm0:50070/ で確認 #
  17. 17. MapReduce の設定◇ 各ホストで以下を実行# mkdir /var/lib/hadoop-0.20/cache/mapred# chown mapred:mapred /var/lib/hadoop-0.20/cache/mapred◇ マスタで以下を実行## mapred ディレクトリの作成# sudo -u hdfs hadoop dfs -mkdir /var/lib/hadoop-0.20/cache/mapred# sudo -u hdfs hadoop dfs -chown mapred:mapred /var/lib/hadoop-0.20/cache/mapred◇ スレイブで以下を実行# /etc/init.d/hadoop-0.20-tasktracker start #
  18. 18. MapReduce の確認• links http://vm0:50030/ で確認 #
  19. 19. デモ-- 円周率の計算hadoop jar /usr/lib/hadoop-0.20/hadoop-examples.jar pi 10 1000-- 3MB のファイルを 10 個、書き込むhadoop jar /usr/lib/hadoop-0.20/hadoop-*-test.jar TestDFSIO -write -nrFiles 10 -fileSize 3-- 3MB のファイルを 10 個、読み込むhdfs hadoop jar /usr/lib/hadoop-0.20/hadoop-*-test.jar TestDFSIO -read -nrFiles 10 -fileSize 3-- RandomWriter に random-data というディレクトリへ出力を書き出させるhadoop jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar randomwriter random-data-- Sort プログラムhadoop jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar sort random-data sorted-data-- 確認hadoop jar /usr/lib/hadoop-0.20/hadoop-*-test.jar testmapredsort -sortInput random-data -sortOutput sorted-data #
  20. 20. 今後の目標• Hadoop のマークベンチ• CEP 系分散処理ソフトウェアの評価 ( Storm 、 Jubatus 、 Yahoo S4 等、)• CloudFoundry on LXC• 分散処理系ではありませんが、 WebRTC にも注目 しています。 #
  21. 21. 参考 URL• 貧乏人のための仮想環境 http://d.hatena.ne.jp/forest1040/20120306/1331021930• 4 台構成の Hadoop を 100 分で試してみる (CentOS + Cloudera) http://saburi380.blogspot.jp/2009/11/1004hadoopcentos-cloudera.html• 完全分散モードの Hadoop NameNode 導入 ( Ubuntu10.04 、 CDH3 ) http://www.mwsoft.jp/programming/hadoop/namenode_install.html• 完全分散モードの Hadoop JobTracker 導入 ( Ubuntu10.04 、 CDH3 ) http://www.mwsoft.jp/programming/hadoop/jobtracker_install.html #
  22. 22. 今後の目標• Hadoop のマークベンチ• CEP 系分散処理ソフトウェアの評価 ( Storm 、 Jubatus 、 Yahoo S4 等、)• CloudFoundry on LXC• 分散処理系ではありませんが、 WebRTC にも注目 しています。 #
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×