<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3940750231931580453</id><updated>2011-12-27T20:57:15.283+09:00</updated><title type='text'>きりんさん日記</title><subtitle type='html'>ぞうさんネタ(Hadoopネタ)は、CDH3(2011/8書き換え中)。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4938125937244062938</id><published>2011-12-27T20:48:00.001+09:00</published><updated>2011-12-27T20:57:15.301+09:00</updated><title type='text'>炊飯器比較：炊飯一回の消費電力量(2011冬)</title><content type='html'>10年つかった炊飯器を買い換えようかなと思ったので、炊飯一回の消費電力量(Wh)を並べてみました。5.5合炊きで、3合を炊いた場合(※1)を、メーカサイトの情報を参考に比較。2011年12月に。&lt;br /&gt;&lt;br /&gt;結局、IHで140Whくらいならいいかなあ。 &lt;br /&gt;&lt;br /&gt;メーカーによって、エコな炊飯モードとかで、消費電力量が複数ある場合もあるので、小と大の2列にしました。出荷時はエコモード設定だとか、サイトにはエコモードの消費電力量しか書いてないとか、 いろいろあるけど、少ないほうで比較すればいいかなあ、と。&lt;br /&gt;&lt;br /&gt;あ、うちは昔から保温はしないので、保温時性能は無視、年間消費電力(=きっと炊飯と保温や待機とかをまぜこぜにしてあるんだろうと思うけど)ってのも無視。&lt;br /&gt;&lt;br /&gt;（他に選ぶポイントは、メンテナンスしやすい（掃除がしやすい＝パーツが少なく形状がシンプル）、丈夫なこととか。それらは、別途調べることにします。）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;メーカー&lt;/th&gt;&lt;th&gt;型番&lt;/th&gt;&lt;th&gt;消費電力量(小)&lt;/th&gt;&lt;th&gt;消費電力量(大)&lt;/th&gt;&lt;th&gt;特徴、うんちく、キャッチコピー&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日立&lt;/td&gt;&lt;td&gt;RZ-W1000K&lt;/td&gt;&lt;td&gt;139.7&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力＆スチームIH(蒸気カット) 大火力 打込み鉄釜 厚さ3mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日立&lt;/td&gt;&lt;td&gt;RZ-MV100K &lt;/td&gt;&lt;td&gt;145.3&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力＆スチームIH(蒸気カット) 大火力 打込み鉄釜 厚さ3mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日立&lt;/td&gt;&lt;td&gt;RZ-MX100J &lt;/td&gt;&lt;td&gt;140.1&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力＆スチームIH(蒸気カット) 大火力 黒厚鉄釜　厚さ2.3mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日立&lt;/td&gt;&lt;td&gt;RZ-MG10J  &lt;/td&gt;&lt;td&gt;140.5&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力＆スチームIH(蒸気セーブタイプ) 大火力 黒厚鉄釜　厚さ2.3mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日立&lt;/td&gt;&lt;td&gt;RZ-MC10J  &lt;/td&gt;&lt;td&gt;172.7&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH 大火力 黒厚鉄釜（取っ手付き）厚さ2.3mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;日立&lt;/td&gt;&lt;td&gt;RZ-JP10J  &lt;/td&gt;&lt;td&gt;159.1&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH 鉄入り釜（取っ手付き）厚さ1.5mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-SS10 &lt;/td&gt;&lt;td&gt;140 &lt;/td&gt;&lt;td&gt;243 &lt;/td&gt;&lt;td&gt;圧力IH 南部鉄器極め羽釜&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-SB10 &lt;/td&gt;&lt;td&gt;140 &lt;/td&gt;&lt;td&gt;258 &lt;/td&gt;&lt;td&gt;圧力IH 極め羽釜&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-NU10 &lt;/td&gt;&lt;td&gt;134 &lt;/td&gt;&lt;td&gt;219 &lt;/td&gt;&lt;td&gt;圧力IH 羽釜リングつきプラチナ厚釜(2.2mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-NC10 &lt;/td&gt;&lt;td&gt;137 &lt;/td&gt;&lt;td&gt;207 &lt;/td&gt;&lt;td&gt;真空圧力IH プラチナ真空釜(1.7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-NH10 &lt;/td&gt;&lt;td&gt;133 &lt;/td&gt;&lt;td&gt;212 &lt;/td&gt;&lt;td&gt;真空圧力IH 真空かまど釜(1.7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-HV10 &lt;/td&gt;&lt;td&gt;187 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;真空圧力IH 真空かまど釜(1.7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-HP10 &lt;/td&gt;&lt;td&gt;138 &lt;/td&gt;&lt;td&gt;208 &lt;/td&gt;&lt;td&gt;圧力IH 黒まる厚釜(1.7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-VB10 &lt;/td&gt;&lt;td&gt;142 &lt;/td&gt;&lt;td&gt;199 &lt;/td&gt;&lt;td&gt;IH 黒まる厚釜(1.7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NP-VE10 &lt;/td&gt;&lt;td&gt;183 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;IH 黒まる厚釜(1.7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NS-TC10 &lt;/td&gt;&lt;td&gt;165 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;- 黒厚釜(1.4mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;象印&lt;/td&gt;&lt;td&gt;NS-WB10 &lt;/td&gt;&lt;td&gt;159 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;- 黒厚釜(1.4mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-SX101&lt;/td&gt;&lt;td&gt;176&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;スチーム6段IH 遠赤大火力竈釜2.5mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-SA101&lt;/td&gt;&lt;td&gt;166&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;スチーム5段IH 遠赤大火力竈釜2.4mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-SB101&lt;/td&gt;&lt;td&gt;168&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;スチーム5段IH 大火力竈釜2.4mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-HX101&lt;/td&gt;&lt;td&gt;141&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;5段IH 大火力竈釜2.4mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-HB101&lt;/td&gt;&lt;td&gt;141&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;4段IH 大火力竈釜2.4mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-HAC10&lt;/td&gt;&lt;td&gt;163&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;4段IH 大火力銅釜2.3mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-HC101&lt;/td&gt;&lt;td&gt;140&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;2段IH ダイアモンド銅釜1.7mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-HD101&lt;/td&gt;&lt;td&gt;140&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;2段IH 蓄熱ダイアモンド釜1.7mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-PX101&lt;/td&gt;&lt;td&gt;163&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力IH 純銅仕込み5層厚釜3.5mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-PA101&lt;/td&gt;&lt;td&gt;163&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力IH 銅コート5層厚釜3.5mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Panasonic&lt;/td&gt;&lt;td&gt;SR-PB101&lt;/td&gt;&lt;td&gt;157&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;圧力IH 銅コート厚釜2.5mm&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;XWB10J&lt;/td&gt;&lt;td&gt;152.3 &lt;/td&gt;&lt;td&gt;175.5 &lt;/td&gt;&lt;td&gt;蒸気レスIH 本炭釜&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;XSB10J&lt;/td&gt;&lt;td&gt;149.2 &lt;/td&gt;&lt;td&gt;172.5 &lt;/td&gt;&lt;td&gt;蒸気レスIH(超音波) 炭コート5層(3.5mm)(炭炊釜)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;VW102&lt;/td&gt;&lt;td&gt;180.3 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;IH  本炭釜(7.5mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;VX102&lt;/td&gt;&lt;td&gt;177.2 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;IH  炭コート5層(3.5mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;VV102&lt;/td&gt;&lt;td&gt;170.1 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;IH  炭コート5層(2.5mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;VE102&lt;/td&gt;&lt;td&gt;163.8 &lt;/td&gt;&lt;td&gt;- &lt;/td&gt;&lt;td&gt;IH  炭コート2層(1.8mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;三菱&lt;/td&gt;&lt;td&gt;VX101&lt;/td&gt;&lt;td&gt;157.4 &lt;/td&gt;&lt;td&gt;179.2 &lt;/td&gt;&lt;td&gt;IH&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10VGE &lt;/td&gt;&lt;td&gt;192 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;真空圧力IH(ダブル真空ひたし) 鍛造かまど銀釜(7mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10VXE &lt;/td&gt;&lt;td&gt;186 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;真空圧力IH(真空ひたし) 鍛造かまど銀釜(5mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10VSE &lt;/td&gt;&lt;td&gt;185 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;真空圧力IH(真空ひたし) 鍛造かまど銀釜(5mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10VRE &lt;/td&gt;&lt;td&gt;180 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;真空IH(真空ひたし) 鍛造かまど銅コート釜(5mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10ZE  &lt;/td&gt;&lt;td&gt;172 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH ダイヤモンド銅コート釜(2mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10FE  &lt;/td&gt;&lt;td&gt;172 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH ダイヤモンド銅コート釜(2mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10MSD &lt;/td&gt;&lt;td&gt;182 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;- ダイヤモンド銅コート釜(4mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10MFD &lt;/td&gt;&lt;td&gt;179 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;- ダイヤモンド銅コート釜(2.2mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;東芝&lt;/td&gt;&lt;td&gt;RC-10RMD &lt;/td&gt;&lt;td&gt;182 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;- ダイヤモンド銅コート釜(4mm)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKN-A100 &lt;/td&gt;&lt;td&gt;156*&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;土鍋IH+3段ヒーター+ふた全面ヒーター+熱風循環システム&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKN-B100 &lt;/td&gt;&lt;td&gt;156 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;土鍋IH+3段ヒーター+ふたヒーター&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKP-A100 &lt;/td&gt;&lt;td&gt;178 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;135度剛火IH+側面ヒーター+ふたヒーター&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKP-B100 &lt;/td&gt;&lt;td&gt;178 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;135度剛火IH+側面ヒーター+ふたヒーター&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKK-H100 &lt;/td&gt;&lt;td&gt;167 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;130度剛火IH+側面ヒーター+ふたヒーター&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKJ-H100 &lt;/td&gt;&lt;td&gt;167 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH/VFインバーター（剛火IH）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKH-T100 &lt;/td&gt;&lt;td&gt;174 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH/VFインバーター（剛火IH）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKH-U100 &lt;/td&gt;&lt;td&gt;174 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH/VFインバーター（剛火IH）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JKW-A100 &lt;/td&gt;&lt;td&gt;181 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;IH/VFインバーター（剛火IH）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;タイガー&lt;/td&gt;&lt;td&gt;JBG-B100 &lt;/td&gt;&lt;td&gt;140 &lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;炊飯ヒーター+側面ヒーター+ふたヒーター&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;* タイガーのJKN-A100のはエコモード（出荷時設定）&lt;br /&gt;&lt;br /&gt;※1 炊飯一回の消費電力量(Wh)の測定について&lt;br /&gt;表記はメーカーによってまちまちですが、最大炊飯容量1L(5.5合)なら23℃で3合(450g)炊いた場合のようです。&lt;br /&gt;&lt;br /&gt;表記のまちまちとは、&lt;br /&gt;&amp;nbsp;日立: 0.54L（3合）炊飯時。初期の室温・水温共に23℃の場合。室温、水温等によって異なります。&lt;br /&gt;&amp;nbsp;三菱: 1回あたりの炊飯（白米）における消費電力量。省エネ法 特定機器「電気ジャー炊飯器」の測定方法による。NJ-XWB10J、XSB10J、VX101は3合炊飯時&lt;br /&gt;&amp;nbsp;東芝: 省エネ法・特定機器「ジャー炊飯器」測定方法による数値です。&lt;br /&gt;&amp;nbsp;象印: 3合炊飯時 省エネ特定機器「電気ジャー炊飯器」の測定方法による。&lt;br /&gt;&amp;nbsp;Panasonic: 省エネ法・特定機器「電気ジャー炊飯器」の測定方法による。&lt;br /&gt;&amp;nbsp;タイガー: 表記が見当たらない...うーん、いまいち。&lt;br /&gt;&lt;br /&gt;ここで、省エネ法の測定方法は「最大炊飯容量0.99L 以上1.44L 未満なら、炊飯精米質量450gで測定、23℃」らしい。(※2)&lt;br /&gt;ただし、合とgの関係はあいまい(1合＝約150ｇらしい)。&lt;br /&gt;&lt;br /&gt;※2 省エネ法の測定方法&lt;br /&gt;1a. 省エネ法関係情報&lt;br /&gt;&amp;nbsp;http://www.eccj.or.jp/law06/index.html&lt;br /&gt;&amp;nbsp; 29) &amp;nbsp;&amp;nbsp;&amp;nbsp; 特定機器の性能の向上に関する製造事業者等の判断の基準等&lt;br /&gt;&amp;nbsp; (19) &amp;nbsp;&amp;nbsp;&amp;nbsp; 改正平成18年03月29日 ジャー炊飯器&lt;br /&gt;&amp;nbsp; ジャー炊飯器の性能の向上に関する製造事業者等の判断の基準等 &lt;br /&gt;&amp;nbsp;&amp;nbsp; http://www.eccj.or.jp/law06/machine/ricecooker.html&lt;br /&gt;2a. 総合資源エネルギー調査会省エネルギー基準部会 電気炊飯器判断基準小委員会 最終取りまとめ&lt;br /&gt;&amp;nbsp;http://www.eccj.or.jp/toprunner/cooker/cooker.pdf (http://www.eccj.or.jp/toprunner/)&lt;br /&gt;&amp;nbsp;この中に、合とLの関係は「0.54L（3 合）、0.63L（3.5 合）、0.99L（5.5 合）」&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4938125937244062938?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4938125937244062938/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/12/2011.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4938125937244062938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4938125937244062938'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/12/2011.html' title='炊飯器比較：炊飯一回の消費電力量(2011冬)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-8409445890050796407</id><published>2011-10-27T19:16:00.000+09:00</published><updated>2011-11-04T19:09:16.979+09:00</updated><title type='text'>VMWare ESX5の自動インストール</title><content type='html'>VMWare ESX5を、一度に、たくさんのサーバーに、入れることがちょいちょいあります。いや、ないかも。そのときに必要なインストール用のサーバーのメモ。(2011-9に試した方法なので、ちょっと古いかも）&lt;br /&gt;&lt;br /&gt;このインストール用サーバーがあると、&lt;br /&gt;空のサーバー機に、簡単に(CDメディアとか無しで)、VMWare ESX5をインストールすることが出来るようになります。(PXEブートして、ネットワーク上においたESX5インストールセットから、ESX5をインストルします。MACアドレスに対応づけた設定ファイルを置くことで、サーバー毎の設定を自動設定することもできます。)&lt;br /&gt;&lt;br /&gt;この記事は、今のところちょっと手抜きで、こっちの&lt;a href="http://saburi380.blogspot.com/2011/08/centos6.html"&gt;CentOS6用の記事&lt;/a&gt;をベースにしてます。記事は、手抜き中。&lt;br /&gt;&lt;br /&gt;インストール用サーバーは、1つのLinuxサーバーに、&lt;br /&gt;・VMWare ESXのインストーラー一式を置く(tftp)&lt;br /&gt;・PXEブート用のサーバー(dhcp, tftp)を置く&lt;br /&gt;・必要ならば、インストール対象サーバー毎(MACアドレスで識別)の設定をファイル(kickstartファイル)で置く(http)&lt;br /&gt;と、設定しておきます。&lt;br /&gt;&lt;br /&gt;インストール対象のサーバーは、 インストール用サーバーと同一ネットワークにつなげて、ブートして放っておくとESX5が動いていることになります。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. VMWare ESX5のローカルリポジトリ&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;/tftpboot/esxi50/に、VMware-VMvisor-Installer-5.0.0-nnnnnn.x86_64.isoの中身をまるっとコピーしておきます。&lt;br /&gt;&lt;br /&gt;手順はざっと、VMware-VMvisor-Installer-5.0.0-nnnnnn.x86_64.isoを、/tmp/においたとして、&lt;br /&gt;&lt;br /&gt;&amp;gt; cd /tftpboot/&lt;br /&gt;&amp;gt; mkdir esxi50&lt;br /&gt;&amp;gt; mount -o loop /tmp/VMware-VMvisor-Installer-5.0.0-nnnnnn.x86_64.iso /mnt/&lt;br /&gt;&amp;gt; rsync -a /mnt/ esxi50/&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. PXEブートサーバー&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://saburi380.blogspot.com/2011/08/centos6.html"&gt;これ&lt;/a&gt;と同じように、dhcpとtftpとhttpサーバーを作る &lt;br /&gt;&lt;br /&gt;dhcpの設定は、どれそれ&lt;br /&gt;&lt;br /&gt;httpサーバーの設定は、どれそれ&lt;br /&gt;&lt;br /&gt;/tftpboot/に、PXEブート用の設定をつくる&lt;br /&gt;&lt;br /&gt;&amp;gt; ls -F /tftpboot/&lt;br /&gt;esxi50/&lt;br /&gt;pxelinux.0&lt;br /&gt;pxelinux.cfg/&lt;br /&gt;&lt;br /&gt;ここで、pxelinux.0は、&lt;a href="http://saburi380.blogspot.com/2011/08/centos6.html"&gt;これ&lt;/a&gt;といっしょ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-1. PXEブートの最初の設定ファイル&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;こんなファイルを用意 &lt;br /&gt;&lt;br /&gt;&amp;gt; cat pxelinux.cfg/default&lt;br /&gt;default esxi50&lt;br /&gt;&lt;br /&gt;label esxi50&lt;br /&gt;kernel /esxi50/mboot.c32&lt;br /&gt;append -c /esxi50/boot.cfg&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-2. 次のESXインストーラーブート用の設定ファイル&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;最初からあるesxi50/boot.cfgから、 設定ファイル内のフルパス部分を変更&lt;br /&gt;コピーしておいて、boot.cfgを、viなら「:%s#/##g」&lt;br /&gt;&lt;br /&gt;結局こんなファイルを用意&lt;br /&gt;&amp;gt; cat esxi50/boot.cfg&lt;br /&gt;bootstate=0&lt;br /&gt;title=Loading ESXi installer&lt;br /&gt;prefix=/esxi50/&lt;br /&gt;kernel=tboot.b00&lt;br /&gt;#kernelopt=runweasel&lt;br /&gt;modules=b.b00 --- useropts.gz --- k.b00 --- a.b00 --- ata-pata.v00 --- ata-pata.v01 --- ata-pata.v02 --- ata-pata.v03 --- ata-pata.v04 --- ata-pata.v05 --- ata-pata.v06 --- ata-pata.v07 --- block-cc.v00 --- ehci-ehc.v00 --- s.v00 --- weaselin.i00 --- ima-qla4.v00 --- ipmi-ipm.v00 --- ipmi-ipm.v01 --- ipmi-ipm.v02 --- misc-cni.v00 --- misc-dri.v00 --- net-be2n.v00 --- net-bnx2.v00 --- net-bnx2.v01 --- net-cnic.v00 --- net-e100.v00 --- net-e100.v01 --- net-enic.v00 --- net-forc.v00 --- net-igb.v00 --- net-ixgb.v00 --- net-nx-n.v00 --- net-r816.v00 --- net-r816.v01 --- net-s2io.v00 --- net-sky2.v00 --- net-tg3.v00 --- ohci-usb.v00 --- sata-ahc.v00 --- sata-ata.v00 --- sata-sat.v00 --- sata-sat.v01 --- sata-sat.v02 --- sata-sat.v03 --- scsi-aac.v00 --- scsi-adp.v00 --- scsi-aic.v00 --- scsi-bnx.v00 --- scsi-fni.v00 --- scsi-hps.v00 --- scsi-ips.v00 --- scsi-lpf.v00 --- scsi-meg.v00 --- scsi-meg.v01 --- scsi-meg.v02 --- scsi-mpt.v00 --- scsi-mpt.v01 --- scsi-mpt.v02 --- scsi-qla.v00 --- scsi-qla.v01 --- uhci-usb.v00 --- tools.t00 --- imgdb.tgz --- imgpayld.tgz&lt;br /&gt;build=&lt;br /&gt;updated=0&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-3. (必要ならば)インストール対象サーバ毎の設定ファイル&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;このファイルが無ければ、デフォルトでESXが入るだけです。あとで、手動で設定変更すればいいかと。&lt;br /&gt;&lt;br /&gt;ここでは、インストール対象サーバーのMACアドレスに対応した設定ファイル(IPアドレスその他)を用意しておきます。&lt;br /&gt;&lt;br /&gt;例えば、こんなファイルを用意し、httpで、見えるようにおいておきます。（ここでは、例えば、http://10.1.1.100/ksesx5-&lt;span style="color: purple;"&gt;server001&lt;/span&gt;.cfgで見えるように置いておきます。）&lt;br /&gt;&lt;br /&gt;&amp;gt; cat kickstart-server001.cfg&lt;br /&gt;accepteula&lt;br /&gt;install --firstdisk --overwritevmfs&lt;br /&gt;&lt;div style="color: blue;"&gt;rootpw &lt;span style="background-color: white;"&gt;password&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;reboot&lt;br /&gt;&lt;span style="color: purple;"&gt;network --bootproto=static --ip=10.1.1.1 --gateway=10.1.1.254 --nameserver=10.1.1.254 --netmask=25&lt;/span&gt;&lt;br /&gt;&lt;span style="color: purple;"&gt;5.255.255.0 --hostname=server001.saburi380.com --addvmportgroup=1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;%firstboot --interpreter=busybox&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;# enable &amp;amp; start remote ESXi Shell&amp;nbsp; (SSH)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;vim-cmd hostsvc/enable_ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;vim-cmd hostsvc/start_ssh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;# enable &amp;amp; start ESXi Shell (TSM)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;vim-cmd hostsvc/enable_esx_shell&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;vim-cmd hostsvc/start_esx_shell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;# enable password login (SSH)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #6aa84f;"&gt;sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ただし、&lt;br /&gt;&lt;div style="color: blue;"&gt;・rootpw行のパスワードは、&lt;span style="color: black;"&gt;書き換えましょう。&lt;/span&gt;&lt;span style="color: black;"&gt;そのまんま書くのが嫌な人は、「rootpw --iscrypted ごにょごにょ」と書きます。ごにょごにょの求め方は、例えばパスワードが「naisyo」の人は、「openssl passwd -1 naisyo」とします。&lt;/span&gt;&lt;/div&gt;&lt;span style="color: purple;"&gt;・network行は、&lt;span style="color: black;"&gt;好きなように書き換えます。&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;・&lt;span style="color: #38761d;"&gt;%firstboot行以降は、&lt;/span&gt;ESXサーバーへのssh接続を可能にしちゃってます。嫌な人は消します。&lt;br /&gt;&lt;br /&gt;それから、2-1のファイルの代わりに、「pxelinux.cfg/&lt;i&gt;MACアドレス&lt;/i&gt;」の名前のファイルを作って、そこにkickstartファイルを読み込む設定を追加します。&lt;br /&gt;&lt;br /&gt;&amp;gt; cat pxelinux.cfg/&lt;i&gt;MACアドレス&lt;/i&gt;&lt;br /&gt;default esxi50&lt;br /&gt;&lt;br /&gt;label esxi50&lt;br /&gt;kernel /esxi50/mboot.c32&lt;br /&gt;append -c /esxi50/boot.cfg ks=http://10.1.1.100/ksesx5-&lt;span style="color: purple;"&gt;server001&lt;/span&gt;&lt;span style="color: black;"&gt;.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;参考サイト&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.vcritical.com/2011/07/vmware-esxi-5-interactive-pxe-installation-improvements/"&gt;http://www.vcritical.com/2011/07/vmware-esxi-5-interactive-pxe-installation-improvements/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://music.roderickderks.nl/kb/technical/321-esxi5-pxe-boot-setup-and-kscfg"&gt;http://music.roderickderks.nl/kb/technical/321-esxi5-pxe-boot-setup-and-kscfg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-8409445890050796407?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/8409445890050796407/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/10/vmware-esx5.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/8409445890050796407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/8409445890050796407'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/10/vmware-esx5.html' title='VMWare ESX5の自動インストール'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4041063044171023134</id><published>2011-08-16T20:43:00.008+09:00</published><updated>2011-08-22T17:36:39.362+09:00</updated><title type='text'>Web Application Components and Interfaces</title><content type='html'>ここのところ、&lt;a href="http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html"&gt;xSGIもの(WSGI,Rack,JSGI,PSGI,...)&lt;/a&gt;を確認中で、ついでに、Webアプリを構成するものとインタフェースを絵(言語ねたを別にした絵)にしてみようと思ってみたけど、難しいなあ。とりあず思いついたやつの、とりあえず0.21版。ちまちま書き変えようかなあ、と。&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-ZTTXOzUgAiI/Tkuh2oZ1aQI/AAAAAAAAAKc/q4iyH_ZSOTo/s1600/webapp-intefacessvg-0.3.png" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4041063044171023134?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4041063044171023134/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/web-application-components-and.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4041063044171023134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4041063044171023134'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/web-application-components-and.html' title='Web Application Components and Interfaces'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ZTTXOzUgAiI/Tkuh2oZ1aQI/AAAAAAAAAKc/q4iyH_ZSOTo/s72-c/webapp-intefacessvg-0.3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-2122306846607050058</id><published>2011-08-15T23:14:00.006+09:00</published><updated>2011-08-16T09:48:16.493+09:00</updated><title type='text'>PHP版WSGIを簡単に試してみる(AppServer)</title><content type='html'>最近、&lt;a href="http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html"&gt;xSGIもの(WSGI,Rack,JSGI,PSGI,...)&lt;/a&gt;を確認中で、PHP版WSGIを簡単に試してみるメモです。&lt;br /&gt;&lt;br /&gt;ubuntu11で、&lt;a href="https://github.com/indeyets/appserver-in-php#readme"&gt;AppServer&lt;/a&gt;を使います。&lt;a href="https://github.com/dhotson/kelpie#readme"&gt;Kelpie&lt;/a&gt;というのもあるらしいけど。&lt;br /&gt;&lt;br /&gt;・php, pearの環境を準備する。&lt;br /&gt;&lt;pre&gt;apt-get install php-pear&lt;/pre&gt;&lt;br /&gt;・AppServerを準備する。&lt;br /&gt;&lt;pre&gt;pear channel-discover pear.symfony-project.com&lt;br /&gt;pear channel-discover pear.indeyets.pp.ru&lt;br /&gt;pear install indeyets/AppServer&lt;/pre&gt;&lt;br /&gt;・自前のアプリケーションHelloWorldApp.class.phpを準備する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;class HelloWorldApp{&lt;br /&gt;    public function __invoke($env) {&lt;br /&gt;        return array(200, array('Content-type', 'text/plain'), 'Hello world');&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;bodyの戻り値がただの文字列なのが、AppServerの、ちょっと変わってるところ。&lt;br /&gt;&lt;br /&gt;・設定ファイルaip.yamlを準備する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;apps:&lt;br /&gt;  -&lt;br /&gt;    app: &amp;HelloWorldApp&lt;br /&gt;      class: HelloWorldApp&lt;br /&gt;      file: ./HelloWorldApp.class.php&lt;br /&gt;      middlewares: []&lt;br /&gt;&lt;br /&gt;servers:&lt;br /&gt;  -&lt;br /&gt;    protocol: HTTP&lt;br /&gt;    socket: 'tcp://0.0.0.0:8090'&lt;br /&gt;    min-children: 5&lt;br /&gt;    max-children: 10&lt;br /&gt;    app: *HelloWorldApp&lt;/pre&gt;&lt;br /&gt;・実行する。&lt;br /&gt;&lt;pre&gt;aip app aip.yaml&lt;/pre&gt;&lt;br /&gt;・ブラウザから、「http://ご自分のサーバー:8090/」としてみる(ポート番号は設定ファイルのもの)と、「Hello World」と表示される。&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-2122306846607050058?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/2122306846607050058/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/phpwsgiappserver.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/2122306846607050058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/2122306846607050058'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/phpwsgiappserver.html' title='PHP版WSGIを簡単に試してみる(AppServer)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4470355072595516923</id><published>2011-08-15T22:54:00.007+09:00</published><updated>2011-08-22T17:50:40.021+09:00</updated><title type='text'>Rack(ruby版WSGI)を簡単に試してみる(mod_passenger)</title><content type='html'>最近、&lt;a href="http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html"&gt;xSGIもの(WSGI,Rack,JSGI,PSGI,...)&lt;/a&gt;を確認中で、&lt;a href="http://rack.rubyforge.org/doc/SPEC.html"&gt;Rack(ruby版WSGI)&lt;/a&gt;を簡単に試してみるメモです。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(A) Apache + &lt;a href="http://www.modrails.com/"&gt;mod_passenger&lt;/a&gt;(mod_rack)で試す。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Apacheで、/に来たリクエストを、自前のrubyスクリプトに任せる設定。UbuntuでApacheとmod_passenger(mod_rack)を使います。&lt;br /&gt;&lt;br /&gt;・ubunru 11で、apache2やmod_passenger一式を入れる。&lt;br /&gt;&lt;pre&gt;apt-get install libapache2-mod-passenger&lt;/pre&gt;&lt;br /&gt;・自前のスクリプト一式の置き場所/usr/local/www/rack-scripts/を準備する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mkdir /usr/local/www/rack-scripts/&lt;br /&gt;mkdir /usr/local/www/rack-scripts/public&lt;br /&gt;mkdir /usr/local/www/rack-scripts/tmp&lt;/pre&gt;&lt;br /&gt;・自前のスクリプトapplication.wsgiを準備する。&lt;br /&gt;/usr/local/www/rack-scripts/application.rbとして、&lt;br /&gt;&lt;pre&gt;class HelloWorldApp&lt;br /&gt;  def call(env)&lt;br /&gt;    [ 200, { 'Content-Type' =&amp;gt; 'text/plain' }, ['Hello world'] ]&lt;br /&gt;  end&lt;br /&gt;end&lt;/pre&gt;&lt;br /&gt;・自前の設定ファイルconfig.ruを準備する。&lt;br /&gt;/usr/local/www/rack-scripts/config.ruとして、&lt;br /&gt;&lt;pre&gt;require 'application.rb'&lt;br /&gt;run HelloWorldApp.new&lt;/pre&gt;&lt;br /&gt;・apacheの設定をする。/に来たリクエストを、mod_passengerに任せる設定。&lt;br /&gt;/etc/apache2/conf.d/rack-rootとして、&lt;br /&gt;&lt;pre&gt;&amp;lt;Virtualhost *:80&amp;gt;&lt;br /&gt;    DocumentRoot /usr/local/www/rack-scripts/public&lt;br /&gt;    RackBaseURI /&lt;br /&gt;    &amp;lt;Directory /usr/local/www/rack-script&amp;gt;&lt;br /&gt;      Allow from all&lt;br /&gt;      Options -MultiViews&lt;br /&gt;    &amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;(DocumentRootはpublicディレクトリを指定するところが特徴かも)&lt;br /&gt;&lt;br /&gt;・apacheをリスタートし&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/etc/init.d/apache2 restart&lt;/pre&gt;&lt;br /&gt;・ブラウザから、「http://ご自分のサーバー/」としてみると、「Hello World」と表示される。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(B) Apacheを使わずに試す。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・ubuntu11で、librack-rubyとruby一式を入れる。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;apt-get install librack-ruby1.9.1&lt;br /&gt;&lt;i&gt;※ ruby1.8ならlibrack-ruby1.8&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;以下、一つのディレクトリ内で、&lt;br /&gt;&lt;br /&gt;・自前のスクリプトapplication.rbを準備する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;class HelloWorldApp&lt;br /&gt;  def call(env)&lt;br /&gt;    [ 200, { 'Content-Type' =&amp;gt; 'text/plain' }, ['Hello world'] ]&lt;br /&gt;  end&lt;br /&gt;end&lt;/pre&gt;&lt;br /&gt;・設定ファイルconfig.ruを準備する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;require 'application.rb'&lt;br /&gt;run HelloWorldApp.new&lt;/pre&gt;&lt;br /&gt;・実行する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;rackup1.9.1 -I .&lt;br /&gt;&lt;i&gt;※ ruby1.8ならrackup1.8&lt;/i&gt;&lt;/pre&gt;&lt;br /&gt;・ブラウザから、「http://ご自分のサーバー:9292/」(ポート番号はコンソール表示を確認)としてみると、「Hello World」と表示される。&lt;br /&gt;&lt;br /&gt;・おまけ&lt;br /&gt;&lt;br /&gt;ポート番号を変更したい場合は、&lt;br /&gt;&lt;pre&gt;rackup1.9.1 -I . -p 8080&lt;/pre&gt;&lt;br /&gt;オプション-s mongrelとすると、Webアプリケーションサーバーをmongrelに変更できる(デフォルトはWEBrick)はずです。&lt;br /&gt;&lt;br /&gt;というかヘルプは、&lt;br /&gt;&lt;pre&gt;rackup1.9.1 --help&lt;/pre&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4470355072595516923?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4470355072595516923/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/rackrubywsgi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4470355072595516923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4470355072595516923'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/rackrubywsgi.html' title='Rack(ruby版WSGI)を簡単に試してみる(mod_passenger)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-6004748687717553766</id><published>2011-08-15T21:57:00.001+09:00</published><updated>2011-08-15T21:57:00.609+09:00</updated><title type='text'>PSGI(Perl版WSGI)を簡単に試してみる</title><content type='html'>最近、&lt;a href="http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html"&gt;xSGIもの(WSGI,Rack,JSGI,PSGI,...)&lt;/a&gt;を確認中で、&lt;a href="https://github.com/miyagawa/psgi-specs/blob/master/PSGI.pod"&gt;PSGI(perl版WSGI)&lt;/a&gt;を簡単に試してみるメモです。&lt;br /&gt;&lt;br /&gt;・ubuntu11で、libplack-perl一式を入れる。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;apt-get install libplack-perl&lt;/pre&gt;&lt;br /&gt;以下、一つのディレクトリ内で、&lt;br /&gt;&lt;br /&gt;・自前のスクリプトapplication.psgiを準備する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sub {&lt;br /&gt;  my $env = shift;&lt;br /&gt;  return [ '200', [ 'Content-Type' =&amp;gt; 'text/plain' ], [ "Hello world" ] ];&lt;br /&gt;};&lt;/pre&gt;&lt;br /&gt;・実行する。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;plackup application.psgi&lt;/pre&gt;&lt;br /&gt;・ブラウザから、「http://ご自分のサーバー:5000/」(ポート番号はコンソール表示を確認)としてみると、「Hello World」と表示される。&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-6004748687717553766?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/6004748687717553766/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/psgiperlwsgi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6004748687717553766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6004748687717553766'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/psgiperlwsgi.html' title='PSGI(Perl版WSGI)を簡単に試してみる'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-203070948554245406</id><published>2011-08-15T21:34:00.009+09:00</published><updated>2011-08-16T09:59:48.189+09:00</updated><title type='text'>JSGI(JavaScript版WSGI)を簡単に試してみる(jack)</title><content type='html'>最近、&lt;a href="http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html"&gt;xSGIもの(WSGI,Rack,JSGI,PSGI,...)&lt;/a&gt;を確認中で、&lt;a href="http://jackjs.org/jsgi-spec.html"&gt;JSGI(JavaScript版WSGI)&lt;/a&gt;を簡単に試してみるメモです。&lt;br /&gt;&lt;br /&gt;ubuntu11上で、&lt;a href="https://github.com/280north/narwhal"&gt;Narwhal&lt;/a&gt;(A general purpose JavaScript platform)と&lt;a href="https://github.com/tlrobinson/jack"&gt;Jack&lt;/a&gt;を使って、試してみます。&lt;br /&gt;&lt;br /&gt;ここでは、簡単のために/root/js/ディレクトリ内で操作しています。&lt;br /&gt;&lt;br /&gt;・Javaを入れておく&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;apt-get install openjdk-6-jdk&lt;/pre&gt;&lt;br /&gt;・narwhalを入れる。ダウンロードして展開するだけ。&lt;br /&gt;&lt;br /&gt;&lt;a href="https://github.com/280north/narwhal"&gt;https://github.com/280north/narwhal&lt;/a&gt;からダウンロードし、出来たディレクトリを、/root/js/narwhalと名前変更する。&lt;br /&gt;&lt;br /&gt;パスを通しす。&lt;br /&gt;&lt;pre&gt;export PATH=$PATH:/root/js/narwhal/bin&lt;/pre&gt;&lt;br /&gt;・Jackを入れる。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;tusk install jack&lt;/pre&gt;&lt;br /&gt;・自前のスクリプトjackconfig.jsを準備する。&lt;br /&gt;&lt;pre&gt;exports.app = function(env) {&lt;br /&gt;  return { status : 200, headers : {"Content-Type":"text/plain", "Content-Length":"11"}, body : ["Hello worLd"] };&lt;br /&gt;}&lt;/pre&gt;※手元の環境ではContent-Lengthが無いとエラーだったので、つけてみました。&lt;br /&gt;&lt;br /&gt;・Webアプリケーションサーバーをスタート&lt;br /&gt;&lt;pre&gt;jackup&lt;/pre&gt;&lt;br /&gt;・ブラウザから、「http://ご自分のサーバー:8080/」としてみる(ポート番号はコンソール表示を確認)と、「Hello World」と表示される。&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-203070948554245406?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/203070948554245406/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/jsgijavascriptwsgijack.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/203070948554245406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/203070948554245406'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/jsgijavascriptwsgijack.html' title='JSGI(JavaScript版WSGI)を簡単に試してみる(jack)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-7826296657057273815</id><published>2011-08-13T09:14:00.016+09:00</published><updated>2011-08-22T17:46:38.780+09:00</updated><title type='text'>WSGIを簡単に試してみる(mod_wsgi)</title><content type='html'>最近、&lt;a href="http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html"&gt;WSGI系のWebアプリケーションのインタフェース(WSGI,Rack,JSGI,PSGI)を興味がある&lt;/a&gt;ので、WSGIを簡単に試してみるメモです。Apacheと&lt;a href="http://code.google.com/p/modwsgi/"&gt;mod_wsgi&lt;/a&gt;を使う例です。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Apache + mod_wsgiで簡単に試す&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Apacheで、/に来たリクエストを、自前のWSGI/pythonスクリプトに任せる設定。UbuntuでApacheとmod_wsgiを使う。&lt;br /&gt;&lt;br /&gt;・ubunru 11で、apache2やmod_wsgi一式を入れる。&lt;br /&gt;&lt;pre&gt;apt-get install libapache2-mod-wsgi&lt;/pre&gt;&lt;br /&gt;・自前のスクリプトapplication.wsgiを準備する。&lt;br /&gt;/usr/local/www/wsgi-scripts/application.wsgiとして、&lt;br /&gt;&lt;pre&gt;def application(env, start_response):&lt;br /&gt;  start_response('200 OK', [('Content-type', 'text/plain')])&lt;br /&gt;  return ['Hello world']&lt;/pre&gt;&lt;br /&gt;・apacheの設定をする。/に来たリクエストを、自前のプログラムapplication.wsgiに任せる設定。&lt;br /&gt;/etc/apache2/conf.d/wsgi-rootとして、&lt;br /&gt;&lt;pre&gt;&amp;lt;Virtualhost *:80&amp;gt;&lt;br /&gt;    WSGIScriptAlias / /usr/local/www/wsgi-scripts/application.wsgi&lt;br /&gt;&lt;br /&gt;    &amp;lt;Directory /usr/local/www/wsgi-scripts&amp;gt;&lt;br /&gt;    Order allow,deny&lt;br /&gt;    Allow from all&lt;br /&gt;    &amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;&lt;br /&gt;・apacheをリスタートし&lt;br /&gt;&lt;pre&gt;/etc/init.d/apache2 restart&lt;/pre&gt;&lt;br /&gt;・ブラウザから、「http://&lt;i&gt;ご自分のサーバー&lt;/i&gt;/」としてみると、「Hello World」と表示される。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. もう少しWebアプリケーションっぽく&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・Query Stringをエコー(危険)するapplication.wsgi例&lt;br /&gt;&lt;pre&gt;def application(env, start_response):&lt;br /&gt;  start_response('200 OK', [('Content-type', 'text/html')])&lt;br /&gt;  return ['insecure query string echo', '&amp;lt;hr&amp;gt;', env['QUERY_STRING'], '&amp;lt;hr&amp;gt;']&lt;/pre&gt;&lt;br /&gt;ブラウザから、「http://&lt;i&gt;ご自分のサーバー&lt;/i&gt;/?test1=hello&amp;amp;test2=world」とかしてみる。query string一式"test1=hello&amp;amp;test2=world"がまるっと表示される。&lt;br /&gt;&lt;br /&gt;・いわゆるGET値の取得(ついでに返信時にescapeしてみる)するapplication.wsgi例&lt;br /&gt;&lt;pre&gt;from cgi import parse_qs, escape&lt;br /&gt;&lt;br /&gt;def application(env, start_response):&lt;br /&gt;  q = parse_qs(env['QUERY_STRING'])&lt;br /&gt;  start_response('200 OK', [('Content-type', 'text/html')])&lt;br /&gt;  return ['hello', '&amp;lt;hr&amp;gt;',escape(q.get('test1', [''])[0]), '&amp;lt;hr&amp;gt;']&lt;/pre&gt;&lt;br /&gt;ブラウザから、「http://&lt;i&gt;ご自分のサーバー&lt;/i&gt;/?test1=hello&amp;amp;test2=world」とかしてみる。test1の値"hello"が、表示される。&lt;br /&gt;&lt;br /&gt;ちなみにPOSTは、wsgi.inputを介して受け取るので、少し面倒です。&lt;br /&gt;&lt;br /&gt;まじめにアプリケーションを作るには、WSGIの高級なフレームワーク(Djangoなど)を使うのがいいんでしょう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-7826296657057273815?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/7826296657057273815/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/wsgimodwsgi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/7826296657057273815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/7826296657057273815'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/wsgimodwsgi.html' title='WSGIを簡単に試してみる(mod_wsgi)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4970063111916906882</id><published>2011-08-12T18:53:00.035+09:00</published><updated>2011-08-22T17:59:00.165+09:00</updated><title type='text'>Webアプリケーションのインタフェース(WSGI, Rack, JSGI, PSGI)</title><content type='html'>WebアプリケーションのインタフェースxSGI(WSGI, Rack, JSGI, PSGI)のメモ。&lt;br /&gt;&lt;br /&gt;Webアプリケーションのインタフェースといっても、&lt;a href="http://saburi380.blogspot.com/2011/08/web-application-components-and.html"&gt;いろいろな切り口があるとは思います&lt;/a&gt;が、アプリケーションとサーバー(実行環境)間のインタフェース。PythonのWSGIと、その仲間(Ruby版, Javascript版, Perl版)のこと。シンプルなCGI/Fast CGI/SCGIとも異なるし、古風なxSP系(PHP/ASP/JSP)とも違う感じ。（ここのインタフェースは、それにあわせることで、Webアプリケーションを作る人はいろんなところで動かせる、Webアプリケーション実行環境を作る人はいろいろな人に使ってもらえる、と言うことになります。例えば、WSGIのpythonアプリは、自前のApacheでもクラウドのGoogle App Engineでも、動かせる、みたいな。さらに、中間のフレームワークも、DjangoはWSGIだし、RailsもRackでも。）&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 簡単なサンプル&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #073763;"&gt;text/plain&lt;/span&gt;の、&lt;span style="color: #0c343d;"&gt;Hello World&lt;/span&gt;を、正常(&lt;span style="color: #20124d;"&gt;200&lt;/span&gt;)に返す、Webアプリケーションの例(コード断片)。&lt;br /&gt;&lt;br /&gt;・WSGI(Python) &lt;a href="http://www.python.org/dev/peps/pep-0333/"&gt;spec&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;def application(&lt;span style="color: #783f04;"&gt;env&lt;/span&gt;, start_response):&lt;br /&gt;  start_response('&lt;span style="color: #20124d;"&gt;200 OK&lt;/span&gt;', [('&lt;span style="color: #073763;"&gt;Content-type&lt;/span&gt;', '&lt;span style="color: #073763;"&gt;text/plain&lt;/span&gt;')])&lt;br /&gt;  return ['&lt;span style="color: #0c343d;"&gt;Hello world&lt;/span&gt;']&lt;/pre&gt;&lt;br /&gt;・Rack(ruby) &lt;a href="http://rack.rubyforge.org/doc/SPEC.html"&gt;spec&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;class HelloWorldApp&lt;br /&gt;  def call(&lt;span style="color: #783f04;"&gt;env&lt;/span&gt;)&lt;br /&gt;    [ &lt;span style="color: #20124d;"&gt;200&lt;/span&gt;, { '&lt;span style="color: #073763;"&gt;Content-Type&lt;/span&gt;' =&amp;gt; '&lt;span style="color: #073763;"&gt;text/plain&lt;/span&gt;' }, ['&lt;span style="color: #0c343d;"&gt;Hello world&lt;/span&gt;'] ]&lt;br /&gt;  end&lt;br /&gt;end&lt;/pre&gt;&lt;br /&gt;・JSGI(javascript) &lt;a href="http://jackjs.org/jsgi-spec.html"&gt;spec&lt;/a&gt;, &lt;a href="http://wiki.commonjs.org/wiki/JSGI"&gt;spec&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;function(&lt;span style="color: #783f04;"&gt;env&lt;/span&gt;) {&lt;br /&gt;  return { status : &lt;span style="color: #20124d;"&gt;200&lt;/span&gt;, headers : {"&lt;span style="color: #073763;"&gt;Content-Type&lt;/span&gt;":"&lt;span style="color: #073763;"&gt;text/plain&lt;/span&gt;"}, body : ["&lt;span style="color: #0c343d;"&gt;Hello world&lt;/span&gt;"] };&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;・PSGI(perl) &lt;a href="https://github.com/miyagawa/psgi-specs/blob/master/PSGI.pod"&gt;spec&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sub {&lt;br /&gt;  my &lt;span style="color: #783f04;"&gt;$env&lt;/span&gt; = shift;&lt;br /&gt;  return [ '&lt;span style="color: #20124d;"&gt;200&lt;/span&gt;', [ '&lt;span style="color: #073763;"&gt;Content-Type&lt;/span&gt;' =&amp;gt; '&lt;span style="color: #073763;"&gt;text/plain&lt;/span&gt;' ], [ "&lt;span style="color: #0c343d;"&gt;Hello World&lt;/span&gt;" ] ];&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;・PHP版 (ここでは、&lt;a href="https://github.com/dhotson/kelpie"&gt;kelpie&lt;/a&gt;の例)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;class HelloWorldApp{&lt;br /&gt;    public function call(&lt;span style="color: #783f04;"&gt;$env&lt;/span&gt;){&lt;br /&gt;        return array(&lt;span style="color: #20124d;"&gt;200&lt;/span&gt;, array("&lt;span style="color: #073763;"&gt;Content-Type&lt;/span&gt;" =&amp;gt; "&lt;span style="color: #073763;"&gt;text/plain&lt;/span&gt;"), array("&lt;span style="color: #0c343d;"&gt;Hello world&lt;/span&gt;"));&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;2. 使い方(入出力)概要&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #783f04;"&gt;Request&lt;/span&gt;からの入力値(いわゆるGET値/POST値のもとを含む)は、上記の例ではいずれも&lt;span style="color: #783f04;"&gt;env&lt;/span&gt;辞書に入っています。&lt;br /&gt;envの中身は、おおむね以下です。&lt;br /&gt;- CGIでもらえそうなもの：REQUEST_METHOD, SCRIPT_NAME, PATH_INFO, QUERY_STRING, SERVER_NAME, SERVER_PORT, HTTP_&lt;i&gt;Variables&lt;/i&gt;等&lt;br /&gt;- その他：wsgi.version, wsgi.url_scheme, wsgi.input, wsgi.errors, wsgi.multithread, wsgi.multiprocess, wsgi.run_once等（左はWSGIの例で、Rack/JSGI/PSGIなら、wsgi.の代わりに、rack./jsgi./psgi.で始まる名前で）が、入っています。(wsgi.inputを使うと、Requestのbodyにアクセスできます。input streamとしてアクセスできるので大きなRequestに対応できます。)&lt;br /&gt;(いわゆるGET値はQUERY_STRINGから、POST値はwsgi.inputから、求めることになります。)&lt;br /&gt;&lt;br /&gt;Response(出力)は、&lt;br /&gt;- &lt;span style="color: #073763;"&gt;Responseのheader&lt;/span&gt;は、ざっと、文字列・文字列の辞書で、返します。&lt;br /&gt;- &lt;span style="color: #0c343d;"&gt;Responseのbody&lt;/span&gt;は、おおむね、文字列のリストみたいなもので、返します。(受け取った方が、繰り返し(each)、文字列として取り出せるもの。大きなResponseは、それを生成するようなオブジェクトを返す感じでしょうか。）&lt;br /&gt;&lt;br /&gt;アプリケーション自体は、&lt;br /&gt;- WSGIでは、a callable object that accepts two arguments.&lt;br /&gt;- Rackでは、an Ruby object (not a class) that responds to call&lt;br /&gt;- JSGIでは、a JavaScript function&lt;br /&gt;- PSGIでは、a Perl code reference. It takes exactly one argument, the environment and returns an array reference of exactly three values.&lt;br /&gt;として作ることになります。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. 簡単に試す方法&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- WSGIをApache + mod_wsgiで試す例は、&lt;a href="http://saburi380.blogspot.com/2011/08/wsgimodwsgi.html"&gt;こちら&lt;/a&gt;。&lt;br /&gt;- RackをApache + mod_passenger(mod_rack)で試す例は、&lt;a href="http://saburi380.blogspot.com/2011/08/rackrubywsgi.html"&gt;こちら&lt;/a&gt;。&lt;br /&gt;- JSGIをJackで試す例は、&lt;a href="http://saburi380.blogspot.com/2011/08/jsgijavascriptwsgijack.html"&gt;こちら&lt;/a&gt;。&lt;br /&gt;- PSGIを試す例は、&lt;a href="http://saburi380.blogspot.com/2011/08/psgiperlwsgi.html"&gt;こちら&lt;/a&gt;。&lt;br /&gt;- PHP版のWSGIをAppServerで試す例は、&lt;a href="http://saburi380.blogspot.com/2011/08/phpwsgiappserver.html"&gt;こちら&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. 実行環境例&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- WebサーバーとCGI/FastCGI&lt;br /&gt;- Webサーバーとmod_*: &lt;a href="http://code.google.com/p/modwsgi/"&gt;mod_wsgi&lt;/a&gt;, mod_rack(&lt;a href="http://www.modrails.com/"&gt;Phusion Passenger&lt;/a&gt;)&lt;br /&gt;- &lt;a href="http://projects.unbit.it/uwsgi/"&gt;uWSGI&lt;/a&gt;(uWSGI単体や、uWSGI+Webサーバー)&lt;br /&gt;- それぞれの言語特有のもの WEBRrick, mongrel, ...&lt;br /&gt;- &lt;a href="http://code.google.com/appengine/docs/python/gettingstarted/usingwebapp.html"&gt;Google App Engine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;※ ここで、Webサーバーは、ApacheやNginx, lighttpd等などいろいろ&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. 利用者例など&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;エンドユーザが自前のアプリを作るのもありですが、各種フレームワークがxSGIにあわせて作られていたりします。&lt;br /&gt;- WSGI(python): &lt;a href="https://www.djangoproject.com/"&gt;Django&lt;/a&gt;, &lt;a href="http://web2py.com/"&gt;web2py&lt;/a&gt;等&lt;br /&gt;- Rack(ruby): &lt;a href="http://guides.rubyonrails.org/rails_on_rack.html"&gt;Rails&lt;/a&gt;, &lt;a href="http://www.sinatrarb.com/intro.html#Rack%20Middleware"&gt;Sinatra&lt;/a&gt;, &lt;a href="http://www.redmine.org/projects/redmine/wiki/RedmineInstall"&gt;Redmine&lt;/a&gt;等&lt;br /&gt;&lt;br /&gt;Javascriptも、&lt;a href="https://github.com/kriszyp/jsgi-node"&gt;JSGI 0.3 Adapter for Node&lt;/a&gt;なんてのもあります。&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4970063111916906882?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4970063111916906882/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4970063111916906882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4970063111916906882'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/webwsgirackjsgipsgi.html' title='Webアプリケーションのインタフェース(WSGI, Rack, JSGI, PSGI)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-6711374667357636512</id><published>2011-08-08T18:48:00.002+09:00</published><updated>2011-10-27T19:20:09.438+09:00</updated><title type='text'>CentOS6のインストールサーバー</title><content type='html'>OS／アプリケーションを、一度に、たくさんのサーバーに、入れることがちょいちょいあります。そのときに必要なインストール用のサーバーのメモ。&lt;br /&gt;&lt;br /&gt;このインストール用のサーバーがあると、&lt;br /&gt;空のサーバー機(VMでも)に、簡単に(CDメディアとか無しで)、CentOS6をインストールすることが出来るようになります。&lt;br /&gt;&lt;br /&gt;1つのサーバーに、&lt;br /&gt;1-1. CentOS6のローカルリポジトリ(http)と、&lt;br /&gt;1-2. PXEブート用のサーバー(dhcpd, tftpd)を、&lt;br /&gt;設定します。(1-1だけ、1-2だけでも、別途利用方法があります)&lt;br /&gt;&lt;br /&gt;ここでは、サーバーのIPアドレスは10.0.0.1とします。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. CentOS6のローカルリポジトリ&lt;/b&gt;&lt;br /&gt;1-0. できあがり目標&lt;br /&gt;&lt;br /&gt;こんな感じでアクセスできるCentOSのリポジトリができます。&lt;br /&gt;http://10.0.0.1/centos/6/os/x86_64&lt;br /&gt;(本記事は、64bitの場合。32bitなら以下、x86_64をi386に読み替えればいいはず。)&lt;br /&gt;&lt;br /&gt;/var/www/html/centos&lt;br /&gt;+-- 6&lt;br /&gt;+-- os&lt;br /&gt;|     +-- x86_64    (←ここはDVDまるコピー）&lt;br /&gt;|           +-- CentOS&lt;br /&gt;|           +-- NOTES&lt;br /&gt;|           :&lt;br /&gt;+-- updates&lt;br /&gt;+-- x86_64&lt;br /&gt;&lt;br /&gt;使い方&lt;br /&gt;・PXEブートを仕込むと、メディアDVD無しでインストールできます。&lt;br /&gt;・PXEブート+Kickstartファイルを仕込むと、メディアも対話も無しでインストールできます。&lt;br /&gt;・PXEブートを仕込まなくても、netbootのCDメディアからインストールできます。&lt;br /&gt;&lt;br /&gt;1-1. 準備&lt;br /&gt;・SELinuxをOFFにしてしまう。&lt;br /&gt;echo 0 &amp;gt; /selinux/enforce&lt;br /&gt;/etc/selinux/configを変更：SELINUX=disabled&lt;br /&gt;&lt;br /&gt;1-2. 静的なリポジトリ部分をDVDからのコピー&lt;br /&gt;(ここでCentOS6.0のisoを、/centos/6/osディレクトリへ)&lt;br /&gt;&lt;br /&gt;mkdir -p /var/www/html/centos/6/os&lt;br /&gt;&lt;br /&gt;1-3. コピー元のDVD(iso)を準備&lt;br /&gt;ここでは以下2ファイルを/var/tmpに配置&lt;br /&gt;CentOS-6.0-x86_64-bin-DVD1.iso&lt;br /&gt;CentOS-6.0-x86_64-bin-DVD2.iso&lt;br /&gt;&lt;br /&gt;確認&lt;br /&gt;sha256sum /var/tmp/CentOS-6.0-x86_64-bin-DVD1.iso&lt;br /&gt;期待されるハッシュ値: 3399d1f7bdfb0690a7d5f09e5fe1ec30380646d732ab15e1e5bd9653698ead2c&lt;br /&gt;sha256sum /var/tmp/CentOS-6.0-x86_64-bin-DVD2.iso&lt;br /&gt;期待されるハッシュ値: 46631ac6719fa042c25fa607ac776a654a840606703015b554393ca19371cba9&lt;br /&gt;&lt;br /&gt;1-4. CentOS 6.0をコピー&lt;br /&gt;&lt;br /&gt;コピー先を作成&lt;br /&gt;mkdir /var/www/html/centos/6/os/x86_64/&lt;br /&gt;&lt;br /&gt;DVD1枚目をコピー&lt;br /&gt;mount -o loop /var/tmp/CentOS-6.0-x86_64-bin-DVD1.iso /mnt&lt;br /&gt;cp -vr /mnt/* /var/www/html/centos/6/os/x86_64/&lt;br /&gt;umount /mnt&lt;br /&gt;&lt;br /&gt;DVD2枚目をコピー&lt;br /&gt;mount -o loop /var/tmp/CentOS-6.0-x86_64-bin-DVD2.iso /mnt&lt;br /&gt;cp -vruf /mnt/* /var/www/html/centos/6/os/x86_64/&lt;br /&gt;umount /mnt&lt;br /&gt;&lt;br /&gt;1-5. updateリポジトリの同期と定期更新設定&lt;br /&gt;updateリポジトリは定期更新することにします。&lt;br /&gt;&lt;br /&gt;コピー先ディレクトリを作成&lt;br /&gt;mkdir -p /var/www/html/centos/6/updates/x86_64&lt;br /&gt;mkdir -p /var/www/html/centos/6/extras/x86_64&lt;br /&gt;mkdir -p /var/www/html/centos/6/centosplus/x86_64&lt;br /&gt;mkdir -p /var/www/html/centos/6/contrib/x86_64&lt;br /&gt;&lt;br /&gt;コマンドを準備&lt;br /&gt;yum -y install yum-utils createrepo&lt;br /&gt;&lt;br /&gt;コピー用スクリプトを作成&lt;br /&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/cron.daily/syncrepo&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;reposync -r updates -n -p /var/www/html/centos/6/updates/x86_64&lt;br /&gt;cd /var/www/html/centos/6/updates/x86_64&lt;br /&gt;createrepo -d .&lt;br /&gt;&lt;br /&gt;reposync -r extras -n -p /var/www/html/centos/6/extras/x86_64&lt;br /&gt;cd /var/www/html/centos/6/extras/x86_64&lt;br /&gt;createrepo -d .&lt;br /&gt;&lt;br /&gt;reposync -r centosplus -n -p /var/www/html/centos/6/centosplus/x86_64&lt;br /&gt;cd /var/www/html/centos/6/centosplus/x86_64&lt;br /&gt;createrepo -d .&lt;br /&gt;&lt;br /&gt;reposync -r contrib -n -p /var/www/html/centos/6/contrib/x86_64&lt;br /&gt;cd /var/www/html/centos/6/contrib/x86_64&lt;br /&gt;createrepo -d .&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;chmod +x /etc/cron.daily/syncrepo&lt;br /&gt;&lt;br /&gt;とりあえず手動で一回同期&lt;br /&gt;/etc/cron.daily/syncrepo&lt;br /&gt;&lt;br /&gt;1-6. http server&lt;br /&gt;yum -y install httpd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/httpd/conf.d/centos-repository-mirror.conf&lt;br /&gt;&amp;lt;Directory /centos &amp;gt;&lt;br /&gt;Options +Indexes&lt;br /&gt;Order deny,allow&lt;br /&gt;Deny from all&lt;br /&gt;Allow from 127.0.0.1&lt;br /&gt;Allow from 10.0.0.0/255.255.255.0&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;chkconfig httpd on&lt;br /&gt;service httpd start &lt;br /&gt;&lt;br /&gt;動作確認&lt;br /&gt;適当なブラウザから、&lt;br /&gt;http://10.0.0.1/centos/6/os/x86_64/RELEASE-NOTES-en-US.html&lt;br /&gt;を閲覧してみる。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. PXEブートサーバー&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2-0. サーバーをPXEブートさせるためのサーバーの設定。&lt;br /&gt;&lt;br /&gt;PXEブートは、HDDにOS入っていなくても、CD/DVD/USBのOSを持っていなくてもブートできます。&lt;br /&gt;今時、大抵のサーバーはPXEブートできるはず。&lt;br /&gt;&lt;br /&gt;dhcpサーバーとtftpサーバーからなる。&lt;br /&gt;&lt;br /&gt;2-1. firewall&lt;br /&gt;面倒だからとりあえず止める&lt;br /&gt;&lt;br /&gt;2-2. tftp server&lt;br /&gt;2-2-1. install&lt;br /&gt;yum -y install tftp-server&lt;br /&gt;chkconfig tftp on&lt;br /&gt;chkconfig --list | grep tftp&lt;br /&gt;tftp:           on&lt;br /&gt;&lt;br /&gt;2-2-2. pxeブート用ファイル&lt;br /&gt;&lt;br /&gt;/var/lib/tftpbootディレクトリ&lt;br /&gt;CentOS6.0 x86_64用&lt;br /&gt;(CentOS5は/tftpbootだった)&lt;br /&gt;(設定は、/etc/xinetd.d/tftpのserver_args = -s の後ろのディレクトリ)&lt;br /&gt;&lt;br /&gt;mkdir -p /var/lib/tftpboot/cent60x64/pxelinux.cfg&lt;br /&gt;&lt;br /&gt;pxelinux.0, vmlinuz, initrd.imgの3ファイルが必要&lt;br /&gt;&lt;br /&gt;・pxelinux.0&lt;br /&gt;(rpmから)&lt;br /&gt;cd /var/tmp/&lt;br /&gt;wget http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.0/os/x86_64/Packages/syslinux-3.86-1.1.el6.x86_64.rpm&lt;br /&gt;rpm2cpio syslinux-3.86-1.1.el6.x86_64.rpm | cpio -ivr "*/pxelinux.0"&lt;br /&gt;rename ./usr/share/syslinux/pxelinux.0 -&amp;gt;&lt;br /&gt;とでたら、/var/lib/tftpboot/cent60x64/pxelinux.0&lt;br /&gt;&lt;br /&gt;(他には)&lt;br /&gt;http://www.kernel.org/pub/linux/utils/boot/syslinux/&lt;br /&gt;&lt;br /&gt;・vmlinuz, initrd.img&lt;br /&gt;OSのDVDから取り出す&lt;br /&gt;mount -o loop /var/tmp/CentOS-6.0-x86_64-bin-DVD1.iso /mnt&lt;br /&gt;cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/cent60x64/&lt;br /&gt;cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/cent60x64/&lt;br /&gt;umount /mnt&lt;br /&gt;&lt;br /&gt;デフォルトのブート設定ファイル(別途、MACアドレス毎、MACアドレスの上位桁毎に、設定できます)&lt;br /&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /var/lib/tftpboot/cent60x64/pxelinux.cfg/default&lt;br /&gt;default cent6&lt;br /&gt;&lt;br /&gt;label cent6&lt;br /&gt;kernel vmlinuz&lt;br /&gt;append load initrd=initrd.img ksdevice=eth0 devfs=nomount&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;例) &lt;br /&gt;MACアドレス01-00-0c-29-17-b3-d4のサーバーが読み込む設定ファイル&lt;br /&gt;/tftpboot/cent60x64/pxelinux.cfg/01-00-0c-29-17-b3-d4&lt;br /&gt;&lt;br /&gt;MACアドレス01-00-0c-29-??-??-??のサーバーが読み込む設定ファイル&lt;br /&gt;/tftpboot/cent60x64/pxelinux.cfg/01-00-0c-29&lt;br /&gt;&lt;br /&gt;2-2-3. tftpスタート(xinetd経由)&lt;br /&gt;service xinetd start&lt;br /&gt;&lt;br /&gt;2-3. dhcp server&lt;br /&gt;&lt;br /&gt;2-3-1. インストール&lt;br /&gt;yum -y install dhcp&lt;br /&gt;chkconfig dhcpd on&lt;br /&gt;chkconfig --list  | grep dhcpd&lt;br /&gt;dhcpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;br /&gt;&lt;br /&gt;2-3-2. 設定ファイル&lt;br /&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/dhcp/dhcpd.conf&lt;br /&gt;ddns-update-style interim;&lt;br /&gt;ignore client-updates;&lt;br /&gt;&lt;br /&gt;subnet 10.0.10.0 netmask 255.255.255.0 {&lt;br /&gt;option routers 10.0.0.254;&lt;br /&gt;option subnet-mask 255.255.255.0;&lt;br /&gt;option domain-name "example.com";&lt;br /&gt;option domain-name-servers 10.0.0.1;&lt;br /&gt;range dynamic-bootp 10.0.0.100 10.0.0.200;&lt;br /&gt;default-lease-time 21600;&lt;br /&gt;max-lease-time 43200;&lt;br /&gt;filename "/cent60x64/pxelinux.0";&lt;br /&gt;next-server 10.0.0.1;&lt;br /&gt;}&lt;br /&gt;EOF&lt;br /&gt;※ CentOS5は/etc/dhcpd.confだったと思う。&lt;br /&gt;&lt;br /&gt;※ next-serverがリポジトリサーバー&lt;br /&gt;&lt;br /&gt;2-3-3. スタート&lt;br /&gt;service dhcpd start&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Kickstart&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Kickstartファイル(あらかじめOSインストール設定を書いたファイル)を準備すると、&lt;br /&gt;対話無しでインストールできます。&lt;br /&gt;&lt;br /&gt;OSの基本設定はもちろん、自由なscriptも、書けるので、&lt;br /&gt;アプリケーションとその設定も、自動で入れてしまえます。&lt;br /&gt;&lt;br /&gt;例えば、&lt;br /&gt;&lt;br /&gt;基本的な設定&lt;br /&gt;・ネットワークの設定、セキュリティの設定&lt;br /&gt;・sshのログイン用のkey設定&lt;br /&gt;・yumで使うリポジトリを、ローカルリポジトリサーバーを使うようにする設定&lt;br /&gt;などなど。&lt;br /&gt;&lt;br /&gt;アプリケーションなら、&lt;br /&gt;・たくさんの、Hadoopのノードの設定&lt;br /&gt;・たくさんの、Webサーバー／アプリケーションサーバーの設定&lt;br /&gt;などなど&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. クライアント、というか、このインストールサーバーを使ったOSインストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4-1. とりあえず、PXEブートだけ、リポジトリだけ、使うのもあり。&lt;br /&gt;PXEブートする。&lt;br /&gt;Installation Methodで、&lt;br /&gt;いまいちど&lt;br /&gt;http://10.0.0.1/centos/6/os/x86_64&lt;br /&gt;とする。&lt;br /&gt;&lt;br /&gt;4-2. PXEブート、リポジトリ、Kickstart設定を、あわせて楽にインストール&lt;br /&gt;&lt;br /&gt;Kickstart例を、おいおいメモしておこう...&lt;br /&gt;&lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-6711374667357636512?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/6711374667357636512/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/08/centos6.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6711374667357636512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6711374667357636512'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/08/centos6.html' title='CentOS6のインストールサーバー'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4759996755771541515</id><published>2011-06-21T07:36:00.006+09:00</published><updated>2011-08-22T18:45:43.700+09:00</updated><title type='text'>携帯端末月額1650円計画</title><content type='html'>携帯端末を月額1650円で持つ試算です。&lt;br /&gt;&lt;br /&gt;SIMロックフリー端末や、イオンの安い定額接続などを使うと、月額1650円(端末をのぞく)くらいになりそうです。&lt;br /&gt;データは無制限(100kbps)、電話はほとんどかけない(日本の携帯電話へ10分/月、日本の固定電話へ60分/月）場合。端末も安いので、安い端末を毎年買い替えても、合計3000円/月程度ではないかと。&lt;br /&gt;&lt;br /&gt;・通話は、旧式電話／携帯向けは有料スカイプでの計算。旧式電話を無視すれば、無料スカイプで十分なので、さらに安く月額980円のみ。&lt;br /&gt;・スカイプのかわりに050plusが使えるようになれば、もう少し安いかも。&lt;br /&gt;&lt;br /&gt;※ あくまで試算です。&lt;br /&gt;&lt;br /&gt;(内訳)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. SIMロックフリー端末&lt;/b&gt;&lt;br /&gt;・日本通信が売ってるものが安心かもしれませんHuawei IDEOS(約2.4万)が、ちょっと高価かも。&lt;br /&gt;・日本のAmazonでも、Xperia x10 mini(約1.6万円, 日本での使用可)等いろいろ&lt;br /&gt;・小型ガジェット屋さん(?←私が勝手に思ってる)のExpansysでも、2万円を切るものがいろいろ。&lt;br /&gt;HTC, Huawei, ZTE, Samsung, Sony Ericssonなどの大手メーカーの端末が、いろいろな所で買えそう。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. データ通信&lt;/b&gt;: AEONのb-mobileのSIM Aプラン = 980円/月(100kbps)&lt;br /&gt;ただし、初回手数料3150円(← ※ 今回の計算に入れてません。)&lt;br /&gt;&lt;a href="http://www.bmobile.ne.jp/aeon/"&gt;http://www.bmobile.ne.jp/aeon/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3a. &lt;a href="http://www.skype.com/"&gt;スカイプ&lt;/a&gt;&lt;/b&gt;: 旧式電話との通話用に643円(今回の通信契約でスカイプが動くのかは要確認)&lt;br /&gt;旧式の電話／携帯電話の人と通信するためです。スカイプ同士は無料。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3a-1. 旧式電話から電話を受けるために電話番号(050)をもつ&lt;/b&gt;: 443円/月 (一年契約の場合)&lt;br /&gt;- 月額プラン130円/月を、まず買う ←固定電話向け通話の月額プラン(オンライン番号50%割引のために購入)&lt;br /&gt;- オンライン番号(=旧skype-in)は、12ヶ月プラン3750円/年(= 313円/月相当)を買う(オンライン番号は、月額プラン加入で50％割引、月額プラン未加入だと7500円)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3a-2. 旧式電話へ電話をかける&lt;/b&gt;: 約200円/月(日本の携帯へ10分/月)とする。&lt;br /&gt;- スカイプクレジット500円を、コンビニで、たまに買っておく。&lt;br /&gt;&lt;br /&gt;(旧式電話向け通話料参考)&lt;br /&gt;日本の携帯電話へ: 17円50銭/分&lt;br /&gt;日本の固定電話へ: 3円22銭/分&lt;br /&gt;フランスの携帯電話へ: 23円71.8銭/分&lt;br /&gt;フランスの固定電話へ:2円66銭/分&lt;br /&gt;&lt;br /&gt;※ 制限&lt;br /&gt;- 試してみたら、通信状況が悪い場合の通話はちょっと厳しい。(ただし海外では問題なかったので、国内キャリアの問題かも。あと、050plusよりはまし。) &lt;br /&gt;- &lt;strike&gt;日本では、先方への番号通知がおかしいらしい&lt;/strike&gt;日本国内で試したら問題なさそうでした。&lt;br /&gt;- スカイプクレジットは、180日間使わないと消滅(ちらっと使えばよい)&lt;br /&gt;- 緊急通話はできない&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;b&gt;3b. &lt;a href="http://050plus.com/"&gt;050plus&lt;/a&gt;: 国内版のiPhone/iPod用スカイプという感じ。&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #666666;"&gt;いまいち&lt;/div&gt;&lt;div style="color: #666666;"&gt;・通信状況がよくない場合の動作が、スカイプより弱く、けっこう厳しい。&lt;/div&gt;&lt;div style="color: #666666;"&gt;・まだAndroid版が無い（iPhone/iPod用アプリしか無い）&lt;/div&gt;&lt;span style="color: #666666;"&gt;だけど、一応、メモ。月額料金315円、通話料は完全従量(クレジットカード払い)。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. その他のメリット?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;海外へ行っても、端末&amp;amp;スカイプの使える国なら、現地でSIM(無制限のデータ通信)さえ手に入れられれば、日本と同じように使える(はず)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4759996755771541515?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4759996755771541515/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/06/1650.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4759996755771541515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4759996755771541515'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/06/1650.html' title='携帯端末月額1650円計画'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-6864258636962349309</id><published>2011-02-02T19:27:00.000+09:00</published><updated>2011-02-02T19:27:38.410+09:00</updated><title type='text'>コンピュータ機器動作温度</title><content type='html'>うちのMac mini(動作時温度35℃)は、台所においてあるので、夏の周辺温度は余裕で35℃をこえています。&lt;br /&gt;&lt;br /&gt;コンピュータ機器は、どんどん安くなって、気軽に使えるようになってますが、動作時の周囲温度要件ってどうなんですかねえ。データセンターの部屋が、立派なクーラーで冷やされまくってるってへんな気がします。コンピュータ機器を、甘やかしすぎなんじゃないかと。&lt;br /&gt;&lt;br /&gt;いまどきのコンピュータ機器って、どんなもんかを調べてみました。&lt;br /&gt;&lt;h4&gt;x86サーバーの例&lt;/h4&gt;あまりおもしろいのが見つかりませんでした。&lt;br /&gt;&lt;br /&gt;・アイピーコア研究所の&lt;a href="http://www.ip-core.jp/server.htm"&gt;サーバー&lt;/a&gt;が、～50℃。&lt;br /&gt;&lt;br /&gt;・富士通、NEC、日立[2]は、だいたい10～35℃みたいです。NECには40℃サーバー[3]があるみたいですが、Atomのブレード。&lt;br /&gt;&lt;br /&gt;・IBM,HP,DELLをざっと見ました[1]が、仕様に温度が書いてない?WebもPDFでも、ちらっとみたくらいじゃ見つかりませんでした。...おかしいなあ。&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;ネットワークスイッチの例&lt;/h4&gt;85℃対応ってのがあるんですね、すごいなあ。&lt;br /&gt;&lt;br /&gt;・-40～85℃ &lt;a href="http://www.ruggedcom.com/products/ruggedswitch/rsg2300/"&gt;RuggedCom RuggedSwitch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・-20～70℃ &lt;a href="http://www.meidensha.co.jp/pages/prod16-itcomp/prod16-03-01.html"&gt;明電舎 産業用スイッチングハブ SW4000&lt;/a&gt;(ポート数少ないけど)&lt;br /&gt;&lt;br /&gt;・-20～60℃ &lt;a href="http://www.allied-telesis.co.jp/products/list/switch/9048xl/catalog.html"&gt;Allied Telesis CentreCOM 9048XL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・-10～60℃ &lt;a href="http://www.apresia.jp/products/ent/series/tainetu_taikankyo.html"&gt;日立電線 APRESIA 耐熱・耐環境 L3スイッチ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・0～50℃ &lt;a href="http://www.mno.co.jp/product/lan/m24g.html"&gt;パナソニック電工ネットワークス Switch-M24G&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・0～50℃ &lt;a href="http://h50146.www5.hp.com/products/networks/procurve/products/switches/switch2610series/specs.html"&gt;HP ProCurve Switch 2610&lt;/a&gt;(ProCurve Networking Switch 2810あたりは45℃...難しい)&lt;br /&gt;&lt;hr&gt;(参考)&lt;br /&gt;&lt;br /&gt;[1] IBM, HP, DELLの適当なサーバーの仕様ページ&lt;br /&gt;IBM http://www-06.ibm.com/systems/jp/x/rack/3650m3/spec.shtml&lt;br /&gt;HP http://h10010.www1.hp.com/wwpc/jp/ja/sm/WF06a/15351-15351-3328412-3328421-3328421-4091396.html&lt;br /&gt;DELL http://www1.jp.dell.com/jp/ja/enterprise/servers/server-poweredge-r610/pd.aspx?refid=server-poweredge-r610&amp;s=pad&amp;cs=jppad1&lt;br /&gt;&lt;br /&gt;[2] 富士通, NEC, 日立の適当なサーバーの仕様ページ&lt;br /&gt;富士通 http://primeserver.fujitsu.com/primergy/catalog/rx200s6/spec.html&lt;br /&gt;NEC http://www.nec.co.jp/products/pcserver/rack/r120b1/spec.shtml&lt;br /&gt;日立 http://www.hitachi.co.jp/Prod/comp/OSD/pc/ha/products/hardware/rsseries/rs220_speclist.html&lt;br /&gt;(日立はPDFをあけないと、温度がわかりません。)&lt;br /&gt;&lt;br /&gt;[3] NECの40℃サーバー。Atomのブレードと少しマニアックですが。&lt;br /&gt;http://www.nec.co.jp/products/pcserver/ecocenter/e110bm/spec.shtml&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-6864258636962349309?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/6864258636962349309/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2011/02/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6864258636962349309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6864258636962349309'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2011/02/blog-post.html' title='コンピュータ機器動作温度'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-3312653877088198256</id><published>2010-10-14T12:14:00.003+09:00</published><updated>2011-08-23T19:54:54.154+09:00</updated><title type='text'>1台でOozieを試してみる(CentOS + Cloudera(CDH3 beta3))</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、Oozieを試してみます。&lt;br /&gt;・CentOS(1台)でCloudera社のHadoopパッケージ(&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;beta3)を利用します。Hadoop環境(CDH3 beta3)の構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/10/1oozieubuntu-clouderacdh3-beta3.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・Linux(CentOS)+Cloudera版Hadoop環境(1台) → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;・インターネット接続&lt;br /&gt;・Cloudera社のOozieのパッケージ(yumでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. インストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、rootで作業します。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-0. Cloudera社のCDH3リポジトリ確認&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Cloudera社のCDH3リポジトリが必要ですので、既に設定されていないか確認します。&lt;br /&gt;&lt;blockquote&gt;ls /etc/yum.repos.d/&lt;/blockquote&gt;で、cloudera-cdh3.repoが存在すれば、OKのはずです。無い場合は、&lt;br /&gt;&lt;blockquote&gt;cd /etc/yum.repos.d/&lt;br /&gt;wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo&lt;/blockquote&gt;とします。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-1. Oozieパッケージのインストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;&lt;blockquote&gt;yum -y install oozie oozie-client&lt;/blockquote&gt;&lt;br /&gt;確認&lt;br /&gt;&lt;blockquote&gt;yum list oozie* | grep installed&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;1-2. Hadoopサーバーの設定&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;以下を、/etc/hadoop/conf/core-site.xmlに追記します。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hadoop.proxyuser.oozie.hosts&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;localhost&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hadoop.proxyuser.oozie.groups&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;1-3. Oozieサーバーまわりの設定&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・MySQLのインストール&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;&lt;blockquote&gt;yum -y install mysql mysql-server&lt;/blockquote&gt;&lt;br /&gt;初期設定(ここでは、DBサービスを起動して、コマンドラインの設定ウィザードで初期設定を行いました)&lt;br /&gt;&lt;blockquote&gt;service mysqld start&lt;br /&gt;mysql_secure_installation&lt;/blockquote&gt;すべてデフォルト(DBのrootパスワードは、覚えておきましょう)&lt;br /&gt;&lt;br /&gt;・ExtJS libraryの設定&lt;br /&gt;http://www.sencha.com/learn/Ext_Version_Archives&lt;br /&gt;からext-2.2.zipをダウンロードします。 (2.2.1とか3は不可です)&lt;br /&gt;ダウンロードファイルを、例えば/tmp/ext-2.2.zipとして配置したとして、&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo -u oozie /usr/lib/oozie/bin/oozie-setup.sh -extjs /tmp/ext-2.2.zip&lt;br /&gt;...&lt;br /&gt;New Oozie WAR file with added 'ExtJS library' at /usr/lib/oozie/oozie-server/webapps/oozie.war&lt;/blockquote&gt;&lt;br /&gt;・MySQL JDBC connector library&lt;br /&gt;&lt;br /&gt;http://www.mysql.com/downloads/connector/j/5.1.htmlから、mysql-connector-java-5.1.13.tar.gzを、ダウンロードします。&lt;br /&gt;ダウンロードファイルを、例えば/tmp/mysql-connector-java-5.1.13.tar.gzとして配置したとして、&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mkdir /tmp/jdbc/&lt;br /&gt;cd /tmp/jdbc/&lt;br /&gt;tar xzf /tmp/mysql-connector-java-5.1.13.tar.gz&lt;br /&gt;sudo -u oozie /usr/lib/oozie/bin/oozie-setup.sh -jars /tmp/jdbc/mysql-connector-java-5.1.13/mysql-connector-java-5.1.13-bin.jar&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;・Oozieの設定ファイル&lt;br /&gt;&lt;br /&gt;vi /usr/lib/oozie/conf/oozie-site.xml&lt;br /&gt;&lt;br /&gt;以下のような設定を追加します。&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.db.schema.create&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.driver&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;com.mysql.jdbc.Driver&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.url&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;jdbc:mysql://localhost:3306&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.username&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.password&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;・MySQL&lt;br /&gt;&lt;blockquote&gt;mysql -u root -p&lt;br /&gt;mysql&amp;gt; grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;mysql&amp;gt; exit&lt;br /&gt;Bye&lt;/blockquote&gt;&lt;br /&gt;・Oozie Server起動&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo -u oozie /usr/lib/oozie/bin/oozie-start.sh&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;1-3. 動作確認&lt;/b&gt;&lt;br /&gt;コマンドラインから動作確認&lt;br /&gt;&lt;blockquote&gt;OOZIE_URL=http://localhost:11000/oozie oozie admin -version&lt;br /&gt;Oozie server build version: 2.2.1-78&lt;/blockquote&gt;&lt;br /&gt;ブラウザから動作確認&lt;br /&gt;http://&lt;i&gt;ホスト名&lt;/i&gt;:11000/oozie&lt;br /&gt;画面例&lt;br /&gt;&lt;img border="0" height="118" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TG9lfQjlekI/AAAAAAAAAEA/eFX0qCVRuow/s200/Oozie2.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. exampleを動かしてみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;exampleのファイルを展開します。&lt;br /&gt;&lt;blockquote&gt;mkdir /tmp/oozie-example&lt;br /&gt;cd /tmp/oozie-example/&lt;br /&gt;tar xzf /usr/lib/oozie/oozie-examples.tar.gz&lt;br /&gt;cd examples/&lt;/blockquote&gt;&lt;br /&gt;examples/apps/以下のそれぞれのフォルダ内のjob.propertiesの変更が必要な場合があります。&lt;br /&gt;hdfsやmapreduceのポートが9000と9001で決め打ちしてあるので、&lt;br /&gt;CDHのデフォルトの人は、それぞれ9000 → 8020, 9001 → 8021の変更が必要です。&lt;br /&gt;&lt;br /&gt;ここでは、map-reduceを試してみます。&lt;br /&gt;examples/apps/map-reduce/job.propertiesを変更します。&lt;br /&gt;&lt;br /&gt;example用の設定やテストファイルを作成&lt;br /&gt;&lt;blockquote&gt;sudo -u oozie hadoop-0.20 fs -mkdir /user/oozie/examples/apps&lt;br /&gt;sudo -u oozie hadoop-0.20 fs -copyFromLocal input-data hdfs://localhost:8020/user/oozie/examples/&lt;br /&gt;cd apps&lt;br /&gt;sudo -u oozie hadoop-0.20 fs -copyFromLocal map-reduce hdfs://localhost:8020/user/oozie/examples/apps/&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;2-2. exampleを実行してみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・実行(examples/appsにて)&lt;br /&gt;&lt;blockquote&gt;sudo -u oozie oozie job -oozie http://localhost:11000/oozie -config map-reduce/job.properties -run&lt;br /&gt;job: 0000002-101014103613635-oozie-oozi-W&lt;/blockquote&gt;&lt;br /&gt;・ジョブの様子を確認(実行時に表示されるJob Idを引数に)&lt;br /&gt;&lt;blockquote&gt;sudo -u oozie oozie job -oozie http://localhost:11000/oozie -info 0000002-101014103613635-oozie-oozi-W&lt;br /&gt;Job ID : 0000002-101014103613635-oozie-oozi-W&lt;br /&gt;------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Workflow Name : map-reduce-wf&lt;br /&gt;App Path      : hdfs://localhost:8020/user/oozie/examples/apps/map-reduce&lt;br /&gt;Status        : SUCCEEDED&lt;br /&gt;Run           : 0&lt;br /&gt;User          : oozie&lt;br /&gt;Group         : users&lt;br /&gt;Created       : 2010-10-14 03:03&lt;br /&gt;Started       : 2010-10-14 03:03&lt;br /&gt;Last Modified : 2010-10-14 03:04&lt;br /&gt;Ended         : 2010-10-14 03:04&lt;br /&gt;&lt;br /&gt;Actions&lt;br /&gt;------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;ID                                                                            Status    Ext ID                 Ext Status Err Code&lt;br /&gt;------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;0000002-101014103613635-oozie-oozi-W@mr-node                                  OK        job_201010131711_0006  SUCCEEDED  -&lt;br /&gt;------------------------------------------------------------------------------------------------------------------------------------&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-3312653877088198256?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/3312653877088198256/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/10/1oozieubuntu-clouderacdh3-beta3.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3312653877088198256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3312653877088198256'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/10/1oozieubuntu-clouderacdh3-beta3.html' title='1台でOozieを試してみる(CentOS + Cloudera(CDH3 beta3))'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5UO6o0y_m5I/TG9lfQjlekI/AAAAAAAAAEA/eFX0qCVRuow/s72-c/Oozie2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-3610323218958429029</id><published>2010-08-21T14:25:00.009+09:00</published><updated>2011-08-23T20:25:33.256+09:00</updated><title type='text'>CDH3</title><content type='html'>CDH3は、Cloudera社によるHadoopパッケージのバージョン3に相当するもので、2011春頃にリリース版、夏にリリースupdate1版がでました。(2010年、春頃にβ、夏(8月)にβ2、秋(10月)にβ3)。&lt;a href="http://www.cloudera.com/hadoop/"&gt;CDH(Cloudera’s Distribution for Hadoop)&lt;/a&gt;は、cloudera社によるHadoopのパッケージ(rpm, deb)で、インストール・更新を簡単に行うことができます。&lt;br /&gt;&lt;br /&gt;CDH3では、前のCDH2から、大きく中身が変わったところがありますので、内容を、おさらいしておきます。きちんとした情報は、Cloudera社のブログ(&lt;a href="http://www.cloudera.com/blog/2010/08/cdh3b2-release-recap/"&gt;CDH3beta2&lt;/a&gt;, &lt;a href="http://www.cloudera.com/blog/2011/04/cdh3-goes-ga/"&gt;CDH3&lt;/a&gt;, &lt;a href="http://www.cloudera.com/blog/2011/07/cdh3u1-released/"&gt;CDH3u1の記事&lt;/a&gt;)を見ましょう。&lt;br /&gt;&lt;br /&gt;・Hadoop Core(HDFS, MapReduce)は、Hadoopの中心となる機能で、分散ファイルシステムのHDFSと、分散の計算のためのしくみのMapReduceが、入っています。初期のCDH(CDH1と呼ばれる前のCDH1)から入っていた機能で、パッケージとしてのブラッシュアップも重ねられてきています。Hadoopを実際に利用する(お仕事にも個人が手軽に試すにも)のに適していると思います。&lt;br /&gt;&lt;br /&gt;・Pig, Hiveは、MapReduceを手軽に利用するためのフロントエンドのしくみです。MapReduce利用が目的の方も、一度、検討する価値があると思います。これらのパッケージも、初期のCDHから、存在しています。&lt;br /&gt;&lt;br /&gt;・Sqoopは、2009秋ごろからあるHadoopとDBとでデータをやり取りするためのしくみです。Cloudera社製です。&lt;br /&gt;&lt;br /&gt;・HBaseは、分散DB(KVS)の仕組みです。パッケージも、2009秋ごろからあります(CDH2のcontrib扱い)が、きちんとCDHに統合されたのは、CDH3からです。CDH3では、同時にZooKeeperのパッケージも再整理されたようです。&lt;br /&gt;&lt;br /&gt;・ZooKeeperの単独パッケージは、CDH3からだと思います。CDH2では、HBaseのおまけパッケージでした。&lt;br /&gt;&lt;br /&gt;・HUE(Hadoop User Experience)は、2009年秋頃に出たCloudera Desktopの新しいもののようです。Hadoopを便利に使うためのGUIのフロントエンドです。HUEの名前では、CDH3からです。また、CDH3からは、HUE上のアプリケーションとして、HiveのGUIフロンとエンドが追加されました。&lt;br /&gt;&lt;br /&gt;・fuse(Mountable HDFS)もパッケージになっています。HDFSをマウントして利用するためのものです。一般的にあまり勧められないもののようですが、マウントできるのは、やっぱり便利かなあ、とも。&lt;br /&gt;&lt;br /&gt;新しくパッケージに追加されたのは、以下の二つです。&lt;br /&gt;&lt;br /&gt;・Flumeは、分散ログ収集のしくみです。他よりHadoopとの結びつきは薄いかもしれません。いろいろなサーバーからログを収集して、HDFSに集めることができます。集め先は、HDFSに限りませんが、たくさんのログを集めるなら、Flume＋HDFSの組み合わせは検討に値するかと思います。&lt;br /&gt;&lt;br /&gt;・Oozieは、Hadoopのワークフローのしくみです。MapReduce, Pig, Hiveなどの複数のプロセスをつないで記述してワークフローとして、それらを管理／実行するプラットフォームのようです。&lt;br /&gt;&lt;br /&gt;このブログは、CDHを地味においかけてメモしています。CDH1用に書いた2009年ごろに書いた古い記事も、ぼちぼち最新の内容(CDH3)に更新してあります。書き始めた頃に比べてCDHの利用がポピュラーになったので、まじめに使う人は、他のいい記事を読むのがおすすめです。(2011年夏)&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;CDH3でHadoopを試す記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-3610323218958429029?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/3610323218958429029/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/cdh3.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3610323218958429029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3610323218958429029'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/cdh3.html' title='CDH3'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-6569662141808670444</id><published>2010-08-21T13:50:00.013+09:00</published><updated>2011-08-23T19:53:59.271+09:00</updated><title type='text'>1台でOozieを試してみる(Ubuntu + Cloudera(CDH3 beta2))</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、Oozieを試してみます。&lt;br /&gt;・Ubuntu(1台)でCloudera社のHadoop(&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;beta2)が動いていることを前提とします。 → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・Linux(Ubuntu)+Cloudera版Hadoop環境(1台) → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;・インターネット接続&lt;br /&gt;・Cloudera社のOozieのパッケージ(aptでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. インストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、rootで作業します。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-1. Oozieパッケージのインストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;&lt;blockquote&gt;apt-get -y install oozie oozie-client&lt;/blockquote&gt;&lt;br /&gt;&lt;font color=red&gt;※ 2010年８月中旬現在、パッケージがおかしく、うまくインストールできないようです。&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-2. Oozieサーバーまわりの設定&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・MySQLのインストール&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;&lt;blockquote&gt;apt-get -y install mysql-server mysql-client&lt;/blockquote&gt;(DBのrootパスワードは、覚えておきましょう)&lt;br /&gt;&lt;br /&gt;動作確認例&lt;br /&gt;&lt;blockquote&gt;service mysql status&lt;br /&gt;mysql start/running, process 11242&lt;/blockquote&gt;&lt;br /&gt;・Tomcatのインストール&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install tomcat6&lt;/blockquote&gt;&lt;br /&gt;・ExtJS libraryの設定&lt;br /&gt;http://www.sencha.com/learn/Ext_Version_Archives&lt;br /&gt;からext-2.2.zipをダウンロードします。 (2.2.1とか3は不可です)&lt;br /&gt;ダウンロードファイルを、例えば/tmp/ext-2.2.zipとして配置したとして、&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cd /usr/lib/oozie&lt;br /&gt;./installextjs.sh /tmp/ext-2.2.zip&lt;br /&gt;Oozie WAR '/usr/lib/oozie/wars/oozie.war' file now contains ExtJS library&lt;/blockquote&gt;&lt;br /&gt;・MySQL JDBC connector library&lt;br /&gt;&lt;br /&gt;http://www.mysql.com/downloads/connector/j/5.1.htmlから、mysql-connector-java-5.1.13.tar.gzを、ダウンロードします。&lt;br /&gt;ダウンロードファイルを、例えば/tmp/mysql-connector-java-5.1.13.tar.gzとして配置したとして、&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mkdir /tmp/jdbc/&lt;br /&gt;cd /tmp/jdbc/&lt;br /&gt;tar xzf /tmp/mysql-connector-java-5.1.13.tar.gz&lt;br /&gt;cp /tmp/jdbc/mysql-connector-java-5.1.13/mysql-connector-java-5.1.13-bin.jar /usr/share/tomcat6/lib/&lt;/blockquote&gt;&lt;br /&gt;・OozieをTomcatに配備&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cp /usr/lib/oozie/wars/oozie.war /var/lib/tomcat6/webapps/&lt;/blockquote&gt;&lt;br /&gt;設定ファイル/etc/tomcat5/tomcat5.confを編集します。以下の行をファイルの最後にでも追加します。&lt;br /&gt;&lt;blockquote&gt;# oozie&lt;br /&gt;JAVA_OPTS="$JAVA_OPTS -Doozie.config.dir=/usr/lib/oozie/conf"&lt;/blockquote&gt;&lt;br /&gt;・Oozieの設定ファイル&lt;br /&gt;&lt;br /&gt;vi /usr/lib/oozie/conf/oozie-site.xml&lt;br /&gt;二か所のコメントアウト部分(「Disable automatic DB schema creation」と「DBコネクション関連の設定」で、&amp;lt;!--と--&amp;gt;で囲まれている部分)を、有効にします。&lt;br /&gt;特に、oozie.db.schema.createのvalueはtrueに変更(もとはfalse)します。&lt;br /&gt;以下のような設定を有効にします。&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.db.schema.create&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;Creates Oozie DB.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.driver&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;com.mysql.jdbc.Driver&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;JDBC driver class.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.url&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;jdbc:mysql://localhost:3306&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;JDBC URL.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.username&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;DB user name.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.password&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;DB user password.&lt;br /&gt;IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value, if empty Configuration&lt;br /&gt;assumes it is NULL.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;・MySQL&lt;br /&gt;&lt;blockquote&gt;mysql -u root -p&lt;br /&gt;mysql&gt; grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;mysql&gt; exit&lt;br /&gt;Bye&lt;/blockquote&gt;&lt;br /&gt;・Oozie Server(Tomcat)の起動と自動DB作成&lt;br /&gt;&lt;br /&gt;Tomcatを起動させます。初回起動時に、自動で必要なDBが作成されます。&lt;br /&gt;&lt;blockquote&gt;service tomcat6 start&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;初回起動時にDBが作成されるので、確認します。&lt;br /&gt;&lt;blockquote&gt;mysql -u oozie -p&lt;br /&gt;Enter password:（パスワードは、上記の設定通りなら"oozie"）&lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 20&lt;br /&gt;Server version: 5.0.77 Source distribution&lt;br /&gt;&lt;br /&gt;sType 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; show databases;&lt;br /&gt;+--------------------+&lt;br /&gt;| Database           |&lt;br /&gt;+--------------------+&lt;br /&gt;| information_schema |&lt;br /&gt;| oozie              |&lt;br /&gt;+--------------------+&lt;br /&gt;2 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; use oozie;&lt;br /&gt;Reading table information for completion of table and column names&lt;br /&gt;You can turn off this feature to get a quicker startup with -A&lt;br /&gt;&lt;br /&gt;Database changed&lt;br /&gt;mysql&amp;gt; show tables;&lt;br /&gt;+---------------------+&lt;br /&gt;| Tables_in_oozie     |&lt;br /&gt;+---------------------+&lt;br /&gt;| ACTIONS             |&lt;br /&gt;| VERSION             |&lt;br /&gt;| WF_PROCESS_INSTANCE |&lt;br /&gt;| WORKFLOWS           |&lt;br /&gt;+---------------------+&lt;br /&gt;4 rows in set (0.00 sec)&lt;br /&gt;mysql&amp;gt; exit&lt;br /&gt;Bye&lt;/blockquote&gt;&lt;b&gt;1-3. 動作確認&lt;/b&gt;&lt;br /&gt;コマンドラインから動作確認&lt;br /&gt;&lt;blockquote&gt;OOZIE_URL=http://localhost:8080/oozie oozie admin -version&lt;br /&gt;Oozie server build version: 1.6.2-0.20.2-320--SNAPSHOT&lt;/blockquote&gt;&lt;br /&gt;ブラウザから動作確認&lt;br /&gt;http://10.44.4.180:8080/oozie&lt;br /&gt;画面例&lt;br /&gt;&lt;img border="0" height="118" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TG9lfQjlekI/AAAAAAAAAEA/eFX0qCVRuow/s200/Oozie2.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;(おまけ)&lt;br /&gt;ドキュメントを入れたいならば、&lt;br /&gt;&lt;blockquote&gt;cp /usr/lib/oozie/wars/ooziedocs.war /var/lib/tomcat6/webapps/&lt;/blockquote&gt;として、&lt;br /&gt;http://10.44.4.180:8080/ooziedocs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. exampleを動かしてみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-1. example準備&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;exampleのファイルを展開します。&lt;br /&gt;&lt;blockquote&gt;mkdir /tmp/oozie-example&lt;br /&gt;cd /tmp/oozie-example/&lt;br /&gt;tar xzf /usr/lib/oozie/oozie-examples.tar.gz&lt;br /&gt;cd examples/&lt;/blockquote&gt;&lt;br /&gt;prepare-examples.shを編集します。ファイル下の方の、以下の部分を変更します。&lt;br /&gt;&lt;blockquote&gt;echo "jobTracker=localhost:9001" &gt;&gt; ${example}-job.properties&lt;br /&gt;echo "nameNode=hdfs://localhost:8020" &gt;&gt; ${example}-job.properties&lt;/blockquote&gt;例えば、Clouderaのお手軽デフォルト設定のHadoopなら、以下のように変更します。&lt;br /&gt;&lt;blockquote&gt;echo "jobTracker=localhost:8021" &gt;&gt; ${example}-job.properties&lt;br /&gt;echo "nameNode=hdfs://localhost:8020" &gt;&gt; ${example}-job.properties&lt;/blockquote&gt;&lt;br /&gt;example用の設定やテストファイルを作成&lt;br /&gt;&lt;blockquote&gt;./prepare-examples.sh&lt;br /&gt;hadoop fs -put input-data input-data&lt;br /&gt;hadoop fs -put workflows /tmp/`whoami`/workflows&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;2-2. exampleを実行してみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・実行&lt;br /&gt;&lt;blockquote&gt;oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run&lt;br /&gt;job: 0000000-100820220527261-oozie-tomc&lt;/blockquote&gt;&lt;br /&gt;・ジョブの様子を確認(実行時に表示されるJob Idを引数に)&lt;br /&gt;&lt;blockquote&gt;oozie job -oozie http://localhost:8080/oozie -info 0000000-100820220527261-oozie-tomc&lt;br /&gt;Job Id: 0000000-100820220527261-oozie-tomc&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Workflow Name :  map-reduce-wf&lt;br /&gt;App Path      :  hdfs://localhost:8020/tmp/root/workflows/map-reduce&lt;br /&gt;Status        :  RUNNING&lt;br /&gt;Run           :  0&lt;br /&gt;User          :  root&lt;br /&gt;Group         :  users&lt;br /&gt;Created       :  2010-08-20 14:30 +0000&lt;br /&gt;Started       :  2010-08-20 14:30 +0000&lt;br /&gt;Last Modified :  2010-08-20 14:30 +0000&lt;br /&gt;Ended         :  -&lt;br /&gt;&lt;br /&gt;Actions&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Action Name             Type        Status     Transition   Ext. Id               Ext. Status     Error Code    Started                 Ended&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;hadoop1                 map-reduce  RUNNING    -            job_201008202153_0002 RUNNING         -             2010-08-20 14:30 +0000  -&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/blockquote&gt;&lt;br /&gt;・同様に他の.propertiesファイルも試すことができます。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run&lt;br /&gt;job: 0000000-100820214321863-oozie-tomc&lt;br /&gt;&lt;br /&gt;oozie job -oozie http://localhost:8080/oozie -config hive-job.properties -run&lt;br /&gt;job: 0000005-100820220527261-oozie-tomc&lt;br /&gt;&lt;br /&gt;oozie job -oozie http://localhost:8080/oozie -config pig-job.properties -run&lt;br /&gt;job: 0000004-100820220527261-oozie-tomc&lt;/blockquote&gt;&lt;br /&gt;それぞれの実行内容はworkflowsの中のディレクトリに書いてあります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-6569662141808670444?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/6569662141808670444/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/1oozieubuntu-cloudera.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6569662141808670444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6569662141808670444'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/1oozieubuntu-cloudera.html' title='1台でOozieを試してみる(Ubuntu + Cloudera(CDH3 beta2))'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5UO6o0y_m5I/TG9lfQjlekI/AAAAAAAAAEA/eFX0qCVRuow/s72-c/Oozie2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4160453265755121921</id><published>2010-08-21T13:19:00.017+09:00</published><updated>2011-08-23T19:54:27.362+09:00</updated><title type='text'>1台でOozieを試してみる(CentOS + Cloudera(CDH3 beta2))</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、Oozieを試してみます。&lt;br /&gt;・CentOS(1台)でCloudera社のHadoop(&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;beta2)が動いていることを前提とします。 → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;※この記事はCDH3beta2用です、&lt;font color=red&gt;CDH3beta3&lt;/font&gt;の人は&lt;a href="http://saburi380.blogspot.com/2010/10/1oozieubuntu-clouderacdh3-beta3.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・Linux(CentOS)+Cloudera版Hadoop環境(1台) → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;・インターネット接続&lt;br /&gt;・Cloudera社のOozieのパッケージ(yumでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. インストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、rootで作業します。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-0. Cloudera社のCDH3リポジトリ確認&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Cloudera社のCDH3リポジトリが必要ですので、既に設定されていないか確認します。&lt;br /&gt;&lt;blockquote&gt;ls /etc/yum.repos.d/&lt;/blockquote&gt;で、cloudera-cdh3.repoが存在すれば、OKのはずです。無い場合は、&lt;br /&gt;&lt;blockquote&gt;cd /etc/yum.repos.d/&lt;br /&gt;wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo&lt;/blockquote&gt;とします。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-1. Oozieパッケージのインストール&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;&lt;blockquote&gt;yum -y install oozie oozie-client&lt;/blockquote&gt;&lt;br /&gt;確認&lt;br /&gt;&lt;blockquote&gt;yum list oozie* | grep installed&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;1-2. Oozieサーバーまわりの設定&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・MySQLのインストール&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;&lt;blockquote&gt;yum -y install mysql mysql-server&lt;/blockquote&gt;&lt;br /&gt;初期設定(ここでは、DBサービスを起動して、コマンドラインの設定ウィザードで初期設定を行いました)&lt;br /&gt;&lt;blockquote&gt;service mysqld start&lt;br /&gt;mysql_secure_installation&lt;/blockquote&gt;すべてデフォルト(DBのrootパスワードは、覚えておきましょう)&lt;br /&gt;&lt;br /&gt;・Tomcatのインストール&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum -y install tomcat5&lt;/blockquote&gt;(ここでは、まだ起動させません)&lt;br /&gt;本来(Oozieやcloudera社のドキュメント)ではtomcat6を使っているようですが、ここでは、CentOS5で容易に利用できるTomcat5を使いました。&lt;br /&gt;&lt;br /&gt;・ExtJS libraryの設定&lt;br /&gt;http://www.sencha.com/learn/Ext_Version_Archives&lt;br /&gt;からext-2.2.zipをダウンロードします。 (2.2.1とか3は不可です)&lt;br /&gt;ダウンロードファイルを、例えば/tmp/ext-2.2.zipとして配置したとして、&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cd /usr/lib/oozie&lt;br /&gt;./installextjs.sh /tmp/ext-2.2.zip&lt;br /&gt;Oozie WAR '/usr/lib/oozie/wars/oozie.war' file now contains ExtJS library&lt;/blockquote&gt;&lt;br /&gt;・MySQL JDBC connector library&lt;br /&gt;&lt;br /&gt;http://www.mysql.com/downloads/connector/j/5.1.htmlから、mysql-connector-java-5.1.13.tar.gzを、ダウンロードします。&lt;br /&gt;ダウンロードファイルを、例えば/tmp/mysql-connector-java-5.1.13.tar.gzとして配置したとして、&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mkdir /tmp/jdbc/&lt;br /&gt;cd /tmp/jdbc/&lt;br /&gt;tar xzf /tmp/mysql-connector-java-5.1.13.tar.gz&lt;br /&gt;cp /tmp/jdbc/mysql-connector-java-5.1.13/mysql-connector-java-5.1.13-bin.jar /usr/share/tomcat5/common/lib/&lt;/blockquote&gt;&lt;br /&gt;・OozieをTomcatに配備&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cp /usr/lib/oozie/wars/oozie.war /var/lib/tomcat5/webapps/&lt;/blockquote&gt;&lt;br /&gt;設定ファイル/etc/tomcat5/tomcat5.confを編集します。以下の行をファイルの最後にでも追加します。&lt;br /&gt;&lt;blockquote&gt;# oozie&lt;br /&gt;JAVA_OPTS="$JAVA_OPTS -Doozie.config.dir=/usr/lib/oozie/conf"&lt;/blockquote&gt;&lt;br /&gt;・Oozieの設定ファイル&lt;br /&gt;&lt;br /&gt;vi /usr/lib/oozie/conf/oozie-site.xml&lt;br /&gt;二か所のコメントアウト部分(「Disable automatic DB schema creation」と「DBコネクション関連の設定」で、&amp;lt;!--と--&amp;gt;で囲まれている部分)を、有効にします。&lt;br /&gt;特に、oozie.db.schema.createのvalueはtrueに変更(もとはfalse)します。&lt;br /&gt;以下のような設定を有効にします。&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.db.schema.create&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;Creates Oozie DB.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.driver&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;com.mysql.jdbc.Driver&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;JDBC driver class.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.url&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;jdbc:mysql://localhost:3306&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;JDBC URL.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.username&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;DB user name.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;oozie.service.DataSourceService.jdbc.password&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;oozie&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;&lt;br /&gt;DB user password.&lt;br /&gt;IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value, if empty Configuration&lt;br /&gt;assumes it is NULL.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;・MySQL&lt;br /&gt;&lt;blockquote&gt;mysql -u root -p&lt;br /&gt;mysql&amp;gt; grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;mysql&amp;gt; exit&lt;br /&gt;Bye&lt;/blockquote&gt;&lt;br /&gt;・Oozie Server(Tomcat)の起動と自動DB作成&lt;br /&gt;&lt;br /&gt;Tomcatを起動させます。初回起動時に、自動で必要なDBが作成されます。&lt;br /&gt;&lt;blockquote&gt;service tomcat5 start&lt;/blockquote&gt;&lt;br /&gt;初回起動時にDBが作成されるので、確認します。&lt;br /&gt;&lt;blockquote&gt;mysql -u oozie -p&lt;br /&gt;Enter password:（パスワードは、上記の設定通りなら"oozie"）&lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 20&lt;br /&gt;Server version: 5.0.77 Source distribution&lt;br /&gt;&lt;br /&gt;sType 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; show databases;&lt;br /&gt;+--------------------+&lt;br /&gt;| Database           |&lt;br /&gt;+--------------------+&lt;br /&gt;| information_schema |&lt;br /&gt;| oozie              |&lt;br /&gt;+--------------------+&lt;br /&gt;2 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; use oozie;&lt;br /&gt;Reading table information for completion of table and column names&lt;br /&gt;You can turn off this feature to get a quicker startup with -A&lt;br /&gt;&lt;br /&gt;Database changed&lt;br /&gt;mysql&amp;gt; show tables;&lt;br /&gt;+---------------------+&lt;br /&gt;| Tables_in_oozie     |&lt;br /&gt;+---------------------+&lt;br /&gt;| ACTIONS             |&lt;br /&gt;| VERSION             |&lt;br /&gt;| WF_PROCESS_INSTANCE |&lt;br /&gt;| WORKFLOWS           |&lt;br /&gt;+---------------------+&lt;br /&gt;4 rows in set (0.00 sec)&lt;br /&gt;mysql&amp;gt; exit&lt;br /&gt;Bye&lt;/blockquote&gt;&lt;b&gt;1-3. 動作確認&lt;/b&gt;&lt;br /&gt;コマンドラインから動作確認&lt;br /&gt;&lt;blockquote&gt;OOZIE_URL=http://localhost:8080/oozie oozie admin -version&lt;br /&gt;Oozie server build version: 1.6.2-0.20.2-320--SNAPSHOT&lt;/blockquote&gt;&lt;br /&gt;ブラウザから動作確認&lt;br /&gt;http://&lt;i&gt;ホスト名&lt;/i&gt;:8080/oozie&lt;br /&gt;画面例&lt;br /&gt;&lt;img border="0" height="118" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TG9lfQjlekI/AAAAAAAAAEA/eFX0qCVRuow/s200/Oozie2.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;(おまけ)&lt;br /&gt;ドキュメントを入れたいならば、&lt;br /&gt;&lt;blockquote&gt;cp /usr/lib/oozie/wars/ooziedocs.war /var/lib/tomcat5/webapps/&lt;/blockquote&gt;として、&lt;br /&gt;http://&lt;i&gt;ホスト名&lt;/i&gt;:8080/ooziedocs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. exampleを動かしてみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-1. example準備&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;exampleのファイルを展開します。&lt;br /&gt;&lt;blockquote&gt;mkdir /tmp/oozie-example&lt;br /&gt;cd /tmp/oozie-example/&lt;br /&gt;tar xzf /usr/lib/oozie/oozie-examples.tar.gz&lt;br /&gt;cd examples/&lt;/blockquote&gt;&lt;br /&gt;prepare-examples.shを編集します。ファイル下の方の、以下の部分を変更します。&lt;br /&gt;&lt;blockquote&gt;echo "jobTracker=localhost:9001" &amp;gt;&amp;gt; ${example}-job.properties&lt;br /&gt;echo "nameNode=hdfs://localhost:8020" &amp;gt;&amp;gt; ${example}-job.properties&lt;/blockquote&gt;例えば、Clouderaのお手軽デフォルト設定のHadoopなら、以下のように変更します。&lt;br /&gt;&lt;blockquote&gt;echo "jobTracker=localhost:8021" &amp;gt;&amp;gt; ${example}-job.properties&lt;br /&gt;echo "nameNode=hdfs://localhost:8020" &amp;gt;&amp;gt; ${example}-job.properties&lt;/blockquote&gt;&lt;br /&gt;example用の設定やテストファイルを作成&lt;br /&gt;&lt;blockquote&gt;./prepare-examples.sh&lt;br /&gt;hadoop fs -put input-data input-data&lt;br /&gt;hadoop fs -put workflows /tmp/`whoami`/workflows&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;2-2. exampleを実行してみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・実行&lt;br /&gt;&lt;blockquote&gt;oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run&lt;br /&gt;job: 0000000-100820220527261-oozie-tomc&lt;/blockquote&gt;&lt;br /&gt;・ジョブの様子を確認(実行時に表示されるJob Idを引数に)&lt;br /&gt;&lt;blockquote&gt;oozie job -oozie http://localhost:8080/oozie -info 0000000-100820220527261-oozie-tomc&lt;br /&gt;Job Id: 0000000-100820220527261-oozie-tomc&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Workflow Name :  map-reduce-wf&lt;br /&gt;App Path      :  hdfs://localhost:8020/tmp/root/workflows/map-reduce&lt;br /&gt;Status        :  RUNNING&lt;br /&gt;Run           :  0&lt;br /&gt;User          :  root&lt;br /&gt;Group         :  users&lt;br /&gt;Created       :  2010-08-20 14:30 +0000&lt;br /&gt;Started       :  2010-08-20 14:30 +0000&lt;br /&gt;Last Modified :  2010-08-20 14:30 +0000&lt;br /&gt;Ended         :  -&lt;br /&gt;&lt;br /&gt;Actions&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;Action Name             Type        Status     Transition   Ext. Id               Ext. Status     Error Code    Started                 Ended&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;hadoop1                 map-reduce  RUNNING    -            job_201008202153_0002 RUNNING         -             2010-08-20 14:30 +0000  -&lt;br /&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/blockquote&gt;&lt;br /&gt;・同様に他の.propertiesファイルも試すことができます。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;oozie job -oozie http://localhost:8080/oozie -config map-reduce-job.properties -run&lt;br /&gt;job: 0000000-100820214321863-oozie-tomc&lt;br /&gt;&lt;br /&gt;oozie job -oozie http://localhost:8080/oozie -config hive-job.properties -run&lt;br /&gt;job: 0000005-100820220527261-oozie-tomc&lt;br /&gt;&lt;br /&gt;oozie job -oozie http://localhost:8080/oozie -config pig-job.properties -run&lt;br /&gt;job: 0000004-100820220527261-oozie-tomc&lt;/blockquote&gt;&lt;br /&gt;それぞれの実行内容はworkflowsの中のディレクトリに書いてあります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4160453265755121921?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4160453265755121921/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4160453265755121921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4160453265755121921'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html' title='1台でOozieを試してみる(CentOS + Cloudera(CDH3 beta2))'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5UO6o0y_m5I/TG9lfQjlekI/AAAAAAAAAEA/eFX0qCVRuow/s72-c/Oozie2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-5690869164531990813</id><published>2010-08-12T19:28:00.043+09:00</published><updated>2010-09-10T10:10:04.772+09:00</updated><title type='text'>"消費電力あたりのコンピュータの能力"の推移</title><content type='html'>"消費電力あたりのコンピュータの能力"の推移を、メモ。そして、素人の予想。信用しちゃいけません。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・ストレージ&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;HDD[W/TB]&lt;br /&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/TGSTqlJsUeI/AAAAAAAAABY/QJU4B9TFobI/s320/WpTB.png" style="float: left; margin-right: 0.5em;" /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border: 1px solid gray;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;年&lt;/th&gt;&lt;th&gt;総容量&lt;/th&gt;&lt;th&gt;総消費電力&lt;/th&gt;&lt;th&gt;台数&lt;/th&gt;&lt;th&gt;GB/台&lt;/th&gt;&lt;th&gt;消費電力/台&lt;/th&gt;&lt;th&gt;W/TB&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1997&lt;/td&gt;&lt;td&gt;250GB&lt;/td&gt;&lt;td&gt;350W&lt;/td&gt;&lt;td&gt;25&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;14W&lt;/td&gt;&lt;td&gt;1400&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2003&lt;/td&gt;&lt;td&gt;250GB&lt;/td&gt;&lt;td&gt;24W&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;125&lt;/td&gt;&lt;td&gt;12W&lt;/td&gt;&lt;td&gt;96&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2008&lt;/td&gt;&lt;td&gt;250GB&lt;/td&gt;&lt;td&gt;8W&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;250&lt;/td&gt;&lt;td&gt;8W&lt;/td&gt;&lt;td&gt;32&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2010&lt;/td&gt;&lt;td&gt;2TB&lt;/td&gt;&lt;td&gt;8W&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2000&lt;/td&gt;&lt;td&gt;8W弱?&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2015(予想)&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;1くらい?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;参考文献: &lt;a href="http://itpro.nikkeibp.co.jp/as/seagate/index.shtml"&gt;http://itpro.nikkeibp.co.jp/as/seagate/index.shtml&lt;/a&gt;&lt;br /&gt;SSDはどうなんだ?&lt;br /&gt;&lt;br clear="all"&gt;&lt;br /&gt;ちなみに値段($/TB)は、&lt;br /&gt;&lt;img border="0"  style="float: left; margin-right: 0.5em;" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TImCzc6xNmI/AAAAAAAAAEY/MYKkl9mac0E/s320/DpTB.png" /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border: 1px solid gray;"&gt;&lt;tr&gt;&lt;th&gt;年&lt;/th&gt;&lt;th&gt;$/TB&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2005&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2010&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2015(予想)&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;参考文献: &lt;br /&gt;http://agigatech.com/blog/system-uses-for-nand-flash/&lt;br /&gt;http://agigatech.com/blog/why-are-ssds-still-so-expensive/&lt;br /&gt;http://www.mariomansour.org/how-much-did-a-hard-drive-cost-in-1982/&lt;br /&gt;&lt;br clear="all"&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・演算能力&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;GPU[W/TFLOPS]&lt;br /&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5UO6o0y_m5I/TGSW7hTekhI/AAAAAAAAABg/70jj8TC1zXQ/s320/WpTFLOPS.png" style="float: left; margin-right: 0.5em;" /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border: 1px solid gray;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;年月&lt;/th&gt;&lt;th&gt;GFLOPS/W&lt;/th&gt;&lt;th&gt;W/TFLOPS&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2005-11&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2006-1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;500&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2007-9&lt;/td&gt;&lt;td&gt;2.2&lt;/td&gt;&lt;td&gt;455&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2007-11&lt;/td&gt;&lt;td&gt;4.5&lt;/td&gt;&lt;td&gt;222&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2008-6&lt;/td&gt;&lt;td&gt;7.5&lt;/td&gt;&lt;td&gt;133&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2009-4&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;83&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2015(予想)&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;10くらい?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;参考文献:&lt;br /&gt;&lt;a href="http://pc.watch.impress.co.jp/img/pcw/docs/167/935/html/kaigai_3.jpg.html"&gt;http://pc.watch.impress.co.jp/img/pcw/docs/167/935/html/kaigai_3.jpg.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pc.watch.impress.co.jp/docs/column/kaigai/20090501_167935.html"&gt;http://pc.watch.impress.co.jp/docs/column/kaigai/20090501_167935.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CPUはどうなんですかねえ?演算能力はいろいろでよくわかんないですし。他に&lt;a href="http://www.spec.org/cpu2006/results/"&gt;specなんちゃら&lt;/a&gt;だとどうなるんだろう。&lt;br /&gt;&lt;br /&gt;ECU(Amazon EC2 Compute Unit)での資料が欲しいですが、見つかりませんね。まったく無根拠にグラフを描いてみた。2015年に1W/ECUは、大きすぎ?&lt;br /&gt;&lt;br /&gt;W/ECU(Amazon EC2 Compute Unit)&lt;br /&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/TGScnvFAShI/AAAAAAAAABo/ZJ4VM2A5kFU/s320/WpECU.png" style="float: left; margin-right: 0.5em;" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br clear="all"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・電池&lt;/b&gt;&lt;br /&gt;リチウムイオン二次電池のエネルギー密度[Wh/kg]&lt;br /&gt;&lt;br /&gt;Wh/kg&lt;br /&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGTWWfBKcTI/AAAAAAAAABw/-F5S-dlKXIA/s320/LIWHpK.png" /&gt;&lt;br /&gt;&lt;br /&gt;参考文献: &lt;a href="http://www.kantei.go.jp/jp/singi/utyuu/tukitansa/dai3/siryou7.pdf"&gt;Sharpの資料&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-5690869164531990813?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/5690869164531990813/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post_5911.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/5690869164531990813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/5690869164531990813'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post_5911.html' title='&quot;消費電力あたりのコンピュータの能力&quot;の推移'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5UO6o0y_m5I/TGSTqlJsUeI/AAAAAAAAABY/QJU4B9TFobI/s72-c/WpTB.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-6808520096142742303</id><published>2010-08-12T19:21:00.011+09:00</published><updated>2011-03-20T10:17:42.484+09:00</updated><title type='text'>電気に関する計算(利用編)</title><content type='html'>うちで使う電気のうちわけを確認。&lt;br /&gt;&lt;br /&gt;ここは、大きいもののみ(少し多めに)。冷蔵庫が駄目なのはわかってるけど。&lt;br /&gt;&lt;br /&gt;&lt;table border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; border: 1px solid gray;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td colspan="3" style="border-color: gray;"&gt;&lt;b&gt;常時利用(止められない)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;57kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;冷蔵庫(99年、約90L)&lt;/td&gt; &lt;td&gt;79W&lt;/td&gt; &lt;td&gt;7x24&lt;/td&gt; &lt;td&gt;57kW/月 ←これがいけないなあ。&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="3" style="border-color: gray;"&gt;&lt;b&gt;常時利用(まあまあ止められるけど)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;12kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;ADSLモデム-NV&lt;/td&gt; &lt;td&gt;16W&lt;/td&gt; &lt;td&gt;7x24&lt;/td&gt; &lt;td&gt;12kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="3" style="border-color: gray;"&gt;&lt;b&gt;一時利用&lt;/b&gt;&lt;/td&gt; &lt;td&gt;14kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;ブラウン管テレビ(14インチ)&lt;/td&gt; &lt;td&gt;55W&lt;/td&gt; &lt;td&gt;2h/day&lt;/td&gt; &lt;td&gt;4kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;液晶テレビ(20インチ)&lt;/td&gt; &lt;td&gt;54W(待機0.8W)&lt;/td&gt; &lt;td&gt;6h/day&lt;/td&gt; &lt;td&gt;10kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;照明？(※1)&lt;/td&gt; &lt;td&gt;？&lt;/td&gt; &lt;td&gt;？&lt;/td&gt; &lt;td&gt;？&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="3" style="border-color: gray;"&gt;&lt;b&gt;一時利用(PC)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;11kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;モニタ&lt;/td&gt; &lt;td&gt;50W&lt;/td&gt; &lt;td&gt;4h/day&lt;/td&gt; &lt;td&gt;6kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;PC本体&lt;/td&gt; &lt;td&gt;40W(?)&lt;/td&gt; &lt;td&gt;4h/day&lt;/td&gt; &lt;td&gt;5kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td colspan="3" style="border-color: gray;"&gt;&lt;b&gt;一時利用(高負荷)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;54kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;炊飯器炊飯(保温しない)&lt;/td&gt; &lt;td&gt;1060W&lt;/td&gt; &lt;td&gt;50min/day&lt;/td&gt; &lt;td&gt;27kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;冷暖房(なし※2)&lt;/td&gt;&lt;td&gt;-&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;掃除機&lt;/td&gt; &lt;td&gt;900W&lt;/td&gt; &lt;td&gt;1h/week&lt;/td&gt; &lt;td&gt;4kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;電子レンジ&lt;/td&gt; &lt;td&gt;1000W&lt;/td&gt; &lt;td&gt;10min/day&lt;/td&gt; &lt;td&gt;5kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ドライヤー&lt;/td&gt; &lt;td&gt;1200W&lt;/td&gt; &lt;td&gt;10min/day&lt;/td&gt; &lt;td&gt;6kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;洗濯機(洗濯)&lt;/td&gt; &lt;td&gt;120Wh/回&lt;/td&gt; &lt;td&gt;10回/mon&lt;/td&gt; &lt;td&gt;1.2kWh/月&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td&gt;洗濯機(乾燥)&lt;/td&gt; &lt;td&gt;3560Wh/回&lt;/td&gt; &lt;td&gt;3回/mon&lt;/td&gt; &lt;td&gt;11kW/月&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;合計: 148kWh/月&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※1. 明るさは、日本人は明るいのが好きですが、ただの慣れの問題だと思います。うちは、部屋数少ないし、蛍光灯は1/2で十分だし、LEDも部分導入済み。&lt;br /&gt;※2. 暖かい／寒いも、慣れの問題だと思います。東京23区も、ほとんど冷暖房なくて大丈夫だと思います。特に夏は、皆が冷房を止めれば、全体が少し涼しくなるはず。あと、あたりまえだけど、冷暖房効率は、部屋はほどほどの大きさがいいんです。&lt;br /&gt;※3. 部屋の広さも、大きければいいというのも、よくわかりません。なんとなく○㎡ないとだめだと思ってるのかなあ。導線とか効率を考えると、ほどほどがいいはずですが。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-6808520096142742303?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/6808520096142742303/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post_12.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6808520096142742303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6808520096142742303'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post_12.html' title='電気に関する計算(利用編)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4272972025583987297</id><published>2010-08-11T19:52:00.040+09:00</published><updated>2011-04-11T11:16:22.598+09:00</updated><title type='text'>電気に関する計算(入力編)</title><content type='html'>うちの電気（150kWh/月, 東京で3000円/月）の電気を、普通に電力会社から買わない場合の妄想計算。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・プロパンガスのように、電気をリチウムイオン電池につめて運んでもらおう思うと...&lt;/b&gt;&lt;br /&gt;プロパンガスと同じ重さで5kWh（大きさで23kWh）しか入らない。必要な電気は、5kWh/日なので、毎日、交換してもらわないと。交換してくれる人は、帰りも軽い訳じゃない、ってのも、ちょっと嫌かも。あ、ガスも空でも軽くないか...&lt;br /&gt;※ こんなサービス、今は、存在しないです、きっと。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・太陽光発電なら&lt;/b&gt;&lt;br /&gt;2kW(ピーク)のシステムでも、一日にピーク相当でせいぜい2.5時間分の日照があれば、いいのかも。&lt;br /&gt;2kWのシステムは、SANYOの200Wモジュール（HIP-200BK1,14kg,1.18平方メートル）を10枚で、140kg、11.2平方メートル（3.6坪）(→&lt;a href="http://jp.sanyo.com/solar/system/module/index.html"&gt;SANYOのソーラーシステム&lt;/a&gt;)&lt;br /&gt;※ ここでは、日本の変換効率と値段の高いパネルを想定していますが、海外の安いもの(効率1/2、発電量あたりの値段1/10)も要検討。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・ガソリンエンジン発電機は&lt;/b&gt;&lt;br /&gt;なんとなく効率悪いと思っていたけど、どうなんだろう？&lt;br /&gt;例えば、ホンダの発電機EU26i（2.6kVA,5.9L,7.7時間）で、ガソリンは120円/Lとする。&lt;br /&gt;- うちの必要な電気からすると、5310円/月。(約25円/kWh)&lt;br /&gt;- 一方、ずーっと、回し続けると、18L/日必要なので、6.5万円/月かな。&lt;br /&gt;燃費とかきちんと書いてないものなんだなあ。負荷によって燃費かわるんだろうけど、よくわからない。うまく使えば、意外と、そんな悪くない気がする。というか、こういう計算がぎりぎりになるように、電気が高くしてあるのかなあ。&lt;br /&gt;&lt;br /&gt;...と思ったら、むむむ、発電機によって、だいぶ違うなあ。(→&lt;a href="http://www.honda.co.jp/generator/products/eu26i.html"&gt;ホンダの発電機&lt;/a&gt;)&lt;br /&gt;&lt;font size="-2"&gt;&lt;table border=1&gt;&lt;tr&gt;&lt;td&gt;たぶん、この計算は細かくは正確じゃないんだろうけど&lt;br /&gt;ホンダの発電機EU16i（1.6kVA,4.1L,10時間）。16kWh/492円 = 30円/kWh&lt;br /&gt;ホンダの発電機EU24i（2.4kVA,12.7L,25時間）。60kWh/1524円 = 25円/kWh&lt;br /&gt;ホンダの発電機EU26i（2.6kVA,5.9L,7.7時間）。20kWh/708円 = 35円/kWh&lt;br /&gt;ホンダの発電機EU28i（2.8kVA,12.7L,20時間）。56kWh/1524円 = 27円/kWh&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/font&gt;&lt;br /&gt;さらに、電気料金とガソリン代の国際比較&lt;br /&gt;米国の電気料金は、日本の6割程度(&lt;a href="http://www.enecho.meti.go.jp/topics/hakusho/2008energyhtml/2-2-4.htm"&gt;2006年資料, 資源エネルギー庁&lt;/a&gt;)&lt;br /&gt;米国のガソリン代は、日本の5割程度(&lt;a href="http://www.mof.go.jp/jouhou/syuzei/siryou/133.htm"&gt;2009年, 財務省&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・風力はきびしそう&lt;/b&gt;&lt;br /&gt;発電機からすると10m/sは欲しいが、普通に人が暮らす場所では厳しい。&lt;br /&gt;発電機は、ゼファー社Z-501で、&lt;br /&gt;6.0m/sで50W&lt;br /&gt;8.0m/sで100W&lt;br /&gt;10.0m/sで200W&lt;br /&gt;12.5m/sで400W&lt;br /&gt;&lt;a href="http://www.zephyreco.co.jp/products/option/z501/index.html"&gt;http://www.zephyreco.co.jp/products/option/z501/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;日本各地の風速は、「日本の風力発電」に年間平均風速(地上高30m)の資料 = &lt;a href="http://www.tronc.co.jp/pdfweb/fuukyo8pc0.pdf"&gt;http://www.tronc.co.jp/pdfweb/fuukyo8pc0.pdf&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;・別途、なんぞ電気をためる装置が必要&lt;/b&gt;&lt;br /&gt;というか、電気がずっといるのは、冷蔵庫だけなので、そっちをどうにかするっていう方法も。「24時間電気がなくてもいい冷蔵庫」とか作れそうな気が。エコアイスみたいに氷じゃを作っておいて...みたいな。それでも、冷凍庫が無理っぽいけど、じゃ、冷凍食品使わなくていいかなあ、とか。&lt;br /&gt;&lt;br /&gt;自家発電といえば、燃料電池、小型ガスタービン、水力、風力、地熱、とか、別途検討。&lt;br /&gt;&lt;br /&gt;電気をためるといえば、電池、キャパシター電池、フライホイール、マイダムとか、別途検討。&lt;br /&gt;&lt;br /&gt;とりあえず自分ちをまかなうくらいの川•滝（水力）やダムって、どのくらいのサイズがあればいいんだろう。&lt;br /&gt;&lt;br /&gt;フライホイールはどうなったんだろう？機械好きなんだけど。(→ &lt;a href="http://www.beaconpower.com/"&gt;BeaconPower&lt;/a&gt;、&lt;a href="http://www.nipponflywheel.jp/en/index.html"&gt;日本フライホイール&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;(参考)自動車レースのF1で、KERSという"ブレーキ時にためたエネルギーを追い越し時に使う装置"があった。2009年のレギュレーションでは、一周あたり発揮できるエネルギーは最大で400kJ(= 111Wh)だった。電池式とフライホイール式があったけど、電池式しかレースで走らなかったと思う。電池式は、システム全体で35kg程度ってのだったと思う。&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;※1 リチウムイオン二次電池のエネルギー密度&lt;br /&gt;2010年頃：約100Wh/kg，約200Wh/L？&lt;br /&gt;(&lt;a href="http://ja.wikipedia.org/wiki/%E4%BA%8C%E6%AC%A1%E9%9B%BB%E6%B1%A0"&gt;Wikipedia記事&lt;/a&gt;, &lt;a href="http://kotobank.jp/word/%E9%AB%98%E5%AF%86%E5%BA%A6%E3%82%A8%E3%83%8D%E3%83%AB%E3%82%AE%E3%83%BC%E9%9B%BB%E6%B1%A0"&gt;kotobank項目&lt;/a&gt;, &lt;a href="http://techon.nikkeibp.co.jp/article/INTERVIEW/20090709/172832/?SS=imgview&amp;amp;FD=-796616577"&gt;TechOn記事&lt;/a&gt;, &lt;a href="http://www.meti.go.jp/committee/materials2/downloadfiles/g90225a05j.pdf"&gt;資源エネルギー庁報告書&lt;/a&gt;, &lt;a href="http://sangyo.jp/ri/env/ev-battery/article/20090817.html"&gt;電器産業成長フォーラムの記事&lt;/a&gt;, &lt;a href="http://www.kantei.go.jp/jp/singi/utyuu/tukitansa/dai3/siryou7.pdf"&gt;Sharpの資料&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;※2 プロパンガス50kg容器(※2)&lt;br /&gt;中身は、50kg, 118L(容器は36kg)&lt;br /&gt;(&lt;a href="http://www.lpgpro.jp/guest/knowledge/2004.html"&gt;高圧ガス保安協会の記事&lt;/a&gt;, &lt;a href="http://www.yauchi.co.jp/301.htm"&gt;ガスボンベの説明&lt;/a&gt;, &lt;a href="http://www.okayasanso.co.jp/article/13153152.html"&gt;プロパンガスの供給方法&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;※3 電池は、ほかにもいろいろ気にしないと&lt;br /&gt;・出力（kWとか）&lt;br /&gt;・持続時間（時間が経つと電気がなくなっちゃうとか）&lt;br /&gt;・寿命（繰り返し使うと劣化するとか）&lt;br /&gt;・危険性(電池が燃えたり)&lt;br /&gt;・メンテナンス性&lt;br /&gt;・価格&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4272972025583987297?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4272972025583987297/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post_11.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4272972025583987297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4272972025583987297'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post_11.html' title='電気に関する計算(入力編)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-3106576925808405052</id><published>2010-08-04T18:37:00.007+09:00</published><updated>2010-09-07T16:12:04.514+09:00</updated><title type='text'>ユタ州のデータセンター集約事例</title><content type='html'>2009年1月に始めたユタ州のデータセンター集約計画が2010年6月に終わったそうです(※1)。18カ月(計画通り)で、35のデータセンターを2つ(1つはバックアップサイトかと)に集約した話です。集約後の物理サーバー数は591台で、400万ドル(3億6千万円)お得な話だそうです。&lt;br /&gt;&lt;br /&gt;ユタ州の人口は280万人くらい(※2)で、日本だと広島県くらいらしい(※3)。州政府の方が県より機能は多いのかもしれませんが。&lt;br /&gt;&lt;br /&gt;サーバーは、IBMやHPのブレードなんですかね。ストレージはメインがSun StorageTek 9990Vらしく(Sun Storage 6780とかHitachi AMS 2500の名前も出てきます)、容量はせいぜい数百TBとかみたいですが。あ、あと、残念ながら流行りの自然空冷のデータセンターではなさそうです。&lt;br /&gt;&lt;br /&gt;※1 Data Center ConsolidationのNewsletter&lt;br /&gt;2010年6月分は、&lt;a href="http://dts.utah.gov/architecture/datacenterconsolidation/documents/DCCNewsletter_JuneJuly2010.pdf"&gt;http://dts.utah.gov/architecture/datacenterconsolidation/documents/DCCNewsletter_JuneJuly2010.pdf&lt;/a&gt;&lt;br /&gt;(newsletter一覧は、&lt;a href="http://dts.utah.gov/architecture/datacenterconsolidation/"&gt;http://dts.utah.gov/architecture/datacenterconsolidation/&lt;/a&gt;)&lt;br /&gt;※2 ユタ州の人口(2009年)は、&lt;a href="http://jobs.utah.gov/jsp/wi/utalmis/gotoPopulation.do"&gt;http://jobs.utah.gov/jsp/wi/utalmis/gotoPopulation.do&lt;/a&gt;から取得&lt;br /&gt;※3 日本の都道府県別人口(2008年)は、&lt;a href="http://www.e-stat.go.jp/SG1/estat/List.do?bid=000001024908&amp;cycode=0"&gt;http://www.e-stat.go.jp/SG1/estat/List.do?bid=000001024908&amp;cycode=0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-3106576925808405052?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/3106576925808405052/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3106576925808405052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3106576925808405052'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/08/blog-post.html' title='ユタ州のデータセンター集約事例'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4313177322184209828</id><published>2010-07-27T18:36:00.005+09:00</published><updated>2010-07-29T12:53:47.075+09:00</updated><title type='text'>NISTの「DRAFT Guide to Security for Full Virtualization Technologies(SP800-125ドラフト版)」から</title><content type='html'>NIST SP800-125のドラフト「&lt;a href="http://csrc.nist.gov/publications/PubsDrafts.html#800-125"&gt;DRAFT Guide to Security for Full Virtualization Technologies&lt;/a&gt;」が出ています。(virtualization.infoに&lt;a href="http://virtualization.info/jp/news/2010/07/nist%E3%81%8Cguide-to-security-for-full-virtualization-technologies%E3%81%AE%E3%83%89%E3%83%A9%E3%83%95%E3%83%88%E3%82%92%E5%85%AC%E9%96%8B%EF%BC%8820100722-3%EF%BC%89.html#more-2374"&gt;紹介記事&lt;/a&gt;があります。)&lt;br /&gt;&lt;br /&gt;ドラフトには、仮想化を利用する上での具体的なセキュリティアドバイスなんかが書いてあります。&lt;br /&gt;&lt;br /&gt;ハイパーバイザー用、ゲストOS用、仮想インフラ用、デスクトップ仮想化用のセキュリティアドバイスうち、ハイパーバイザー用部分のみvirtualization.infoの記事で日本語になってます。&lt;br /&gt;&lt;br /&gt;で、足りない他の部分を、適当にメモ。&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;「4. Security Recommendations for Virtualization Components」から、&lt;br /&gt;&lt;br /&gt;"4.1 ハイパーバイザー用"は、→&lt;a href="http://virtualization.info/jp/news/2010/07/nist%E3%81%8Cguide-to-security-for-full-virtualization-technologies%E3%81%AE%E3%83%89%E3%83%A9%E3%83%95%E3%83%88%E3%82%92%E5%85%AC%E9%96%8B%EF%BC%8820100722-3%EF%BC%89.html#more-2374"&gt;「virtualization.info」の記事&lt;/a&gt;参照&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"4.2 ゲストOS用"は、&lt;br /&gt;まず、普通に(ハードウェア上で)動かしている場合と同じことに注意しよう、さらにゲストOSならではいくつかの点にも注意。&lt;br /&gt;特に、ホスト/ゲスト間のファイル共有やクリップボード共有に注意しよう。&lt;br /&gt;ゲストOSに対して以下がお勧め&lt;br /&gt;・OSアップデートをかかさない&lt;br /&gt;・普通のOS(=仮想でない)と同等のポリシーで、バックアップする&lt;br /&gt;・使っていない仮想ハードウェアを接続しない(仮想ディスク、仮想ネットワークアダプタ、シリアルポート、パラレルポート)&lt;br /&gt;・ゲストOSそれぞれの認証を変える&lt;br /&gt;・ゲストOSの仮想デバイスとホストの物理デバイスの対応をきっちりとろう&lt;br /&gt;&lt;br /&gt;ゲストOSが侵されると、同じホスト上の他のゲストOSも侵されていると考えられる。以下の二つの対処方がありますね。&lt;br /&gt;・すべてのゲストOSが侵されたと考え、すべてのゲストOSを安全なバックアップの時点まで戻す。&lt;br /&gt;・一つ一つのゲストOSに対し、侵されていないかチェックし、侵されていた場合はセキュリティポリシーに従い処理する。&lt;br /&gt;&lt;br /&gt;"4.3 仮想インフラ用"&lt;br /&gt;&lt;br /&gt;仮想ハードウェアのアクセスコントロールに注意しよう。仮想ハードウェアは、それを使うべきゲストOSにだけ、適切なアクセス許可を与えよう。&lt;br /&gt;&lt;br /&gt;仮想ネットワークは、ネットワークをモニターしたい場合に問題になるかも。(ストレージネットワークに関しても同じ)&lt;br /&gt;&lt;br /&gt;"4.4 デスクトップ仮想化プラットフォーム用"&lt;br /&gt;&lt;br /&gt;デスクトップ仮想化とサーバー仮想化の主な違いは、VMイメージの管理。&lt;br /&gt;サーバーでは管理者の自由だが、デスクトップではユーザーが作成・変更・コピー・削除を行う、ということ。&lt;br /&gt;&lt;br /&gt;デスクトップ仮想化を利用場合には、どんな場合にセキュリティを強制するか・しないか、を、決定する必要がある。&lt;br /&gt;また、仮想マシンを、普通のコンピュータとみなす考え方と、アプライアンス(期限が来たら置き換え)とみなす考え方がある。&lt;br /&gt;&lt;br /&gt;セキュアに調整されたデスクトップ用のゲストOSを使うとセキュリティをアップさせることができるよ、&lt;br /&gt;&lt;span style="font-style:italic;"&gt;...以下、そういう話が書いてあるようですが、...あれれ?「Security Recommendations」ってこういうこと?("仮想化を使う上でのセキュリティ注意"でなくて、"デスクトップ仮想化をするとこんないいことある"みたいな逆の話になってません？)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;virtualization.infoの記事も言うように、結構あたりまえ感ありますが、まあ。あ、あと、これDRAFTです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4313177322184209828?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4313177322184209828/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/07/nistnoguide-to-security-for-full.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4313177322184209828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4313177322184209828'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/07/nistnoguide-to-security-for-full.html' title='NISTの「DRAFT Guide to Security for Full Virtualization Technologies(SP800-125ドラフト版)」から'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-865329993741001747</id><published>2010-01-27T06:44:00.031+09:00</published><updated>2011-08-23T19:51:35.058+09:00</updated><title type='text'>1台でHBase, Hive, Pig, HUE(旧Cloudera Desktop)を試してみる(Ubuntu + Cloudera)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、HadoopのHBase, Hive, Pig, HUEを試してみます。&lt;br /&gt;・Ubuntu(1台)でCloudera社のHadoopパッケージ(&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;)を利用します。CDH3のHadoopが動いていることを前提とします。 → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;(手元ではUbuntu 11.04/10.04/9.10/8.04あたりで試していますが、他バージョンやDebian等でも大丈夫だと思います)&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;Hive,Pig等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・Linux(Ubuntu)+Cloudera版Hadoop環境(1台)→ 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;・インターネット接続&lt;br /&gt;・Cloudera社のCDH3のHBase, Hive, Pig, HUEのパッケージ(aptでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;以下の、1. HBase, 2. Pig, 3. Hive, 4. HUEの手順は、独立して試すことができますし、一つの環境でまとめて試すこともできます。(それぞれデータの管理は別々です。)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. HBase&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1-1-1. HBaseをインストールします。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install hadoop-hbase&lt;br /&gt;apt-get -y install hadoop-hbase-master&lt;br /&gt;apt-get -y install hadoop-hbase-regionserver&lt;br /&gt;apt-get -y install hadoop-zookeeper-server&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;1-1-2. 設定を変更する。&lt;br /&gt;&lt;br /&gt;うっすらdistributedモードっぽく動かすために、2つのファイルを変更します。&lt;br /&gt;&lt;br /&gt;・/etc/zookeeper/zoo.cfg&lt;br /&gt;/etc/zookeeper/zoo.cfgの最後の「server.0=localhost:2888:3888」の「localhost」の部分を他のもの(IPアドレス等)に変えます。&lt;br /&gt;&lt;br /&gt;・/etc/hbase/conf/hbase-site.xml&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/hbase/conf/hbase-site.xml&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hbase.zookeeper.quorum&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;&lt;i&gt;zookeeperのzoo.cfg設定にあわせます(IPアドレス等)&lt;/i&gt;&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hbase.rootdir&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;hdfs://localhost:8020/hbase&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hbase.cluster.distributed&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;1-2. サービス起動&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;※ CDH3 beta2やbeta3では、ここで、以下が必要かもしれません。&lt;br /&gt;&lt;blockquote&gt;mkdir /var/run/hbase&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;/etc/init.d/hadoop-zookeeper-server start&lt;br /&gt;/etc/init.d/hadoop-hbase-master start&lt;br /&gt;/etc/init.d/hadoop-hbase-regionserver start&lt;/blockquote&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;jps&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;3148 TaskTracker&lt;br /&gt;3319 Jps&lt;br /&gt;2973 JobTracker&lt;br /&gt;3053 DataNode&lt;br /&gt;2787 HRegionServer&lt;br /&gt;2889 NameNode&lt;br /&gt;3272 HMaster&lt;br /&gt;2376 QuorumPeerMain&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-3. 試してみる。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Hbaseを操作するshellをスタートさせます。&lt;br /&gt;&lt;blockquote&gt;hbase shell&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;HBase Shell; enter 'help&lt;return&gt;' for list of supported commands.&lt;br /&gt;Type "exit&lt;return&gt;" to leave the HBase Shell&lt;br /&gt;Version 0.90.3-cdh3u1, r, Mon Jul 18 08:23:50 PDT 2011&lt;return&gt;&lt;br /&gt;hbase(main):001:0&amp;gt;&lt;/return&gt;&lt;/return&gt;&lt;/return&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以下、hbaseプロンプトにて、version, status, exitあたりを試します。&lt;br /&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;&lt;return&gt;base(main):001:0&amp;gt; &lt;span style="color: blue;"&gt;version&lt;/span&gt;&lt;br /&gt;0.90.3-cdh3u1, r, Mon Jul 18 08:23:50 PDT 2011&lt;br /&gt;hbase(main):002:0&amp;gt; &lt;span style="color: blue;"&gt;status&lt;/span&gt;&lt;br /&gt;1 servers, 0 dead, 2.0000 average load&lt;br /&gt;hbase(main):003:0&amp;gt; &lt;span style="color: blue;"&gt;exit&lt;/span&gt;&lt;/return&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;テーブルを作ったり、&lt;br /&gt;&lt;blockquote&gt;create 'yamanoteline', 'transfer', 'location'&lt;/blockquote&gt;&lt;br /&gt;データをいれてみたり、&lt;br /&gt;&lt;blockquote&gt;put 'yamanoteline', 'Shinagawa', 'location:ku', 'Minato'&lt;br /&gt;put 'yamanoteline', 'Shinagawa', 'transfer:jreast', '3'&lt;br /&gt;put 'yamanoteline', 'Shinagawa', 'transfer:subway', '0'&lt;br /&gt;put 'yamanoteline', 'Shinagawa', 'transfer:other', '2'&lt;br /&gt;&lt;br /&gt;put 'yamanoteline', 'Osaki', 'location:ku', 'Shinagawa'&lt;br /&gt;put 'yamanoteline', 'Osaki', 'transfer:jreast', '2'&lt;br /&gt;put 'yamanoteline', 'Osaki', 'transfer:subway', '0'&lt;br /&gt;put 'yamanoteline', 'Osaki', 'transfer:other', '1'&lt;br /&gt;&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'location:ku', 'Shinagawa'&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'transfer:jreast', '0'&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'transfer:subway', '1'&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'transfer:other', '1'&lt;/blockquote&gt;&lt;br /&gt;データを取得(get)してみたり、検索(scan)してみたりします。&lt;br /&gt;&lt;pre&gt;hbase(main):001:0&amp;gt; &lt;span style="color: blue;"&gt;get 'yamanoteline', 'Osaki'&lt;/span&gt;&lt;br /&gt;COLUMN                  CELL&lt;br /&gt; location:ku            timestamp=1314086040085, value=Shinagawa&lt;br /&gt; transfer:jreast        timestamp=1314086040125, value=2&lt;br /&gt; transfer:other         timestamp=1314086040207, value=1&lt;br /&gt; transfer:subway        timestamp=1314086040165, value=0&lt;br /&gt;4 row(s) in 0.0450 seconds&lt;br /&gt;hbase(main):002:0&amp;gt; &lt;span style="color: blue;"&gt;scan 'yamanoteline', {STARTROW =&amp;gt; 'G', STOPROW =&amp;gt; 'P'}&lt;/span&gt;&lt;br /&gt;ROW                     COLUMN+CELL&lt;br /&gt; Gotanda                column=location:ku, timestamp=1314086040267, value=Shinagawa&lt;br /&gt; Gotanda                column=transfer:jreast, timestamp=1314086040306, value=0&lt;br /&gt; Gotanda                column=transfer:other, timestamp=1314086041294, value=1&lt;br /&gt; Gotanda                column=transfer:subway, timestamp=1314086040379, value=1&lt;br /&gt; Osaki                  column=location:ku, timestamp=1314086040085, value=Shinagawa&lt;br /&gt; Osaki                  column=transfer:jreast, timestamp=1314086040125, value=2&lt;br /&gt; Osaki                  column=transfer:other, timestamp=1314086040207, value=1&lt;br /&gt; Osaki                  column=transfer:subway, timestamp=1314086040165, value=0&lt;br /&gt;2 row(s) in 0.1510 seconds&lt;br /&gt;hbase(main):011:0&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ここで「scan 'yamanoteline'」とすれば全データが取得されます。&lt;br /&gt;&lt;br /&gt;・HDFS上は、/hbase/以下に、難しそうなファイルができます。&lt;br /&gt;・ここで使ったデータは、以下の感じです。(山手線の駅の乗り換え路線数と所在(区))&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;name&lt;/th&gt;&lt;th&gt;transfer:jreast&lt;/th&gt;&lt;th&gt;transfer:subway&lt;/th&gt;&lt;th&gt;transfer:other&lt;/th&gt;&lt;th&gt;location:ku&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shinagawa&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Minato&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Osaki&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Shinagawa&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gotanda&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Shinagawa&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;2. Pig&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install hadoop-pig&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-2. 試してみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;テストファイルをローカル(/var/pigtest.csv)に用意し、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; TESTDATA &amp;gt; /var/tmp/pigtest.csv&lt;br /&gt;Shinagawa,3,0,2 Minato&lt;br /&gt;Osaki,2,0,1,Shinagawa&lt;br /&gt;Gotanda,0,1,1,Shinagawa&lt;br /&gt;Meguro,0,2,1,Shinagawa&lt;br /&gt;Ebisu,2,1,0,Shibuya&lt;br /&gt;Shibuya,2,3,3,Shibuya&lt;br /&gt;Harajuku,0,1,0,Shibuya&lt;br /&gt;Yoyogi,1,1,0,Shibuya&lt;br /&gt;Shinjuku,5,3,3,Shinjuku&lt;br /&gt;TESTDATA&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;テストファイルをHDFS上の/var/pigtest/test置きます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -put /var/tmp/pigtest.csv /var/pigtest/test.csv&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;pigのシェルを起動させ&lt;br /&gt;&lt;blockquote&gt;JAVA_HOME=/usr/lib/jvm/java-6-sun pig&lt;/blockquote&gt;&lt;br /&gt;&lt;pre&gt;2011-08-22 21:59:22,720 [main] INFO  org.apache.pig.Main - Logging error messages to: /root/pig_1314086362718.log&lt;br /&gt;2011-08-22 21:59:23,165 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://localhost:8020&lt;br /&gt;2011-08-22 21:59:23,678 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: localhost:8021&lt;br /&gt;grunt&amp;gt; &lt;/pre&gt;&lt;br /&gt;以下、検索を試してみます。&lt;br /&gt;&lt;blockquote&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;Y1 = LOAD '/var/pigtest/test.csv' USING PigStorage(',')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; AS (name: chararray,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; transfer_jreast: int, transfer_subway: int, transfer_other: int,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; location_ku: chararray);&lt;/span&gt;&lt;br /&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;Y2 = FILTER Y1 BY location_ku MATCHES 'Shibuya';&lt;/span&gt;&lt;br /&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;DUMP Y2;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;...省略（ここでMapreduceが走るので、少し時間がかかります。）...&lt;/b&gt;&lt;br /&gt;ine.mapReduceLayer.MapReduceLauncher - Success!&lt;br /&gt;&lt;span style="color: red;"&gt;(Ebisu,2,1,0,Shibuya)&lt;br /&gt;(Shibuya,2,3,3,Shibuya)&lt;br /&gt;(Harajuku,0,1,0,Shibuya)&lt;br /&gt;(Yoyogi,1,1,0,Shibuya)&lt;/span&gt;&lt;br /&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;QUIT;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Hive&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install hadoop-hive&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3-2. 試してみる。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ローカルに、テスト用のデータファイルを準備します。(果物の色と値段のデータ)&lt;br /&gt;&lt;blockquote&gt;echo -e "apple\0001red\0001100\0012lemon\0001yellow\0001120\0012orange\0001orange\000160" &amp;gt; /var/tmp/data1&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;hiveのシェルを起動させ&lt;br /&gt;&lt;blockquote&gt;hive&lt;/blockquote&gt;&lt;br /&gt;&lt;pre&gt;Hive history file=/tmp/root/hive_job_log_root_200912092154_480111727.txt&lt;br /&gt;hive&amp;gt; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以下、hive上で、データをロードして、SQLっぽいコマンドで少しいじってみます。&lt;br /&gt;テーブルを作成してみます。SHOW TABLESで確認してみます。&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;CREATE TABLE fruits (name STRING, color STRING, price INT);&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;Time taken: 27.504 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SHOW TABLES;&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;fruits&lt;br /&gt;Time taken: 0.288 seconds&lt;/blockquote&gt;&lt;br /&gt;データをロード(果物の色と値段のデータです。)&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;LOAD DATA LOCAL INPATH '/var/tmp/data1' OVERWRITE INTO TABLE fruits;&lt;/span&gt;&lt;br /&gt;Copying data from file:/var/tmp/data1&lt;br /&gt;Loading data to table fruits&lt;br /&gt;OK&lt;br /&gt;Time taken: 1.104 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SELECT * FROM fruits;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;apple red 100&lt;br /&gt;lemon yellow 120&lt;br /&gt;orange orange 60&lt;/span&gt;&lt;br /&gt;Time taken: 0.665 seconds&lt;/blockquote&gt;&lt;br /&gt;データを条件で抽出(80円より安い果物を表示します)&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SELECT * FROM fruits WHERE price &amp;lt; 80;&lt;/span&gt;&lt;br /&gt;Total MapReduce jobs = 1&lt;br /&gt;Number of reduce tasks is set to 0 since there's no reduce operator&lt;br /&gt;Starting Job = job_200912092139_0003, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_200912092139_0003&lt;br /&gt;Kill Command = /usr/lib/hadoop/bin/hadoop job  -Dmapred.job.tracker=localhost:8021 -kill job_200912092139_0003&lt;br /&gt;2009-12-09 09:59:52,112 map = 0%,  reduce =0%&lt;br /&gt;&lt;b&gt;...省略（ここでMapreduceが走るので、少し時間がかかります。）...&lt;/b&gt;&lt;br /&gt;2009-12-09 10:00:34,989 map = 100%,  reduce =100%&lt;br /&gt;Ended Job = job_200912092139_0003&lt;br /&gt;OK&lt;br /&gt;&lt;span style="color: red;"&gt;orange orange 60&lt;/span&gt;&lt;br /&gt;Time taken: 48.499 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;QUIT;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;・JOINなども試せます。&lt;br /&gt;もう一つファイルを用意して、&lt;br /&gt;&lt;blockquote&gt;echo -e "pomme\0001apple\0012citron\0001lemon\0012orange\0001orange" &amp;gt; /var/tmp/data2&lt;/blockquote&gt;&lt;br /&gt;テーブルを作って、ロードします。(果物の名前のフランス語・英語の辞書です。)&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;CREATE TABLE enfr (fr STRING, en STRING);&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;Time taken: 18.98 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;LOAD DATA LOCAL INPATH '/var/tmp/data2' OVERWRITE INTO TABLE enfr;&lt;/span&gt;&lt;br /&gt;Copying data from file:/var/tmp/data2&lt;br /&gt;Loading data to table enfr&lt;br /&gt;OK&lt;br /&gt;Time taken: 1.115 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SELECT * FROM enfr;&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;&lt;span style="color: red;"&gt;pomme apple&lt;br /&gt;citron lemon&lt;br /&gt;orange orange&lt;/span&gt;&lt;br /&gt;Time taken: 0.875 seconds&lt;/blockquote&gt;&lt;br /&gt;JOINを試してみます。(80円以上する果物を、フランス語で表示します。)&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: blue;"&gt;SELECT e.fr, f.price FROM fruits f JOIN enfr e ON f.name = e.en WHERE f.price &amp;gt; 80;&lt;/span&gt;&lt;br /&gt;Total MapReduce jobs = 1&lt;br /&gt;&lt;b&gt;...省略（ここでMapreduceが走るので、少し時間がかかります。）...&lt;/b&gt;&lt;br /&gt;2009-12-15 10:03:10,274 map = 100%,  reduce =100%&lt;br /&gt;Ended Job = job_200912152135_0004&lt;br /&gt;OK&lt;br /&gt;&lt;span style="color: red;"&gt;pomme 100&lt;br /&gt;citron 120&lt;/span&gt;&lt;br /&gt;Time taken: 132.47 seconds&lt;br /&gt;hive&amp;gt; &lt;/blockquote&gt;&lt;br /&gt;・ここで使ったテーブルはこんな感じです。&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;fruits&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;name&lt;/th&gt;&lt;th&gt;color&lt;/th&gt;&lt;th&gt;price&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;apple&lt;/td&gt;&lt;td&gt;red&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;lemon&lt;/td&gt;&lt;td&gt;yellow&lt;/td&gt;&lt;td&gt;120&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;orange&lt;/td&gt;&lt;td&gt;orange&lt;/td&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;enfr&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;fr&lt;/th&gt;&lt;th&gt;en&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;pomme&lt;/td&gt;&lt;td&gt;apple&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;citron&lt;/td&gt;&lt;td&gt;lemon&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;orange&lt;/td&gt;&lt;td&gt;orange&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;・もっとためすには、例えば、&lt;a href="http://wiki.apache.org/hadoop/Hive/GettingStarted"&gt;こちら&lt;/a&gt;&lt;br /&gt;・HDFS上には、/user/hive/warehouse/以下にファイルができてたりします。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. HUE(Hadoop User Experience)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;HUEは、Cloudera Desktopの新しい名前です。以下は、CDH3beta3の記事、すいません、CDH3(ベータ無し)では、未確認です。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4-1-1.パッケージのインストール&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install hue hue-plugins&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;4-1-3. 設定ファイルの準備&lt;br /&gt;&lt;br /&gt;一台構成のお手軽設定(hadoop-0.20-conf-pseudo-hue)を使っている人は、特に何もしなくてもよさそうです。が、もしかすると、/etc/hue/hue.iniのうしろのnamenode_hostやjobtracker_hostを変更したほうがいいかも。&lt;br /&gt;&lt;br /&gt;そうでない人は、おおむね以下を書き換えます。&lt;br /&gt;・/etc/hadoop/conf.pseudo.clouderadesktop/hdfs-site.xmlに以下を追加します。&lt;br /&gt;(&amp;lt;configuration&amp;gt;と&amp;lt;/configuration&amp;gt;の間に)&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.namenode.plugins&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;org.apache.hadoop.thriftfs.NamenodePlugin&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Comma-separated list of namenode plug-ins to be activated.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.datanode.plugins&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;org.apache.hadoop.thriftfs.DatanodePlugin&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Comma-separated list of datanode plug-ins to be activated.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.thrift.address&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;0.0.0.0:9090&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;・/etc/hadoop/conf.pseudo.clouderadesktop/mapred-site.xmlに以下を追加します。&lt;br /&gt;(&amp;lt;configuration&amp;gt;と&amp;lt;/configuration&amp;gt;の間に)&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;jobtracker.thrift.address&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;0.0.0.0:9290&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;mapred.jobtracker.plugins&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Comma-separated list of jobtracker plug-ins to be activated.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;4-1-2. サービスのスタート&lt;br /&gt;&lt;blockquote&gt;/etc/init.d/hadoop-0.20-namenode restart&lt;br /&gt;/etc/init.d/hadoop-0.20-datanode restart&lt;br /&gt;/etc/init.d/hadoop-0.20-jobtracker restart&lt;br /&gt;/etc/init.d/hadoop-0.20-tasktracker restart&lt;br /&gt;/etc/init.d/hue start&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;4-1-3. firewallの設定&lt;br /&gt;&lt;br /&gt;tcpの8088が空いている必要があります。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4-2. 使ってみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Webブラウザ(Firefox)から、&lt;br /&gt;http://ホスト:8088/&lt;br /&gt;を閲覧します。&lt;br /&gt;&lt;br /&gt;ログイン画面がでたら、例えば、&lt;br /&gt;username=hadoop, password=hadoop&lt;br /&gt;と入れてログインし、いろいろと試してみます。&lt;br /&gt;&lt;br /&gt;ログイン画面(usernameとpasswordを入力する画面)が出ない場合は、&lt;br /&gt;ブラウザのエンコード設定(表示→エンコーディング)を、西欧やUnicodeにして試してみます。&lt;br /&gt;&lt;br /&gt;ログイン画面例&lt;br /&gt;&lt;img border="0" height="149" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjMDqpttrI/AAAAAAAAAB4/oFy72EuMrS8/s200/hug1.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;ログイン後画面例&lt;br /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjlHF0JAKI/AAAAAAAAACg/LbQAl8UmXWo/s200/hug-hive0.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;下部パネルの右のアイコンからいろいろな機能を利用できます。HDFSの中身をみたり(&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjnSGgXsFI/AAAAAAAAACo/o6Pjw_UcC5Q/s320/filebrowser.PNG" /&gt;)、&lt;br /&gt;MapReduce関連の管理・操作をしたり(&lt;img border="0" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjnY89mbfI/AAAAAAAAAC4/f3GDpJneGVc/s320/jobdesigner.PNG" /&gt;,&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjnWAIrVbI/AAAAAAAAACw/hh8DxB9OSBc/s320/jobbrowser.PNG" /&gt;)することができます。&lt;br /&gt;これらは、Cloudera Desktopのころからあった機能です。&lt;br /&gt;新入りは、Beeswax for Hive(Hiveの操作画面)です。(&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjn1M_XfHI/AAAAAAAAADA/lTybXcPxpQ8/s320/beeswaxforhive.PNG" /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4-3. Hive操作画面(Beeswax for Hive)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Hive操作画面例&lt;br /&gt;&lt;img border="0" height="136" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/TGjk6cbxKeI/AAAAAAAAACY/KI8KBvlqyH4/s200/hug-hive00.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;HDFS上のファイルから、テーブルを作ったり、&lt;br /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjpJJWZ1KI/AAAAAAAAADI/2OrZeXtntKw/s200/hug4-newtable1.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjpL9d2kNI/AAAAAAAAADQ/RXJha87jHNU/s200/hug4-newtable2.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/TGjpQUZVjUI/AAAAAAAAADY/DRE9tdu7wCc/s200/hug4-newtable3.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjpUfT6ScI/AAAAAAAAADg/tsUNkMhmUrk/s200/hug4-newtable4.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;QUERYの保存や実行等をすることができます。&lt;br /&gt;&lt;img border="0" height="136" src="http://3.bp.blogspot.com/_5UO6o0y_m5I/TGjpYURv7WI/AAAAAAAAADo/5aeU21jaYJU/s200/hug3-hive-query1-query.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjpcJ1dV-I/AAAAAAAAADw/Hhlv0hy-gfc/s200/hug3-hive-query2-computing.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjpgEnbbLI/AAAAAAAAAD4/Werufci0W0o/s200/hug3-hive-query3-result.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-865329993741001747?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/865329993741001747/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/865329993741001747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/865329993741001747'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html' title='1台でHBase, Hive, Pig, HUE(旧Cloudera Desktop)を試してみる(Ubuntu + Cloudera)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjMDqpttrI/AAAAAAAAAB4/oFy72EuMrS8/s72-c/hug1.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-3020781015918389608</id><published>2009-12-19T08:01:00.003+09:00</published><updated>2010-08-21T14:34:18.146+09:00</updated><title type='text'>5台構成のまじめなHadoopクラスタ(CentOS + Cloudera)</title><content type='html'>&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;で作った4台構成のHadoopにセカンダリーマスターを追加します。&lt;br /&gt;&lt;br /&gt;同じ構成のサーバーを一つ追加します。&lt;br /&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;の、0準備と1インストールは同じです。&lt;br /&gt;&lt;br /&gt;2. インストール: 各サーバーにて&lt;br /&gt;&lt;br /&gt;2-1. セカンダリーマスターノード&lt;br /&gt;&lt;br /&gt;セカンダリーマスターノードにて、rootで作業します。&lt;br /&gt;&lt;br /&gt;サービス起動&lt;br /&gt;&lt;blockquote&gt;service hadoop-0.20-secondarynamenode start&lt;/blockquote&gt;&lt;br /&gt;サービス登録&lt;br /&gt;&lt;blockquote&gt;chkconfig --add hadoop-0.20-secondarynamenode&lt;/blockquote&gt;&lt;br /&gt;Firewall設定：とりあえずOffで。&lt;br /&gt;&lt;br /&gt;定期的に、マスターノードのログがまるめられて、セカンダリーマスターへデータが保存されます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-3020781015918389608?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/3020781015918389608/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2009/12/5hadoopcentoscloudera.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3020781015918389608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/3020781015918389608'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2009/12/5hadoopcentoscloudera.html' title='5台構成のまじめなHadoopクラスタ(CentOS + Cloudera)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-124181914498229219</id><published>2009-12-19T07:39:00.007+09:00</published><updated>2010-01-06T10:28:55.311+09:00</updated><title type='text'>Hadoop動作確認</title><content type='html'>ざっとHadoopの動作確認のことを書いておきます。&lt;br /&gt;&lt;br /&gt;Hadoop-0.20の基本(HDFSとMapReduce)動作の確認です。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. 正常動作の確認&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-1. Web UIから概要確認&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-1-1. HDFS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://ネームノード:50070/を閲覧して以下を確認します。&lt;br /&gt;&lt;br /&gt;・http://ネームノード:50070/dfshealth.jspへリダイレクトされること。&lt;br /&gt;・トップページの内容を確認&lt;br /&gt;　- 一行目が「NameNode 'ネームノード名:ネームノードのポート'」であること。&lt;br /&gt;　- ポートは、core-site.xmlのfs.default.nameのポート&lt;br /&gt;　　例 「NameNode 'nm01:8020'」&lt;br /&gt;　- Started:, Version: が、適切な値であること。&lt;br /&gt;　- "Browse the filesystem"のリンクをたどって、次のページが、「Contents of directory /」で、正常に表示されること。&lt;br /&gt;　- Cluster Summaryで、&lt;br /&gt;　　- Live Nodesの数が適切（データノードの数）であること。&lt;br /&gt;　　- Dead Nodesが0であること。&lt;br /&gt;　- Live Nodesのリンクをたどって、次のページが、データノード一覧が正しいか確認。&lt;br /&gt;　- NameNode Storageが、期待通りであること。&lt;br /&gt;　　- TypeがIMAGE_AND_EDITSであること。&lt;br /&gt;　　- StateがActiveであること&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-1-2. MapReduce&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://ネームノード:50070/を閲覧して、以下を確認します。&lt;br /&gt;&lt;br /&gt;・http://ネームノード:50070/jobtracker.jspへリダイレクトされること。&lt;br /&gt;・トップページの内容を確認&lt;br /&gt;　- 一行目が「ネームノード名 Hadoop Map/Reduce Administration」であること。&lt;br /&gt;　　例 「nm01 Hadoop Map/Reduce Administration」&lt;br /&gt;　- StateがRUNNINGであること。&lt;br /&gt;　- Started:, Version: が、適切な値であること。&lt;br /&gt;　- Cluster Summaryで、Nodesの数が適切（タスクトラッカーのノードの数）であること。&lt;br /&gt;　- Nodes数のリンクをたどって、次のページが、タスクトラッカーのノード一覧が正しこと。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2. CLIから、サーバー内の様子を確認&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・各ノードでhadoop関連のjavaのサービス起動状況を確認(jpsコマンド)&lt;br /&gt;・各ログを確認&lt;br /&gt;・マスターノードのデータを確認：セカンダリーマスターによるログの切り捨て&lt;br /&gt;・セカンダリーマスターノードのデータを確認：マスターからデータがコピーされていること&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-3. CLIからテストを実行&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・HDFSで、フォルダを追加する、削除する、ファイルを置く、見る、削除する&lt;br /&gt;・MapReduceでサンプルを実行し結果を確認する。&lt;br /&gt;　- 計算規模を設定できるサンプルで全ノードの動作テスト(pi計算など)&lt;br /&gt;　- 明示的にHDFS上に置いたファイルを使ったテスト(wordcountなど)&lt;br /&gt;&lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-124181914498229219?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/124181914498229219/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2009/12/hadoop.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/124181914498229219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/124181914498229219'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2009/12/hadoop.html' title='Hadoop動作確認'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-4939244434603585303</id><published>2009-12-09T20:52:00.116+09:00</published><updated>2011-08-23T19:53:20.558+09:00</updated><title type='text'>1台でHBase, Hive, Pig, HUE(旧Cloudera Desktop)を試してみる(CentOS + Cloudera)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、HadoopのHBase, Hive, Pig, HUE(旧Cloudera Desktop)を試してみます。&lt;br /&gt;・CentOS(1台)でCloudera社のHadoopパッケージ(&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;)を利用します。Hadoop環境(CDH3)の構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/10/1oozieubuntu-clouderacdh3-beta3.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・Linux(CentOS)+Cloudera版Hadoop環境CDH3(1台) → 構築方法は&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;・インターネット接続&lt;br /&gt;・Cloudera社のHBase,Hive,Pig,HUEのパッケージ(yumでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;以下の、1. HBase, 2. Pig, 3. Hive, 4. HUE(旧Cloudera Desktop)の手順は、独立して試すことができますし、一つの環境でまとめて試すこともできます。(それぞれデータの管理は別々です。)&lt;br /&gt;&lt;br /&gt;ここでは、Cloudera社のCDH3リポジトリが必要ですので、既に設定されていないか確認します。&lt;br /&gt;&lt;blockquote&gt;ls /etc/yum.repos.d/&lt;/blockquote&gt;で、cloudera-cdh3.repoが存在すれば、OKのはずです。無い場合は、CDHのhadoopのインストール方法を確認してください。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. HBase&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;CDH3(beta2以降)のHBaseは、以前(contrib)から、パッケージ名やディレクトリ名がだいぶ変更されているので注意です。ここでは、CDH3にあわせて書いてあります。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1-1-1. HBaseをインストールします。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum -y install hadoop-hbase&lt;br /&gt;yum -y install hadoop-hbase-master&lt;br /&gt;yum -y install hadoop-hbase-regionserver&lt;br /&gt;yum -y install hadoop-zookeeper-server&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;yum list hadoop-hbase-*&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;Installed Packages&lt;br /&gt;hadoop-hbase.noarch                                                  0.90.3+15.3-1                                      installedhadoop-hbase-master.noarch                                           0.90.3+15.3-1                                      installed&lt;br /&gt;hadoop-hbase-regionserver.noarch                                     0.90.3+15.3-1                                      installed&lt;br /&gt;Available Packages&lt;br /&gt;hadoop-hbase-doc.noarch                                              0.90.3+15.3-1                                      cloudera-cdh3&lt;br /&gt;hadoop-hbase-thrift.noarch                                           0.90.3+15.3-1  &lt;/pre&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;yum list hadoop-zookeeper*&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;Installed Packages&lt;br /&gt;hadoop-zookeeper.noarch                                               3.3.3+12.12-1                                         installed&lt;br /&gt;hadoop-zookeeper-server.noarch                                        3.3.3+12.12-1 &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1-1-3. 設定を変更する。&lt;br /&gt;&lt;br /&gt;うっすらdistributedモードっぽく動かすために、2つのファイルを変更します。&lt;br /&gt;&lt;br /&gt;・/etc/zookeeper/zoo.cfg&lt;br /&gt;/etc/zookeeper/zoo.cfgの最後の「server.0=localhost:2888:3888」の「localhost」の部分を他のもの(IPアドレス等)に変えます。&lt;br /&gt;&lt;br /&gt;・/etc/hbase/conf/hbase-site.xml&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/hbase/conf/hbase-site.xml&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hbase.zookeeper.quorum&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;&lt;i&gt;zookeeperのzoo.cfg設定にあわせます(IPアドレス等)&lt;/i&gt;&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hbase.rootdir&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;hdfs://localhost:8020/hbase&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;hbase.cluster.distributed&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;true&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;1-2. サービス起動&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;service hadoop-zookeeper-server start&lt;br /&gt;service hadoop-hbase-master start&lt;br /&gt;service hadoop-hbase-regionserver start&lt;/blockquote&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;/usr/java/default/bin/jps&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;4588 Jps&lt;br /&gt;3303 TaskTracker&lt;br /&gt;3161 JobTracker&lt;br /&gt;3224 DataNode&lt;br /&gt;3107 NameNode&lt;br /&gt;4395 HMaster&lt;br /&gt;4549 HRegionServer&lt;br /&gt;4325 QuorumPeerMain&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-3. 試してみる。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Hbaseを操作するshellをスタートさせます。&lt;br /&gt;&lt;blockquote&gt;hbase shell&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;HBase Shell; enter 'help&amp;lt;RETURN&amp;gt;' for list of supported commands.&lt;br /&gt;Type "exit&amp;lt;RETURN&amp;gt;" to leave the HBase Shell&lt;br /&gt;Version 0.90.3-cdh3u1, r, Mon Jul 18 08:23:50 PDT 2011&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以下、hbaseプロンプトにて、version, status, exitあたりを試します。&lt;br /&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;HBase Shell; enter 'help&lt;return&gt;' for list of supported commands.&lt;br /&gt;Version: 0.89.20100924+28, r, Mon Oct 11 09:52:07 PDT 2010&lt;br /&gt;hbase(main):001:0&amp;gt; &lt;span style="color: blue;"&gt;version&lt;/span&gt;&lt;br /&gt;Version: 0.89.20100924+28, r, Mon Oct 11 09:52:07 PDT 2010&lt;br /&gt;hbase(main):002:0&amp;gt; &lt;span style="color: blue;"&gt;status&lt;/span&gt;&lt;br /&gt;1 servers, 0 dead, 2.0000 average load&lt;br /&gt;hbase(main):003:0&amp;gt; &lt;span style="color: blue;"&gt;exit&lt;/span&gt;&lt;/return&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;テーブルを作ったり、&lt;br /&gt;&lt;blockquote&gt;create 'yamanoteline', 'transfer', 'location'&lt;/blockquote&gt;&lt;br /&gt;データをいれてみたり、&lt;br /&gt;&lt;blockquote&gt;put 'yamanoteline', 'Shinagawa', 'location:ku', 'Minato'&lt;br /&gt;put 'yamanoteline', 'Shinagawa', 'transfer:jreast', '3'&lt;br /&gt;put 'yamanoteline', 'Shinagawa', 'transfer:subway', '0'&lt;br /&gt;put 'yamanoteline', 'Shinagawa', 'transfer:other', '2'&lt;br /&gt;&lt;br /&gt;put 'yamanoteline', 'Osaki', 'location:ku', 'Shinagawa'&lt;br /&gt;put 'yamanoteline', 'Osaki', 'transfer:jreast', '2'&lt;br /&gt;put 'yamanoteline', 'Osaki', 'transfer:subway', '0'&lt;br /&gt;put 'yamanoteline', 'Osaki', 'transfer:other', '1'&lt;br /&gt;&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'location:ku', 'Shinagawa'&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'transfer:jreast', '0'&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'transfer:subway', '1'&lt;br /&gt;put 'yamanoteline', 'Gotanda', 'transfer:other', '1'&lt;/blockquote&gt;&lt;br /&gt;データを取得(get)してみたり、検索(scan)してみたりします。&lt;br /&gt;&lt;pre&gt;hbase(main):001:0&amp;gt; &lt;span style="color: blue;"&gt;get 'yamanoteline', 'Osaki'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;COLUMN                       CELL&lt;br /&gt;location:ku                 timestamp=1260874378675, value=Shinagawa&lt;br /&gt;transfer:jreast             timestamp=1260874469780, value=2&lt;br /&gt;transfer:other              timestamp=1260874574851, value=1&lt;br /&gt;transfer:subway             timestamp=1260874519709, value=0&lt;br /&gt;4 row(s) in 0.8230 seconds&lt;br /&gt;hbase(main):002:0&amp;gt; &lt;span style="color: blue;"&gt;scan 'yamanoteline', {STARTROW =&amp;gt; 'G', STOPROW =&amp;gt; 'P'}&lt;/span&gt;&lt;br /&gt;ROW     COLUMN+CELL&lt;br /&gt;Gotanda  column=location:ku,    timestamp=1262587519391, value=Shinagawa &lt;br /&gt;Gotanda column=transfer:jreast, timestamp=1262587519537, value=0     &lt;br /&gt;Gotanda column=transfer:other,  timestamp=1262587519881, value=1      &lt;br /&gt;Gotanda column=transfer:subway, timestamp=1262587519689, value=1&lt;br /&gt;Osaki   column=location:ku,     timestamp=1260874378652, value=Shinagawa&lt;br /&gt;Osaki   column=transfer:jreast, timestamp=1260874469255, value=2&lt;br /&gt;Osaki   column=transfer:other,  timestamp=1260874574371, value=1&lt;br /&gt;Osaki   column=transfer:subway, timestamp=1260874519324, value=0&lt;br /&gt;8 row(s) in 0.2450 seconds&lt;br /&gt;hbase(main):011:0&amp;gt;&lt;/pre&gt;&lt;br /&gt;ここで「scan 'yamanoteline'」とすれば全データが取得されます。&lt;br /&gt;&lt;br /&gt;・HDFS上は、/hbase/以下に、難しそうなファイルができます。&lt;br /&gt;・ここで使ったデータは、以下の感じです。(山手線の駅の乗り換え路線数と所在(区))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;name&lt;/th&gt;&lt;th&gt;transfer:jreast&lt;/th&gt;&lt;th&gt;transfer:subway&lt;/th&gt;&lt;th&gt;transfer:other&lt;/th&gt;&lt;th&gt;location:ku&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Shinagawa&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Minato&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Osaki&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Shinagawa&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gotanda&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Shinagawa&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Pig&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum -y install hadoop-pig&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...(略)&lt;br /&gt;Installed:&lt;br /&gt;hadoop-pig.noarch 0:0.7.0+9-1                                             &lt;br /&gt;&lt;br /&gt;Complete!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-2. 試してみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;テストファイルをローカル(/var/tmp/pigtest.csv)に用意し、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; TESTDATA &amp;gt; /var/tmp/pigtest.csv&lt;br /&gt;Shinagawa,3,0,2 Minato&lt;br /&gt;Osaki,2,0,1,Shinagawa&lt;br /&gt;Gotanda,0,1,1,Shinagawa&lt;br /&gt;Meguro,0,2,1,Shinagawa&lt;br /&gt;Ebisu,2,1,0,Shibuya&lt;br /&gt;Shibuya,2,3,3,Shibuya&lt;br /&gt;Harajuku,0,1,0,Shibuya&lt;br /&gt;Yoyogi,1,1,0,Shibuya&lt;br /&gt;Shinjuku,5,3,3,Shinjuku&lt;br /&gt;TESTDATA&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;テストファイルをHDFS上の/var/pigtest/test置きます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -put /var/tmp/pigtest.csv /var/pigtest/test.csv&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;pigのシェルを起動させ&lt;br /&gt;&lt;blockquote&gt;JAVA_HOME=/usr/java/default/ pig&lt;/blockquote&gt;&lt;br /&gt;&lt;pre&gt;2009-12-09 21:43:46,430 [main] INFO  org.apache.pig.Main - Logging error messages to: /etc/hadoop-0.20/conf.pseudo/pig_1260362626428.log&lt;br /&gt;2009-12-09 21:43:47,684 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://localhost:8020&lt;br /&gt;2009-12-09 21:43:49,200 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: localhost:8021&lt;br /&gt;&lt;br /&gt;grunt&amp;gt; &lt;/pre&gt;&lt;br /&gt;以下、検索を試してみます。&lt;br /&gt;&lt;blockquote&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;Y1 = LOAD '/var/pigtest/test.csv' USING PigStorage(',')&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; AS (name: chararray,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; transfer_jreast: int, transfer_subway: int, transfer_other: int,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt; location_ku: chararray);&lt;/span&gt;&lt;br /&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;Y2 = FILTER Y1 BY location_ku MATCHES 'Shibuya';&lt;/span&gt;&lt;br /&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;DUMP Y2;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;...省略（ここでMapreduceが走るので、少し時間がかかります。）...&lt;/b&gt;&lt;br /&gt;ine.mapReduceLayer.MapReduceLauncher - Success!&lt;br /&gt;&lt;span style="color: red;"&gt;(Ebisu,2,1,0,Shibuya)&lt;br /&gt;(Shibuya,2,3,3,Shibuya)&lt;br /&gt;(Harajuku,0,1,0,Shibuya)&lt;br /&gt;(Yoyogi,1,1,0,Shibuya)&lt;/span&gt;&lt;br /&gt;grunt&amp;gt; &lt;span style="color: blue;"&gt;QUIT;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Hive&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum -y install hadoop-hive&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...(略)&lt;br /&gt;Installed:                                         &lt;br /&gt;hadoop-hive.noarch 0:0.5.0+32-2&lt;br /&gt;&lt;br /&gt;Complete!&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3-2. 試してみる。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ローカルに、テスト用のデータファイルを準備します。(果物の色と値段のデータ)&lt;br /&gt;&lt;blockquote&gt;echo -e "apple\0001red\0001100\0012lemon\0001yellow\0001120\0012orange\0001orange\000160" &amp;gt; /var/tmp/data1&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;hiveのシェルを起動させ&lt;br /&gt;&lt;blockquote&gt;hive&lt;/blockquote&gt;&lt;br /&gt;&lt;pre&gt;Hive history file=/tmp/root/hive_job_log_root_200912092154_480111727.txt&lt;br /&gt;hive&amp;gt; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以下、hive上で、データをロードして、SQLっぽいコマンドで少しいじってみます。&lt;br /&gt;テーブルを作成してみます。SHOW TABLESで確認してみます。&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;CREATE TABLE fruits (name STRING, color STRING, price INT);&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;Time taken: 27.504 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SHOW TABLES;&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;fruits&lt;br /&gt;Time taken: 0.288 seconds&lt;/blockquote&gt;&lt;br /&gt;データをロード(果物の色と値段のデータです。)&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;LOAD DATA LOCAL INPATH '/var/tmp/data1' OVERWRITE INTO TABLE fruits;&lt;/span&gt;&lt;br /&gt;Copying data from file:/var/tmp/data1&lt;br /&gt;Loading data to table fruits&lt;br /&gt;OK&lt;br /&gt;Time taken: 1.104 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SELECT * FROM fruits;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;apple red 100&lt;br /&gt;lemon yellow 120&lt;br /&gt;orange orange 60&lt;/span&gt;&lt;br /&gt;Time taken: 0.665 seconds&lt;/blockquote&gt;&lt;br /&gt;データを条件で抽出(80円より安い果物を表示します)&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SELECT * FROM fruits WHERE price &amp;lt; 80;&lt;/span&gt;&lt;br /&gt;Total MapReduce jobs = 1&lt;br /&gt;Number of reduce tasks is set to 0 since there's no reduce operator&lt;br /&gt;Starting Job = job_200912092139_0003, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_200912092139_0003&lt;br /&gt;Kill Command = /usr/lib/hadoop/bin/hadoop job  -Dmapred.job.tracker=localhost:8021 -kill job_200912092139_0003&lt;br /&gt;2009-12-09 09:59:52,112 map = 0%,  reduce =0%&lt;br /&gt;&lt;b&gt;...省略（ここでMapreduceが走るので、少し時間がかかります。）...&lt;/b&gt;&lt;br /&gt;2009-12-09 10:00:34,989 map = 100%,  reduce =100%&lt;br /&gt;Ended Job = job_200912092139_0003&lt;br /&gt;OK&lt;br /&gt;&lt;span style="color: red;"&gt;orange orange 60&lt;/span&gt;&lt;br /&gt;Time taken: 48.499 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;QUIT;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;・JOINなども試せます。&lt;br /&gt;もう一つファイルを用意して、&lt;br /&gt;&lt;blockquote&gt;echo -e "pomme\0001apple\0012citron\0001lemon\0012orange\0001orange" &amp;gt; /var/tmp/data2&lt;/blockquote&gt;&lt;br /&gt;テーブルを作って、ロードします。(果物の名前のフランス語・英語の辞書です。)&lt;br /&gt;&lt;blockquote&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;CREATE TABLE enfr (fr STRING, en STRING);&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;Time taken: 18.98 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;LOAD DATA LOCAL INPATH '/var/tmp/data2' OVERWRITE INTO TABLE enfr;&lt;/span&gt;&lt;br /&gt;Copying data from file:/var/tmp/data2&lt;br /&gt;Loading data to table enfr&lt;br /&gt;OK&lt;br /&gt;Time taken: 1.115 seconds&lt;br /&gt;hive&amp;gt; &lt;span style="color: blue;"&gt;SELECT * FROM enfr;&lt;/span&gt;&lt;br /&gt;OK&lt;br /&gt;&lt;span style="color: red;"&gt;pomme apple&lt;br /&gt;citron lemon&lt;br /&gt;orange orange&lt;/span&gt;&lt;br /&gt;Time taken: 0.875 seconds&lt;/blockquote&gt;&lt;br /&gt;JOINを試してみます。(80円以上する果物を、フランス語で表示します。)&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: blue;"&gt;SELECT e.fr, f.price FROM fruits f JOIN enfr e ON f.name = e.en WHERE f.price &amp;gt; 80;&lt;/span&gt;&lt;br /&gt;Total MapReduce jobs = 1&lt;br /&gt;&lt;b&gt;...省略（ここでMapreduceが走るので、少し時間がかかります。）...&lt;/b&gt;&lt;br /&gt;2009-12-15 10:03:10,274 map = 100%,  reduce =100%&lt;br /&gt;Ended Job = job_200912152135_0004&lt;br /&gt;OK&lt;br /&gt;&lt;span style="color: red;"&gt;pomme 100&lt;br /&gt;citron 120&lt;/span&gt;&lt;br /&gt;Time taken: 132.47 seconds&lt;br /&gt;hive&amp;gt; &lt;/blockquote&gt;&lt;br /&gt;・ここで使ったテーブルはこんな感じです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;fruits&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;th&gt;name&lt;/th&gt;&lt;th&gt;color&lt;/th&gt;&lt;th&gt;price&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;apple&lt;/td&gt;&lt;td&gt;red&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;lemon&lt;/td&gt;&lt;td&gt;yellow&lt;/td&gt;&lt;td&gt;120&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;orange&lt;/td&gt;&lt;td&gt;orange&lt;/td&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;enfr&lt;/caption&gt; &lt;tbody&gt;&lt;tr&gt;&lt;th&gt;fr&lt;/th&gt;&lt;th&gt;en&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;pomme&lt;/td&gt;&lt;td&gt;apple&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;citron&lt;/td&gt;&lt;td&gt;lemon&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;orange&lt;/td&gt;&lt;td&gt;orange&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;・もっとためすには、例えば、&lt;a href="http://wiki.apache.org/hadoop/Hive/GettingStarted"&gt;こちら&lt;/a&gt;&lt;br /&gt;・HDFS上には、/user/hive/warehouse/以下にファイルができてたりします。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. HUE(Hadoop User Experience)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;HUEは、Cloudera Desktopの新しい名前みたいで、CDH3に入っています。以下は、CDH3 beta3での手順です。(すいません、以下は、まだ、betaではないCDH3では未確認です。)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4-1. インストール: Linux環境にて、rootで作業します。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;4-1-1.パッケージのインストール&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum install hue hue-plugins&lt;/blockquote&gt;&lt;br /&gt;4-1-3. 設定ファイルの準備&lt;br /&gt;&lt;br /&gt;一台構成のお手軽設定(hadoop-0.20-conf-pseudo)を使っている人は、特に何もしなくてもよさそうです。が、もしかすると、/etc/hue/hue.iniのうしろのnamenode_hostやjobtracker_hostを変更したほうがいいかも。&lt;br /&gt;&lt;br /&gt;そうでない人は、おおむね以下を書き換えます。&lt;br /&gt;・/etc/hadoop/conf.pseudo.clouderadesktop/hdfs-site.xmlに以下を追加します。&lt;br /&gt;(&amp;lt;configuration&amp;gt;と&amp;lt;/configuration&amp;gt;の間に)&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.namenode.plugins&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;org.apache.hadoop.thriftfs.NamenodePlugin&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Comma-separated list of namenode plug-ins to be activated.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.datanode.plugins&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;org.apache.hadoop.thriftfs.DatanodePlugin&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Comma-separated list of datanode plug-ins to be activated.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.thrift.address&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;0.0.0.0:9090&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;・/etc/hadoop/conf.pseudo.clouderadesktop/mapred-site.xmlに以下を追加します。&lt;br /&gt;(&amp;lt;configuration&amp;gt;と&amp;lt;/configuration&amp;gt;の間に)&lt;br /&gt;&lt;blockquote&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;jobtracker.thrift.address&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;0.0.0.0:9290&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;mapred.jobtracker.plugins&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Comma-separated list of jobtracker plug-ins to be activated.&lt;br /&gt;&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;4-1-2. サービスのスタート&lt;br /&gt;&lt;blockquote&gt;service hadoop-0.20-namenode restart&lt;br /&gt;service hadoop-0.20-datanode restart&lt;br /&gt;service hadoop-0.20-jobtracker restart&lt;br /&gt;service hadoop-0.20-tasktracker restart&lt;br /&gt;service hue start&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;4-1-3. firewallの設定&lt;br /&gt;&lt;br /&gt;tcpの8088が空いている必要があります。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4-2. 使ってみる&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Webブラウザ(Firefox)から、&lt;br /&gt;http://ホスト:8088/&lt;br /&gt;を閲覧します。&lt;br /&gt;&lt;br /&gt;ログイン画面がでたら、例えば、&lt;br /&gt;username=hadoop, password=hadoop&lt;br /&gt;と入れてログインし、いろいろと試してみます。&lt;br /&gt;&lt;br /&gt;(ログイン画面(usernameとpasswordを入力する画面)が出ない場合は、&lt;br /&gt;ブラウザのエンコード設定(表示→エンコーディング)を、西欧やUnicodeにして試してみます。)&lt;br /&gt;&lt;br /&gt;ログイン画面例&lt;br /&gt;&lt;img border="0" height="149" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjMDqpttrI/AAAAAAAAAB4/oFy72EuMrS8/s200/hug1.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;ログイン後画面例&lt;br /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjlHF0JAKI/AAAAAAAAACg/LbQAl8UmXWo/s200/hug-hive0.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;下部パネルの右のアイコンからいろいろな機能を利用できます。HDFSの中身をみたり(&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjnSGgXsFI/AAAAAAAAACo/o6Pjw_UcC5Q/s320/filebrowser.PNG" /&gt;)、&lt;br /&gt;MapReduce関連の管理・操作をしたり(&lt;img border="0" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjnY89mbfI/AAAAAAAAAC4/f3GDpJneGVc/s320/jobdesigner.PNG" /&gt;,&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjnWAIrVbI/AAAAAAAAACw/hh8DxB9OSBc/s320/jobbrowser.PNG" /&gt;)することができます。&lt;br /&gt;これらは、Cloudera Desktopのころからあった機能です。&lt;br /&gt;新入りは、Beeswax for Hive(Hiveの操作画面)です。(&lt;img border="0" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjn1M_XfHI/AAAAAAAAADA/lTybXcPxpQ8/s320/beeswaxforhive.PNG" /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4-3. Hive操作画面(Beeswax for Hive)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Hive操作画面例&lt;br /&gt;&lt;img border="0" height="136" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/TGjk6cbxKeI/AAAAAAAAACY/KI8KBvlqyH4/s200/hug-hive00.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;HDFS上のファイルから、テーブルを作ったり、&lt;br /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjpJJWZ1KI/AAAAAAAAADI/2OrZeXtntKw/s200/hug4-newtable1.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjpL9d2kNI/AAAAAAAAADQ/RXJha87jHNU/s200/hug4-newtable2.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/TGjpQUZVjUI/AAAAAAAAADY/DRE9tdu7wCc/s200/hug4-newtable3.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjpUfT6ScI/AAAAAAAAADg/tsUNkMhmUrk/s200/hug4-newtable4.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;QUERYの保存や実行等をすることができます。&lt;br /&gt;&lt;img border="0" height="136" src="http://3.bp.blogspot.com/_5UO6o0y_m5I/TGjpYURv7WI/AAAAAAAAADo/5aeU21jaYJU/s200/hug3-hive-query1-query.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/_5UO6o0y_m5I/TGjpcJ1dV-I/AAAAAAAAADw/Hhlv0hy-gfc/s200/hug3-hive-query2-computing.PNG" width="200" /&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjpgEnbbLI/AAAAAAAAAD4/Werufci0W0o/s200/hug3-hive-query3-result.PNG" width="200" /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;以上&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-4939244434603585303?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/4939244434603585303/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4939244434603585303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/4939244434603585303'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html' title='1台でHBase, Hive, Pig, HUE(旧Cloudera Desktop)を試してみる(CentOS + Cloudera)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5UO6o0y_m5I/TGjMDqpttrI/AAAAAAAAAB4/oFy72EuMrS8/s72-c/hug1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-469738810943566122</id><published>2009-11-12T07:04:00.069+09:00</published><updated>2011-08-23T20:00:03.682+09:00</updated><title type='text'>1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、Hadoopを体験してみる方法です。&lt;br /&gt;・HDFSにちょっとファイルを置いてみたり、少しMapReduceジョブを動かしてみます。&lt;br /&gt;・Ubuntuと&lt;a href="http://www.cloudera.com/"&gt;Cloudera社&lt;/a&gt;版のHadoopディストリビューションパッケージ&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;(無料)を利用します。(debパッケージなので、インストール・アンインストール、サービス起動・停止等が楽です)&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;(参考) Cloudera社のHadoopパッケージの情報 &lt;a href="http://archive.cloudera.com/docs/"&gt;http://archive.cloudera.com/docs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・UbuntuやdebianのLinux環境1台(手元ではUbuntu Server 11.04/10.04/9.10/8.04, debian 5あたりで試していますが、他バージョンでも大丈夫だと思います)&lt;br /&gt;・インターネット接続&lt;br /&gt;・Sun(Oracle)のJavaパッケージ(aptでインターネットからインストール)&lt;br /&gt;・Cloudera社のCDH3のHadoopパッケージ(aptでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. インストール: Linux環境にて、rootで作業します。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo su&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-1. Sun(Oracle)のJavaを入れます。(Sun(Oracle)のものが必要です。)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;※ ここで、ubuntu 10や11の人は/etc/apt/sources.listの編集が必要です。(partnerリポジトリの追加)&lt;br /&gt;&lt;blockquote&gt;まず、/etc/apt/sources.listファイルの後ろの方のコメントアウトされている行を有効にします。(lucidの例)&lt;br /&gt;編集前: # deb http://archive.canonical.com/ubuntu lucid partner&lt;br /&gt;編集後: deb http://archive.canonical.com/ubuntu lucid partner&lt;br /&gt;そして、&lt;br /&gt;apt-get update&lt;br /&gt;とします。&lt;/blockquote&gt;&lt;br /&gt;※ ここで、debian 5の人は/etc/apt/sources.listの編集が必要です。&lt;br /&gt;&lt;blockquote&gt;まず、/etc/apt/sources.listファイルの最初の方の行を変更(追記)。&lt;br /&gt;編集前: deb http://ftp.jp.debian.org/debian/ lenny main&lt;br /&gt;編集後: deb http://ftp.jp.debian.org/debian/ lenny main non-free&lt;br /&gt;そして、&lt;br /&gt;apt-get update&lt;br /&gt;とします。&lt;/blockquote&gt;&lt;br /&gt;Sun社Javaパッケージのインストール&lt;br /&gt;&lt;blockquote&gt;apt-get install sun-java6-jdk&lt;/blockquote&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;java -version&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;java version "1.6.0_26"&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0_26-b03)&lt;br /&gt;Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2. Cloudera社版のHadoopを入れます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-a. Cloudera社リポジトリの追加&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-a-1. リポジトリ設定ファイルの作成&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;とりあえず、以下の感じで動くようです。&lt;br /&gt;&lt;br /&gt;Ubuntu 10.10の人(と11.04の人もとりあえず)、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/apt/sources.list.d/cloudera.list&lt;br /&gt;deb http://archive.cloudera.com/debian maverick-cdh3 contrib&lt;br /&gt;deb-src http://archive.cloudera.com/debian maverick-cdh3 contrib&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;Ubuntu 10.04の人、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/apt/sources.list.d/cloudera.list&lt;br /&gt;deb http://archive.cloudera.com/debian lucid-cdh3 contrib&lt;br /&gt;deb-src http://archive.cloudera.com/debian lucid-cdh3 contrib&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;debian 5の人、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/apt/sources.list.d/cloudera.list&lt;br /&gt;deb http://archive.cloudera.com/debian lenny-cdh3 contrib&lt;br /&gt;deb-src http://archive.cloudera.com/debian lenny-cdh3 contrib&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;Ubuntu 9.10の人は、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/apt/sources.list.d/cloudera.list&lt;br /&gt;deb http://archive.cloudera.com/debian karmic-cdh3 contrib&lt;br /&gt;deb-src http://archive.cloudera.com/debian karmic-cdh3 contrib&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;Ubuntu 8.04の人は、&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/apt/sources.list.d/cloudera.list&lt;br /&gt;deb http://archive.cloudera.com/debian jaunty-cdh3 contrib&lt;br /&gt;deb-src http://archive.cloudera.com/debian jaunty-cdh3 contrib&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;その他のディストリビューション・バージョンの場合は、以下のようにDISTRO名を確認し、それに応じた設定ファイルを作成します。&lt;br /&gt;&lt;pre&gt;・DISTRO名を確認し、&lt;br /&gt;lsb_release -c&lt;br /&gt;Codename:       jaunty&lt;br /&gt;→この場合、DISTRO名は"jaunty"&lt;br /&gt;・以下のようなファイルを作成します。(&lt;span style="font-style: italic;"&gt;DISTRO&lt;/span&gt;の部分をDISTRO名に置き換えます)&lt;br /&gt;ファイル名: /etc/apt/sources.list.d/cloudera.list&lt;br /&gt;内容:&lt;br /&gt;deb http://archive.cloudera.com/debian &lt;span style="font-style: italic;"&gt;DISTRO&lt;/span&gt;-testing contrib&lt;br /&gt;deb-src http://archive.cloudera.com/debian &lt;span style="font-style: italic;"&gt;DISTRO&lt;/span&gt;-testing contrib&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-a-2. リポジトリーキーを追加し、aptのインデックスを更新します。&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;wget -q http://archive.cloudera.com/debian/archive.key -O- | apt-key add -&lt;br /&gt;apt-get update&lt;/blockquote&gt;&lt;br /&gt;(参考1) &lt;a href="http://archive.cloudera.com/docs/_apt.html"&gt;http://archive.cloudera.com/docs/_apt.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-b. Hadoopをインストール&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install hadoop-0.20&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;hadoop-0.20 (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;update-alternatives: /etc/hadoop-0.20/conf (hadoop-0.20-conf) を提供するために 自動モード で /etc/hadoop-0.20/conf.empty を使います。&lt;br /&gt;update-alternatives: /usr/bin/hadoop (hadoop-default) を提供するために 自動モード で /usr/bin/hadoop-0.20 を使います。&lt;br /&gt;hadoop-0.20-native (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;libc-bin のトリガを処理しています ...&lt;br /&gt;ldconfig deferred processing now taking place&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-c. 簡単な設定ファイル一式をインストール(一台構成で試すためのお手軽設定)&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;apt-get -y install hadoop-0.20-conf-pseudo&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;ureadahead のトリガを処理しています ...&lt;br /&gt;hadoop-0.20-namenode (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;hadoop-0.20-datanode (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;hadoop-0.20-secondarynamenode (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;hadoop-0.20-jobtracker (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;hadoop-0.20-tasktracker (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;hadoop-0.20-conf-pseudo (0.20.2+923.97-1~maverick-cdh3) を設定しています ...&lt;br /&gt;update-alternatives: /etc/hadoop-0.20/conf (hadoop-0.20-conf) を提供するために 自動モード で /etc/hadoop-0.20/conf.pseudo を使います。&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-3. サービス起動&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;起動&lt;br /&gt;&lt;blockquote&gt;/etc/init.d/hadoop-0.20-namenode start&lt;br /&gt;/etc/init.d/hadoop-0.20-jobtracker start&lt;br /&gt;/etc/init.d/hadoop-0.20-datanode start&lt;br /&gt;/etc/init.d/hadoop-0.20-tasktracker start&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. 確認・お試し&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-1. ブラウザ(Web UI)で様子を見てみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ローカルのブラウザから&lt;br /&gt;HDFSの様子を見てみる&lt;br /&gt;&lt;blockquote&gt;http://localhost:50070/&lt;/blockquote&gt;&lt;br /&gt;MapReduceの様子を見てみる&lt;br /&gt;&lt;blockquote&gt;http://localhost:50030/&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;※ 別にWebUIを見なくても、以下の手順は試すことができます。&lt;br /&gt;※ 外部から、Web UIにアクセスするには、Hadoopの設定変更と、firewall設定の変更が必要かもしれません。ここでは、50070/tcp、50075/tcp、50030/tcpの許可が必要です。&lt;br /&gt;※ シンプルなUIなので、テキストベースのWebブラウザで十分かもしれません。(links等)&lt;br /&gt;&lt;br /&gt;links(テキストベースのWebブラウザ)の例&lt;br /&gt;&lt;blockquote&gt;apt-get -y install links&lt;br /&gt;links http://localhost:50070/&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_5UO6o0y_m5I/S1-gYgRzJoI/AAAAAAAAAAU/iMNt7yc_YXY/s1600-h/hadoop-hdfs-web-0.PNG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5431236018474002050" src="http://3.bp.blogspot.com/_5UO6o0y_m5I/S1-gYgRzJoI/AAAAAAAAAAU/iMNt7yc_YXY/s320/hadoop-hdfs-web-0.PNG" style="cursor: hand; cursor: pointer; height: 202px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_5UO6o0y_m5I/S1-ggqVZKaI/AAAAAAAAAAc/BrmgETbrbOs/s1600-h/hadoop-hdfs-web-1.PNG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5431236158612384162" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/S1-ggqVZKaI/AAAAAAAAAAc/BrmgETbrbOs/s320/hadoop-hdfs-web-1.PNG" style="cursor: hand; cursor: pointer; height: 202px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2. HDFSを試す&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、作業します。rootでなくてもいいです。&lt;br /&gt;(ここでの"簡単な設定"では、HDFS上のファイルパーミッション機能がOFFになっているので、誰でもいいです。)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-a. フォルダを作ってみる&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -mkdir TESTFOLDER01&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-b. ファイルを置いてみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ローカルにテストファイル(/var/tmp/test)を作ります。&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; OTAMESHI &amp;gt; /var/tmp/test&lt;br /&gt;hello hadoop world&lt;br /&gt;OTAMESHI&lt;/blockquote&gt;&lt;br /&gt;ローカルのテストファイルをHDFS上にコピーしてみます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -put /var/tmp/test TESTFOLDER01&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-c. ファイルを取り出してみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-c-1. HDFS上のファイルをcatしてみます&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -cat TESTFOLDER01/test&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-c-2. HDFS上のファイルをローカル(/var/tmp/test2)に、取り出してみます&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -get TESTFOLDER01/test /var/tmp/test2&lt;/blockquote&gt;&lt;br /&gt;ローカルに取り出したものの中身を確認します。&lt;br /&gt;&lt;blockquote&gt;cat /var/tmp/test2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-d. 今一度、ブラウザ(Web UI)からHDFSの様子を見てみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://localhost:50070/から&lt;br /&gt;一番上のリンク"Browse the filesystem"から、&lt;br /&gt;フォルダを、&lt;br /&gt;user/root/TESTFOLDER01/test&lt;br /&gt;と辿ってみます。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-e. もっとHDFSでいろいろしてみるには、&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ヘルプを読みます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -help&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-3. MapReduceを試す&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、作業します。rootでなくてもいいです。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar pi 4 2000&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;&lt;span style="font-style: italic;"&gt;うっすらmapしてreduceします。&lt;/span&gt;&lt;br /&gt;...略...&lt;br /&gt;Job Finished in 94.799 seconds&lt;br /&gt;Estimated value of Pi is 3.14100000000000000000&lt;/pre&gt;&lt;br /&gt;円周率が計算されました。&lt;br /&gt;&lt;br /&gt;本当は3.14159...なので、たいした精度じゃないですね。&lt;br /&gt;最後の引数を多くすると精度が上がるようです。20000とか試してみるといいと思います。&lt;br /&gt;最後から二番目の引数がMapの数です。10とか試してみてもいいと思います。&lt;br /&gt;&lt;br /&gt;他のMapReduceのサンプルは、&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. おまけ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;HBase, Hive, Pigなどの便利なサブプロジェクトの成果を試したり、複数台構成のHadoop環境にチャレンジしたりすると楽しいかもしれません。&lt;br /&gt;&lt;br /&gt;→&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;1台でHive, Pig, Cloudera Desktopを試してみる&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;終わり&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-469738810943566122?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/469738810943566122/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/469738810943566122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/469738810943566122'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html' title='1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5UO6o0y_m5I/S1-gYgRzJoI/AAAAAAAAAAU/iMNt7yc_YXY/s72-c/hadoop-hdfs-web-0.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-8656396616304877525</id><published>2009-11-11T06:54:00.061+09:00</published><updated>2010-09-01T17:09:10.908+09:00</updated><title type='text'>4台構成のHadoopを100分で試してみる(CentOS + Cloudera)</title><content type='html'>&lt;span style="font-weight:bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・4台のLinux環境で、簡単に、Hadoopを体験してみる方法です。&lt;br /&gt;・HDFSにちょっとファイルを置いてみたり、少しMapReduceジョブを動かしてみます。&lt;br /&gt;・マスター1台、スレーブ3台なので、hadoop度が少し高いです。（あとは、セカンダリーマスターを動かせば、普通に使えます）&lt;br /&gt;・CentOSと&lt;a href="http://www.cloudera.com/"&gt;Cloudera社&lt;/a&gt;版のディストリビューションパッケージ&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;(無料)を利用します。(rpmパッケージなので、インストール・アンインストール、サービス起動・停止等が楽です)&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/08/1ooziecentoscloudera.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;(参考) Cloudera社のHadoopパッケージの情報 &lt;a href="http://archive.cloudera.com/docs/"&gt;http://archive.cloudera.com/docs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・CentOS5.4のLinux環境4台(CentOSの他バージョンや、Fedora、Redhat等でも大丈夫だと思います)&lt;br /&gt;・インターネット接続&lt;br /&gt;・Sun社Javaパッケージ(パッケージファイルをインターネットから取得)&lt;br /&gt;・Cloudera社のCDH3のHadoopパッケージ(yumでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;構成&lt;/span&gt;&lt;br /&gt;4台のHadoopクラスターです。&lt;br /&gt;&lt;blockquote&gt;・マスター1台: nm01&lt;br /&gt;・スレーブ3台: ns10, ns11, ns12&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;0. 準備&lt;br /&gt;&lt;br /&gt;0-0. サーバー名&lt;br /&gt;&lt;br /&gt;ここで利用するサーバー/サーバー名は以下の4つです。&lt;br /&gt;&lt;blockquote&gt;nm01&lt;br /&gt;ns10&lt;br /&gt;ns11&lt;br /&gt;ns12&lt;/blockquote&gt;&lt;br /&gt;すべてのサーバー(nm01, ns10, ns11, ns12)と作業クライアント(あれば)で、名前を使えるようにしておきます。(簡単に試すには、/etc/hostsを使う方法がいいかもしれません)&lt;br /&gt;&lt;br /&gt;0-1. Sun社Javaパッケージの取得&lt;br /&gt;&lt;a href="http://java.sun.com/javase/downloads/"&gt;http://java.sun.com/javase/downloads/&lt;/a&gt;にて、&lt;br /&gt;　Java SE Development Kit (JDK)の項目の、&lt;br /&gt;　JDK 6 Update 17を、[Download]します。&lt;br /&gt;Linuxの人は、Java SE Development Kit 6u17(jdk-6u17-linux-i586-rpm.bin)&lt;br /&gt;Linux x64の人は、Java SE Development Kit 6u17(jdk-6u17-linux-x64-rpm.bin)&lt;br /&gt;ファイルは、Linux環境内のどこかのディレクトリにおいておきます。&lt;br /&gt;&lt;br /&gt;1. インストール: 全サーバー共通(nm01, ns10, ns11, ns12)&lt;br /&gt;&lt;br /&gt;・4台のサーバーすべてで同じ作業をします。&lt;br /&gt;・設定ファイルも共通です。&lt;br /&gt;・起動させるサービスのみ異なるので、そこは別途行うこととします。&lt;br /&gt;・工夫すると、作業が楽になるかもしれません。&lt;br /&gt;(仮想環境なら1台に入れてコピーするとか、kickstartで自動インストールするとか、dshなどでまとめて作業するとか)&lt;br /&gt;&lt;br /&gt;作業は、&lt;br /&gt;・Javaのパッケージインストール&lt;br /&gt;・Hadoop-0.20のパッケージインストール&lt;br /&gt;・Hadoopの設定ファイルの作成と配置&lt;br /&gt;&lt;br /&gt;Linux環境にて、rootで作業します。&lt;br /&gt;&lt;br /&gt;1-1. Sun社のJava(少し面倒ですが、Sun社のものが必要です。)&lt;br /&gt;ダウンロードパッケージのあるディレクトリで、&lt;br /&gt;&lt;blockquote&gt;sh &lt;span style="font-style:italic;"&gt;SUN社サイトからダウンロードしたファイル&lt;/span&gt;&lt;br /&gt;(例)&lt;br /&gt;i586なら&gt; sh jdk-6u17-linux-i586-rpm.bin&lt;br /&gt;x64なら&gt; sh jdk-6u17-linux-x64-rpm.bin&lt;/blockquote&gt;&lt;br /&gt;とし、指示に従います。&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;Java(TM) SE Development Kit 6 successfully installed.&lt;br /&gt;...略...&lt;br /&gt;Press Enter to continue.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Done.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;java -version&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;java version "1.6.0_17"&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0_17-b04)&lt;br /&gt;Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)&lt;/pre&gt;&lt;br /&gt;1-2. Hadoop&lt;br /&gt;&lt;br /&gt;1-2-a. Cloudera社リポジトリの追加&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cd /etc/yum.repos.d&lt;br /&gt;wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo&lt;/blockquote&gt;&lt;br /&gt;(参考1) &lt;a href="http://archive.cloudera.com/docs/_yum.html"&gt;http://archive.cloudera.com/docs/_yum.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1-2-b. Hadoopをインストール&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum -y install hadoop-0.20&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;Installed:&lt;br /&gt;hadoop-0.20.noarch 0:0.20.1+152-1&lt;br /&gt;&lt;br /&gt;Complete!&lt;/pre&gt;&lt;br /&gt;1-3. Hadoopの設定ファイル一式を作成&lt;br /&gt;&lt;br /&gt;1-3-1. 設定ディレクトリーの作成と設定&lt;br /&gt;&lt;br /&gt;設定ディレクトリーまるごと、サンプルのコピーで、作成します。&lt;br /&gt;alternativeの仕組みで管理します。ここでは、設定ファイルのディレクトリは、/etc/hadoop-0.20/confですが、実体は/etc/hadoop-0.20/conf.test1です。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cp -r /etc/hadoop-0.20/conf.empty /etc/hadoop-0.20/conf.test1&lt;br /&gt;alternatives --install /etc/hadoop-0.20/conf hadoop-0.20-conf /etc/hadoop-0.20/conf.test1 20&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;確認&lt;br /&gt;&lt;blockquote&gt;alternatives --display hadoop-0.20-conf&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;hadoop-0.20-conf -ステータスは自動です。&lt;br /&gt;リンクは現在 /etc/hadoop-0.20/conf.test1 を指しています。&lt;br /&gt;/etc/hadoop-0.20/conf.empty - 優先項目 10&lt;br /&gt;/etc/hadoop-0.20/conf.test1 - 優先項目 20&lt;br /&gt;現在の「最適」バージョンは /etc/hadoop-0.20/conf.test1 です。&lt;/pre&gt;&lt;br /&gt;1-3-2. 設定ファイルの編集&lt;br /&gt;&lt;br /&gt;/etc/hadoop-0.20/conf.test1/内で、設定ファイルを変更します。&lt;br /&gt;&lt;blockquote&gt;cd /etc/hadoop-0.20/conf.test1&lt;/blockquote&gt;&lt;br /&gt;・mastersファイル&lt;br /&gt;&lt;blockquote&gt;echo nm01 &gt; masters&lt;/blockquote&gt;&lt;br /&gt;・slavesファイル&lt;br /&gt;&lt;blockquote&gt;cat &lt;&lt; EOF &gt; slaves&lt;br /&gt;ns10&lt;br /&gt;ns11&lt;br /&gt;ns12&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;・hadoop-env.shファイル&lt;br /&gt;意外と、いじらなくてよいです。（問題があればJavaの設定を施します。例えばCentOSではexport JAVA_HOME=/usr/java/default)&lt;br /&gt;&lt;br /&gt;・core-site.xmlファイル&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; core-site.xml&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;fs.default.name&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;hdfs://nm01:8020&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;・hdfs-site.xmlファイル&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; hdfs-site.xml&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;dfs.replication&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;3&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;・mapred-site.xmlファイル&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; EOF &amp;gt; mapred-site.xml&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;lt;property&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;mapred.job.tracker&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;value&amp;gt;nm01:8021&amp;lt;/value&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;EOF&lt;/blockquote&gt;&lt;br /&gt;2. インストール: 各サーバーにて&lt;br /&gt;&lt;br /&gt;マスターノード(nm01)と、スレーブノード(ns10, ns11, ns12)で、それぞれ異なる設定をします。&lt;br /&gt;起動させるサービスやFirewall設定が異なります。&lt;br /&gt;&lt;br /&gt;2-1. マスターノード(nm01)&lt;br /&gt;&lt;br /&gt;マスターノード(nm01)にて、rootで作業します。&lt;br /&gt;&lt;br /&gt;HDFSフォーマット作業&lt;br /&gt;&lt;blockquote&gt;sudo -u hadoop hadoop-0.20 namenode -format&lt;/blockquote&gt;&lt;br /&gt;サービス起動&lt;br /&gt;&lt;blockquote&gt;service hadoop-0.20-namenode start&lt;br /&gt;service hadoop-0.20-jobtracker start&lt;/blockquote&gt;&lt;br /&gt;サービス登録&lt;br /&gt;&lt;blockquote&gt;chkconfig --add hadoop-0.20-namenode&lt;br /&gt;chkconfig --add hadoop-0.20-jobtracker&lt;/blockquote&gt;&lt;br /&gt;Firewall設定：ここでは以下をあけます。&lt;br /&gt;&lt;blockquote&gt;50030:tcp 50070:tcp 8020:tcp 8021:tcp&lt;br /&gt;(ローカルな環境ではOffにしてしまうのも、いいかもしれません。)&lt;/blockquote&gt;&lt;br /&gt;2-2. スレーブノード(ns10, ns11, ns12)&lt;br /&gt;&lt;br /&gt;スレーブノード(ns10, ns11, ns12)にて、rootで作業します。&lt;br /&gt;&lt;br /&gt;サービス起動&lt;br /&gt;&lt;blockquote&gt;service hadoop-0.20-datanode start&lt;br /&gt;service hadoop-0.20-tasktracker start&lt;/blockquote&gt;&lt;br /&gt;サービス登録&lt;br /&gt;&lt;blockquote&gt;chkconfig --add hadoop-0.20-datanode&lt;br /&gt;chkconfig --add hadoop-0.20-tasktracker&lt;/blockquote&gt;&lt;br /&gt;Firewall設定：ここでは以下をあけます。&lt;br /&gt;&lt;blockquote&gt;50010:tcp 50060:tcp 50075:tcp&lt;br /&gt;(ローカルな環境ではOffにしてしまうのも、いいかもしれません。)&lt;/blockquote&gt;&lt;br /&gt;3. 確認・お試し&lt;br /&gt;&lt;br /&gt;3-1. ブラウザ(Web UI)で様子を見てみる。&lt;br /&gt;&lt;br /&gt;HDFSの様子を見てみる&lt;br /&gt;&lt;blockquote&gt;http://nm01:50070/&lt;/blockquote&gt;&lt;br /&gt;MapReduceの様子を見てみる&lt;br /&gt;&lt;blockquote&gt;http://nm01:50030/&lt;/blockquote&gt;&lt;br /&gt;2-2. HDFSを試す。&lt;br /&gt;&lt;br /&gt;マスターノード(nm01)にて、rootで試してみます。&lt;br /&gt;&lt;br /&gt;まず、HDFS上に、rootさん用のフォルダを作ります。&lt;br /&gt;&lt;blockquote&gt;sudo -u hadoop hadoop-0.20 fs -mkdir /user/root&lt;br /&gt;sudo -u hadoop hadoop-0.20 fs -chown root /user/root&lt;/blockquote&gt;&lt;br /&gt;2-2-a. フォルダを作ってみる&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -mkdir TESTFOLDER01&lt;/blockquote&gt;&lt;br /&gt;2-2-b. ファイルを置いてみる&lt;br /&gt;&lt;br /&gt;ローカルにテストファイル(/var/tmp/test)を作ります。&lt;br /&gt;&lt;blockquote&gt;cat &lt;&lt; OTAMESHI &gt; /var/tmp/test&lt;br /&gt;hello hadoop world&lt;br /&gt;OTAMESHI&lt;/blockquote&gt;&lt;br /&gt;ローカルのテストファイルをHDFS上にコピーしてみます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -put /var/tmp/test TESTFOLDER01&lt;/blockquote&gt;&lt;br /&gt;2-2-c. ファイルを取り出してみる&lt;br /&gt;2-2-c-1. HDFS上のファイルをcatしてみます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -cat TESTFOLDER01/test&lt;/blockquote&gt;&lt;br /&gt;2-2-c-2. HDFS上のファイルをローカル(/var/tmp/test2)に、取り出してみます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -get TESTFOLDER01/test /var/tmp/test2&lt;/blockquote&gt;&lt;br /&gt;ローカルに取り出したものの中身を確認します。&lt;br /&gt;&lt;blockquote&gt;cat /var/tmp/test2&lt;/blockquote&gt;&lt;br /&gt;2-2-d. 今一度、ブラウザ(Web UI)からHDFSの様子を見てみる&lt;br /&gt;&lt;br /&gt;http://nm01:50070/から&lt;br /&gt;一番上のリンク"Browse the filesystem"から、&lt;br /&gt;フォルダを、&lt;br /&gt;user/root/TESTFOLDER01/test&lt;br /&gt;と辿ってみます。&lt;br /&gt;&lt;br /&gt;2-2-e. もっとHDFSでいろいろしてみるには、&lt;br /&gt;ヘルプを読みます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -help&lt;/blockquote&gt;&lt;br /&gt;2-3. MapReduceを試す。&lt;br /&gt;&lt;br /&gt;マスターノード(nm01)にて、rootで試してみます。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar pi 20 2000&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;&lt;span style="font-style:italic;"&gt;うっすらmapしてreduceします。&lt;/span&gt;&lt;br /&gt;...略...&lt;br /&gt;Job Finished in 77.006 seconds&lt;br /&gt;Estimated value of Pi is 3.14140000000000000000&lt;/pre&gt;&lt;br /&gt;円周率が計算されました。&lt;br /&gt;&lt;br /&gt;本当は3.14159...なので、たいした精度じゃないです。&lt;br /&gt;最後の引数を多くすると精度が上がるようです。&lt;br /&gt;最後から二番目の引数がMapの数です。&lt;br /&gt;&lt;br /&gt;他のMapReduceのサンプルは、&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ずっとあそぶには、セカンダリーマスターを動かしましょう。&lt;br /&gt;--&lt;br /&gt;終わり&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-8656396616304877525?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/8656396616304877525/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/8656396616304877525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/8656396616304877525'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html' title='4台構成のHadoopを100分で試してみる(CentOS + Cloudera)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3940750231931580453.post-6889126120945366168</id><published>2009-11-09T07:52:00.100+09:00</published><updated>2011-08-23T19:59:49.242+09:00</updated><title type='text'>1台構成のHadoopを30分で試してみる(CentOS + Cloudera)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;概要&lt;/span&gt;&lt;br /&gt;・1台のLinux環境で、簡単に、Hadoopを体験してみる方法です。&lt;br /&gt;・HDFSにちょっとファイルを置いてみたり、少しMapReduceジョブを動かしてみます。&lt;br /&gt;・CentOSと&lt;a href="http://www.cloudera.com/"&gt;Cloudera社&lt;/a&gt;版のHadoopディストリビューションパッケージ&lt;a href="http://saburi380.blogspot.com/2010/08/cdh3.html"&gt;CDH3&lt;/a&gt;(無料)を利用します。(rpmパッケージなので、インストール・アンインストール、サービス起動・停止等が楽です)&lt;br /&gt;・続いて、別途、HBase, Pig, Hiveを試すことができます。→&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;1台でHBase, Hive, Pigを試してみる&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="1" style="border-collapse: collapse; border-color: gray; border-style: solid; border-width: 1px;"&gt;&lt;caption&gt;その他の記事&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Hadoop(1台構成)&lt;/td&gt;&lt;td&gt;HBase,Hive,Pig,HUE,Oozie等(1台構成)&lt;/td&gt;&lt;td&gt;Hadoop(複数台構成)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;CentOS&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;HBase,Hive,Pig, HUE(旧Cloudera Desktop)&lt;/a&gt;, &lt;a href="http://saburi380.blogspot.com/2010/10/1oozieubuntu-clouderacdh3-beta3.html"&gt;Oozie&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Ubuntu&lt;/th&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2009/11/1hadoop30ubuntucloudera.html"&gt;こちら&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://saburi380.blogspot.com/2010/01/1hive-pigubuntu-cloudera.html"&gt;HBase,Hive,Pig,HUE(旧Cloudera Desktop)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;(参考) Cloudera社のHadoopパッケージの情報 &lt;a href="http://archive.cloudera.com/docs/"&gt;http://archive.cloudera.com/docs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;必要なもの&lt;/span&gt;&lt;br /&gt;・CentOS5かCentOS6のLinux環境1台(ここではCentOS5.6とCentOS6.0を使いました。CentOSの他バージョンや、Fedora、Redhat等でも大丈夫だと思います)&lt;br /&gt;・インターネット接続&lt;br /&gt;・Sun社Javaパッケージ(パッケージファイルをインターネットから取得)&lt;br /&gt;・Cloudera社のCDH3のHadoopパッケージ(yumでインターネットからインストール)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;作業手順&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0. 準備&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;0-1. Sun社Javaパッケージの取得&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/javase/downloads/"&gt;http://java.sun.com/javase/downloads/&lt;/a&gt;にて、&lt;br /&gt;Java SE 6の[Download]ボタンを押して出る「Java SE Downloads」のページから必要なものをダウンロードします。&lt;br /&gt;(例)&lt;br /&gt;Java SE Development Kit 6 Update 27&lt;br /&gt;Linux x86の人は、Linux x86 - RPM Installer(jdk-6u27-linux-i586-rpm.bin)&lt;br /&gt;Linux x64の人は、Linux x64 - RPM Installer(jdk-6u27-linux-x64-rpm.bin)&lt;br /&gt;ファイルは、Linux環境内のどこかのディレクトリにおいておきます。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. インストール: Linux環境にて、rootで作業します。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-1. Sun社のJavaを入れます。&lt;/span&gt;(少し面倒ですが、Sun社のものが必要です。)&lt;br /&gt;ダウンロードパッケージのあるディレクトリで、&lt;br /&gt;&lt;blockquote&gt;sh &lt;span style="font-style: italic;"&gt;SUN社サイトからダウンロードしたファイル&lt;/span&gt;&lt;br /&gt;(例)&lt;br /&gt;i586なら&amp;gt; sh jdk-6u26-linux-i586-rpm.bin&lt;br /&gt;x64なら&amp;gt; sh jdk-6u26-linux-x64-rpm.bin&lt;/blockquote&gt;&lt;br /&gt;とし、指示に従います。&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;Java(TM) SE Development Kit 6 successfully installed.&lt;br /&gt;...略...&lt;br /&gt;Press Enter to continue.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Done.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;確認します。&lt;br /&gt;&lt;blockquote&gt;java -version&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;java version "1.6.0_26"&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0_26-b03)&lt;br /&gt;Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2. Hadoopを入れます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-a. Cloudera社リポジトリの追加&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;CentOS5なら&lt;br /&gt;&lt;blockquote&gt;cd /etc/yum.repos.d&lt;br /&gt;wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo&lt;br /&gt;rpm --import http://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera&lt;/blockquote&gt;&lt;br /&gt;CentOS6なら&lt;br /&gt;&lt;blockquote&gt;cd /etc/yum.repos.d&lt;br /&gt;wget http://archive.cloudera.com/redhat/6/x86_64/cdh/cloudera-cdh3.repo&lt;br /&gt;rpm --import http://archive.cloudera.com/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera&lt;/blockquote&gt;&lt;br /&gt;(参考1) &lt;a href="http://archive.cloudera.com/docs/_yum.html"&gt;http://archive.cloudera.com/docs/_yum.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-b. Hadoopをインストール&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;yum -y install hadoop-0.20&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;Installed:&lt;br /&gt;hadoop-0.20.noarch 0:0.20.2+923.97-1&lt;br /&gt;&lt;br /&gt;Complete!&lt;/pre&gt;&lt;br /&gt;※ ここで、こんなエラー&lt;span style="color: red;"&gt;「[Errno 14] HTTP Error 404: Not Found」&lt;/span&gt;が出る人は、cloudera-cdh3.repoを、一時的に変更しましょう。&lt;br /&gt;「mirrorlist=行」をコメントアウトして、「baseurl=http://archive.cloudera.com/redhat/cdh/3/」行を書き加えましょう。(2010/10/13現在: なぜかhttp://archive.cloudera.com/redhat/cdh/3/mirrorsが無いです)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-2-c. 簡単な設定ファイル一式をインストール&lt;/span&gt;(一台構成で試すためのお手軽設定)&lt;br /&gt;&lt;blockquote&gt;yum -y install hadoop-0.20-conf-pseudo&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;Installed:&lt;br /&gt;  hadoop-0.20-conf-pseudo.noarch 0:0.20.2+923.97-1&lt;br /&gt;&lt;br /&gt;Dependency Installed:&lt;br /&gt;  hadoop-0.20-datanode.noarch 0:0.20.2+923.97-1&lt;br /&gt;  hadoop-0.20-jobtracker.noarch 0:0.20.2+923.97-1&lt;br /&gt;  hadoop-0.20-namenode.noarch 0:0.20.2+923.97-1&lt;br /&gt;  hadoop-0.20-secondarynamenode.noarch 0:0.20.2+923.97-1&lt;br /&gt;  hadoop-0.20-tasktracker.noarch 0:0.20.2+923.97-1&lt;br /&gt;&lt;br /&gt;Complete!&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-3. サービス起動&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;起動&lt;br /&gt;&lt;blockquote&gt;service hadoop-0.20-namenode start&lt;br /&gt;service hadoop-0.20-jobtracker start&lt;br /&gt;service hadoop-0.20-datanode start&lt;br /&gt;service hadoop-0.20-tasktracker start&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. 確認・お試し&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-1. ブラウザ(Web UI)で様子を見てみる。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ローカルのブラウザから&lt;br /&gt;HDFSの様子を見てみる&lt;br /&gt;&lt;blockquote&gt;http://localhost:50070/&lt;/blockquote&gt;&lt;br /&gt;MapReduceの様子を見てみる&lt;br /&gt;&lt;blockquote&gt;http://localhost:50030/&lt;/blockquote&gt;&lt;br /&gt;※ または、"別にWeb UIを見ないでスルー"と言うのもありです。&lt;br /&gt;※ 外部から、Web UIにアクセスするには、Hadoopの設定変更とfirewall設定の変更が必要かもしれません。ここでは、50070/tcp、50075/tcp、50030/tcpの許可が必要です。&lt;br /&gt;※ シンプルなUIなので、テキストベースのWebブラウザで十分かもしれません。&lt;br /&gt;&lt;br /&gt;elinks(テキストベースのWebブラウザ)の例&lt;br /&gt;&lt;blockquote&gt;yum -y install elinks&lt;br /&gt;elinks http://localhost:50070/&lt;/blockquote&gt;&lt;br /&gt;(手元の環境では、ESC→Setup→Terminal optionsでColor modeをNo colors(mono)と設定変更しました。)&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_5UO6o0y_m5I/S1-gYgRzJoI/AAAAAAAAAAU/iMNt7yc_YXY/s1600-h/hadoop-hdfs-web-0.PNG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5431236018474002050" src="http://3.bp.blogspot.com/_5UO6o0y_m5I/S1-gYgRzJoI/AAAAAAAAAAU/iMNt7yc_YXY/s320/hadoop-hdfs-web-0.PNG" style="cursor: hand; cursor: pointer; height: 202px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_5UO6o0y_m5I/S1-ggqVZKaI/AAAAAAAAAAc/BrmgETbrbOs/s1600-h/hadoop-hdfs-web-1.PNG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5431236158612384162" src="http://1.bp.blogspot.com/_5UO6o0y_m5I/S1-ggqVZKaI/AAAAAAAAAAc/BrmgETbrbOs/s320/hadoop-hdfs-web-1.PNG" style="cursor: hand; cursor: pointer; height: 202px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2. HDFSを試す。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、作業します。rootでなくてもいいです。&lt;br /&gt;(ここでの"簡単な設定"では、HDFS上のファイルパーミッション機能がOFFになっているので、誰でもいいです。)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-a. HDFS上にフォルダを作ってみる&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -mkdir TESTFOLDER01&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-b. HDFS上にファイルを置いてみる&lt;/span&gt;&lt;br /&gt;ローカルにテストファイル(/var/tmp/test)を作ります。&lt;br /&gt;&lt;blockquote&gt;cat &amp;lt;&amp;lt; OTAMESHI &amp;gt; /var/tmp/test&lt;br /&gt;hello hadoop world&lt;br /&gt;OTAMESHI&lt;/blockquote&gt;&lt;br /&gt;ローカルのテストファイルをHDFS上にコピーしてみます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -put /var/tmp/test TESTFOLDER01&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-c. HDFSからファイルを取り出してみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-c-1. HDFS上のファイルをcatしてみます。&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -cat TESTFOLDER01/test&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-c-2. HDFS上のファイルをローカル(/var/tmp/test2)に、取り出してみます。&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -get TESTFOLDER01/test /var/tmp/test2&lt;/blockquote&gt;&lt;br /&gt;ローカルに取り出したものの中身を確認します。&lt;br /&gt;&lt;blockquote&gt;cat /var/tmp/test2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-d. 今一度、ブラウザ(Web UI)からHDFSの様子を見てみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://localhost:50070/を開き、&lt;br /&gt;一番上のリンク"Browse the filesystem"から、&lt;br /&gt;フォルダを、&lt;br /&gt;/user/root/TESTFOLDER01/test&lt;br /&gt;と辿ってみます。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-2-e. もっとHDFSでいろいろしてみるには、&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ヘルプを読みます。&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 fs -help&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-3. MapReduceを試す。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Linux環境にて、作業します。rootでなくてもいいです。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar pi 4 2000&lt;/blockquote&gt;&lt;br /&gt;結果例&lt;br /&gt;&lt;pre&gt;...略...&lt;br /&gt;&lt;span style="font-style: italic;"&gt;うっすらmapしてreduceします。&lt;/span&gt;&lt;br /&gt;...略...&lt;br /&gt;Job Finished in 94.799 seconds&lt;br /&gt;Estimated value of Pi is 3.14100000000000000000&lt;/pre&gt;&lt;br /&gt;円周率が計算されました。&lt;br /&gt;&lt;br /&gt;本当は3.14159...なので、たいした精度じゃないですね。&lt;br /&gt;最後の引数を多くすると精度が上がるようです。20000とか試してみるといいと思います。&lt;br /&gt;最後から二番目の引数がMapの数です。10とか試してみてもいいと思います。&lt;br /&gt;&lt;br /&gt;他のMapReduceのサンプルは、&lt;br /&gt;&lt;blockquote&gt;hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. おまけ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3-1. ずっとあそぶには、セカンダリーマスターを動かしましょう。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;起動&lt;br /&gt;&lt;blockquote&gt;service hadoop-0.20-secondarynamenode start&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3-2. 構築した環境を使って、例えば、HBase, Pig, Hiveを試してみてもおもしろいかもしれません。&lt;/span&gt;&lt;br /&gt;→&lt;a href="http://saburi380.blogspot.com/2009/12/1hbase-hive-pig.html"&gt;1台でHBase, Hive, Pigを試してみる(CDH3beta3)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3-3. 複数台構成で試すと、もうちょっとHadoopらして楽しいかもしれません。&lt;/span&gt;&lt;br /&gt;→&lt;a href="http://saburi380.blogspot.com/2009/11/1004hadoopcentos-cloudera.html"&gt;4台構成のHadoopを100分で試してみる(CentOS + Cloudera)(CDH3beta3)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;終わり&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3940750231931580453-6889126120945366168?l=saburi380.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saburi380.blogspot.com/feeds/6889126120945366168/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6889126120945366168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3940750231931580453/posts/default/6889126120945366168'/><link rel='alternate' type='text/html' href='http://saburi380.blogspot.com/2009/11/301hadoopcentos-cloudera.html' title='1台構成のHadoopを30分で試してみる(CentOS + Cloudera)'/><author><name>saburi</name><uri>http://www.blogger.com/profile/13721789279925542798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5UO6o0y_m5I/S1-gYgRzJoI/AAAAAAAAAAU/iMNt7yc_YXY/s72-c/hadoop-hdfs-web-0.PNG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
