ラベル Cloud の投稿を表示しています。 すべての投稿を表示
ラベル Cloud の投稿を表示しています。 すべての投稿を表示

2013年11月18日月曜日

BOTOでCloudWathcのmetricsをとる

InstanceのIDを指定してCPU使用率をとる方法。

環境
python3.3
BOTO 2.9.0 py3kport
import datetime
from decimal import Decimal,ROUND_HALF_UP
from boto.ec2.cloudwatch import CloudWatchConnection,regions

for region in regions():
    cw_con = CloudWatchConnection(
        aws_access_key_id     = 'AAA',
        aws_secret_access_key = 'BBB',
        region = region,
    )
    for val in cw_con.get_metric_statistics(
            60,
            datetime.date.today() - datetime.timedelta(hours=0.1),
            datetime.datetime.today(),
            'CPUUtilization',
            'AWS/EC2',
            'Average',
            {'InstanceId': ['i-CCC']},
            'Percent',
    ):
        print(val)

2012年1月25日水曜日

クラウドとはなんぞや


ちょち最近クラウドについての話題がGoogle+で出てくるんで書いて見た。
長文すまん。

■仮想化の流行
ここではCPUの仮想化、サーバの仮想化に絞って説明する。簡単に言えば「一つの物理サーバ上で複数のOSを同時に動かす」事である。この仮想化が流行ったのは以下の理由だ。

  • CPUの性能向上手段がマルチコアに切り替わった
  • 従来のプログラムの多くがマルチコアを活用しきれない

今までのCPUはコア自体を改善する事で性能向上を果たしてきた。その為多くのプログラムは1コアを前提として作成された。それでもCPUのコア性能がどんどん改善された為プログラムを放置しておいてもプログラムの処理速度は向上していった。しかし最近になりCPUのコア改善によるCPUの性能向上が頭打ちになった為、CPUは出来るだけ沢山のコアを詰め込む事で性能を向上させる手段に出た。多くのプログラムはマルチコアを想定して作られていないので、沢山あるコアを活用出来ず、プログラムの処理速度は向上しなくなってしまった。簡単に言えば8コアあっても1コアしか活動していない状況になってしまったのだ。
8コアあっても1コアしか活動してないのであれば非常にもったいない。元が取れていない。

そこで従来のサーバを仮想化し、8コアの物理サーバに8個の仮想サーバをぶち込めば、CPUコア全てを使い切る事が出来る、と考えて始まったのが仮想化の流行である。更に言えば8個の仮想サーバはそれぞれ役割が違うだろう。それぞれの仮想サーバが高い処理能力を必要とする時間がずれていれば、8コアじゃなくて4コアでも充分かもしれない。であれば8コアの物理サーバに16個の仮想マシンを入れる事も可能である。
極端な話を言えばそれまで100台の物理サーバで運用していたサーバ群を仮想化して5台の物理サーバ上に集約する事も可能な訳だ。

■過剰集約問題

しかし場合に依っては「100台のサーバ群の総合性能≒5台のサーバ群の総合性能」なパターンが生まれる事がある。生まれる理由としては以下の様なモノが考えられる。

  • 無計画な集約
  • 仮想化環境への追加投資が出来ない為の過剰集約

これを防ぐには以下の対策が必要である。

  • 最大負荷時を想定した仮想化環境の準備
  • 仮想化環境利用の制限

この様な対策をする位であれば仮想化による集約を行わない方が良い。前者の対策をとる場合、仮想化対象の物理対象の総費用より仮想化環境構築用のサーバの総費用の方が高くなる可能性すらある。

■余剰リソース問題
過剰集約が怖いので少し余裕を見て10台の物理サーバを仮想化し5台のサーバに集約したとする。が、しかし予想以上に仮想サーバは利用されず効果な仮想化用物理サーバが遊んでしまい投資コストの回収が出来なく成ってしまう。

※投資コストの回収・・・高いモノを購入した後それをシコタマ使って元を取る事。投資コストが回収出来ないといった場合、それは高いモノを買ったはいいけど余り使ってない状態になってしまう事。

■仮想化からクラウドへ
そこで以下の様なパターンが生まれてくる。
社内のサーバの仮想化による集約は成功した。しかしリソースが余っている。もったいない。何かいい方法はないか
まてよ?この余剰リソースを外部に有料で貸しだそうか。そうすればサーバの稼働率も上がって投資コストも回収出来る上に儲かるぞ
まてよ?儲かるんであれば大規模な仮想化環境を用意してその上の仮想リソースを販売すればこれはビジネスになるんじゃないか?
しかも利用者は、必要な時に必要なだけのリソースを私から借りればいい。初期コストはゼロだ。
 これを実践したのがクラウドサービスである。

■クラウドの境界線
日本国内では「仮想化すればクラウド」と誤認される事、誤認させる記事や情報が多いが、仮想化は飽くまでクラウド実現の一要素に過ぎない。仮想化とクラウドは別ものである。具体的に言えば以下の通りだ。

・仮想化用の物理的サーバを保有或いは確保した時点でそれはもうクラウドではなくなる。


「本当のクラウド」の利用者は自分達で物理サーバを用意する事はない。つまりこの時点で国内で推進されようとしている「自社内に作成するプライベートクラウド」は否定される訳だ。

・必要な時に必要なだけリソースを借り、不要な時は不要なリソースを捨てる事が出来、そしてやめたい時は即座にやめる事が出来なければクラウドではなくなる。


この時点で課金単位が月次、週次、日次であるサービスは否定される。人間の生活サイクルを考えた場合サーバの負荷の変動は一日毎にサイクルしていくだろう。であれば課金単位は時間単位であるべきである。究極の所、理想は秒単位であるが手間を考えたらやはり時間単位に落ち着くだろう。
同時に時間単位課金であれば、リソースを借りる速度(申し込みしてから実際にリソースが渡されるまでの時間)が1時間以下である必要がある。「今日申請したら明日利用出来ます、来週から利用出来ます、来月から反映させます」なぞというのは問題外だ。

仮想化ではこの様な事が出来ない。
仮想化によるサーバ集約だけではここまでは出来ない。
プライベートクラウドではこれを実現出来ない。
つまりここクラウドの境界線である。

■クラウドの真髄
イノベーションとはそれまで出来なかった事が出来る様になる事である。世に言うイノベーションを例に挙げると例えばテープに対するCD、CDに対するMP3とか。
例えばCDはそれまでテープでは不可能だった瞬時の頭出し、精確な曲送りを可能にした。
例えばMP3はそれまでCDでは不可能だった自由な曲の組み合わせ、移動の簡単さ、バックアップの簡単さ、再生の簡単さ、保存の簡単さを実現した。

ではクラウドがイノベーションである点は以下の通り。

  • 従来では保持出来なかった様なリソースを利用する事が出来る
  • 不要なリソースを保持する必要がない

どちらも従来の社内サーバ環境で実現する事は出来ない。同時に仮想化による集約を行っただけでは実現する事が出来ない。
クラウドでなければこれらのメリットをもたらす事が出来ないのだ。

例えば分散処理を考えてみよう。ある会社で給与計算が分散処理で行えたとする。ここではAmazon EC2をモデルに話をする。

さて給与計算は基本的に一ヶ月に一回だ。
なので30日中「給与計算をする為に必要なリソース」は一日だけであるとする。であれば残り29日間は給与計算の為のリソース(給与計算をする為のサーバ)を持っている必要はない。つまり費用はゼロ円である。

「さーて今月は特に急いでないから計算に一日かかってもいいや」と成れば、「性能は低いが一時間辺りの利用料も格安のクラウド上の仮想マシン」を一日借りて計算すればいい。
「やばい!明日給与支払いなのに計算してねぇ!後12時間しかない!ええい多少金かかってもいいから確実に終わらそう!」と思えば「性能は高いが一時間あたりの利用料金も高いクラウド上の仮想マシン」を複数借りて一期に分散処理してしまえばいい。

勿論給与計算が終わったらそれらのリソースを解放する。そうすれば再びコストはゼロだ。
そしてこのコストがゼロに出来る、まぁ精確に言えば不要な時はコストを極小化出来る、という事がクラウド最大のメリットだと思う。これは従来の物理サーバ購入では絶対に実現しえない事である。

■クラウドの定義
最後にまとめ。クラウドと呼ぶに値するサービスが備えるべき条件

  • 初期費用がゼロである
  • 利用した分だけ課金される(金さえ払えば無尽蔵にリソースを利用出来る)
  • 下院単位は最低でも時間単位である
  • 利用者からみて無尽蔵に見えるだけのリソースを確保出来ている
  • リソースの要求をしたら遅くとも1時間以内に利用する事が出来る

と言った所ですか。

2010年6月23日水曜日

恐ろしく以前にかいた小話転載

■PC、購入。
「パパーパソコンほしいー。」
「ハハーコイツメ-。今作るからまってなさい」
TVの電源を入れて、ネットに接続。そこで新規ID作成を行う。
ID作成完了
「はい。これでOK。」
「わーい!ありがとーパパ-」
といって子供は自分の部屋に行き、TVを付けて先程作ったIDでログインする。するとそこにはよくあるデスクトップ画面が表示される。

■携帯、購入。そして落とす。
携帯電話を購入し、電源を入れる。するとそこにはログイン画面。
普段使っているIDでログインする。するとPCで作ったアドレス帳を利用してメールや電話がかけられる。
とある日、携帯を落としてしまった。しかも運悪くログインしっぱなしだ。
とある悪意のある人がその携帯を拾い上げ、アドレス帳を見ようとした。
が、即座に携帯にロックがかかり,使えなくなった。
実は携帯にはセンサーが多数取り付けられており、手の温度分布、キーを押す強さ、リズム等を取得して送信。そしてサーバ側の方で過去の統計情報と比較し本人でない事が確認されたのでロックがかかった。

■給油
ガソリンを入れにきた。
早速ガソリンを入れる為にノズルに手を握る。
すると即座に指紋認証が行われ、画面に名前と車種が表示される。
続いて過去の給油履歴と最終給油時のガソリン量、その後の走行距離から給油すべき量が表示され、さらに価格も表示される。
それを確認後、ノズルを車に指し、給油。
終わると即、電子マネー支払いが行われ、給油履歴が更新される。
さらに過去の走行情報や給油間隔などの統計情報を元に、次に給油するであろう日付が通知される。

2010年3月31日水曜日

TrueCloudへ質問してみた纏め2

■True_Cloud
CPUおよびメモリ容量のスペックアップを行いました!
1クラウドノードあたりCPUは 0.4GHzから 0.6GHz へ、メモリ容量は 256MBから375MBへスペックアップです!
ぜひご利用ください!
http://bit.ly/bDHQ32
#True_CLOUD

■豊月
あれCPUのCore数とClock数に関する解答まだですか?
http://goo.gl/f915
したから3つめの質問です

■True_Cloud
ありがとうございます!
TrueCLOUD サーバーに仮想的に割り当てられた仮想CPUと実際のサーバーマシンに搭載されている実CPUのクロック周波数の間には直接の関連はありません。
詳細はFAQをご参照くださいませ! http://bit.ly/dpU41m

■豊月
お宅への3度目の説明になりますが、10.8Ghz相当と言っても5.2Ghz*2コアと2.6Ghz*4コアでは、Programからみると全く別の環境です。Core数が解らない以上マルチスレッドで書いた方が有効なのかシングルで書いた方がいいのか解りません。
故にProgramの作り方が解らない以上、お宅のCloudでどういう風に作ればいいか解らず、利用の検討も出来ません

■True_Cloud
ありがとうございます!
FAQにも記載させていただいておりますが、仮想CPUに割り当てられるCPUクロック周波数分の演算能力はすべて1コア換算の演算能力になります。
ただあくまで仮想的に割り当てられるものですので実CPUの1コア分の周波数とイコールではありません

■豊月
お宅への4度目の説明になりますが、10.8Ghz相当と言っても5.2Ghz*2コアと2.6Ghz*4コアでは、Programからみると全く別の環境です。Core数が解らない以上マルチスレッドで書いた方が有効なのかシングルで書いた方がいいのか解りません

■True_Cloud
申し訳ありません。
こちらからのご返答は先のとおりになります。さらに詳細なご回答をご希望でしたらぜひフォームよりお問い合わせいただければと思いますのでよろしくお願いいたします!
http://bit.ly/cyY24T

■豊月
すいませんがこの疑問は私だけの物ではありません。多くの開発者が同じく疑問を持っています。
少しTwitterで検索していただければ解ると思います。以前私がした質問に多くの方が同意しています。なのに掲示しないのは何故なのでしょうか?

■True_Cloud
了解いたしました!
ではもう少々わかりやすい表現方法が無いか検討させていただきたいと思います! ご意見ありがとうございます!

以上。
・・・わかりやすい表現ってただコア数表示するか、10.8Ghzの算出計算式乗せれば終わるのにね。
相変わらず国内の「自称Cloud」は微妙なのばかりだ・・・

一個前の質問
TrueCloudへ質問してみた纏め

2010年2月10日水曜日

TrueCloudへ質問してみた纏め

アイルのCloudService、TrueCloudさんへ質問してみた

■質問:TrueCloudと言いながらData転送量に制限があるのは何故でしょうか?
データ転送量に制限があったほうがよりユーティリティコンピューティングの考え方である「使った分だけ料金を支払う」という考え方に近いと考えています

■質問:Data転送量に制限があるのは「使った分だけ払う」のではなくて「払った分しか使えない」仕様だと思いますがどうなのでしょうか?
月間のデータ転送量の超過分に関しまして追加では別途ご請求させていただく形になります。払った分だけしか使えないというわけではございませんのでご安心ください

■質問:と言うことは転送量に関する料金に関しては、「基本的に有料だけど、NodeのSizeによって無料転送分が付いてくる」という認識で大丈夫でしょうか?
はい、クラウドノードに付属している転送量分は無料でご利用になれますが、超過した場合は超過料金が発生いたします。

■質問:人間の生活Cycleは時間単位で変わると思うので、ある程度負荷に応じさせる為には時間課金制の方がメリットあると思うのですが、月額制しか内のは何故でしょうか?
オプションで日単位でのクラウドノード追加をご用意しております。オプションの詳細に関しましては順次公開していきますので少々お待ちください。
オプションで日単位、と言っているが話の流れからして恐らくオプションで日単位だと思われる

■質問:CPU周波数が7.2Ghzを選択出来ますがこれは3.6Ghzが二つという意味でしょうか?仮にそうだとした場合、3Ghz以下のNodeは全てSingleCoreなのでしょうか?
あくまでそのCPUのクロック周波数相当という形になります。コア数に関しましては現状非公開とさせていただいております。

■質問:通常IaaSといえばCloud基盤上にあるOSに対して利用者がSSHやリモートデスクトップで接続して利用する物だと思います。とした場合利用者からCPUのCore数は確認出来ます。当然その時には7Ghzなんて周波数は表示されないと思います
はい、もちろんそのサーバーマシン自体のCPU情報が表示されます。あくまで仮想的にそのCPUクロック周波数相当を専有できるとお考えください

■質問:そうなった場合「7Ghzじゃねぇじゃねぇか!」という問題が発生してくると思います。またOSのCore数に依って並列処理の速度が変わって来るのでCloudで動くProgramの書き方も大幅に変わってくると思います。そんな状況では非公開の意味がないと思います。
Core数に関しましては現状ではまだすべての情報を公開しておりませんので非公開とさせていただいております。順次サイトにてさまざまな情報を公開させていただくのでお待ちいただければと思います。

■質問:了解しました。「7.2Ghz」という表記に関しても今後公開される情報を見れば、誰でも理解出来る様になる、という認識で大丈夫でしょうか?
はい、お客様の必要な情報はなんらかの形で公開させていただく予定でございます。

■質問:やはり7.2Ghzという表記は間違っていると思います。Clock×コア数で算出しました、と言っても3.6Ghzx2コア、1.8Ghzx4コアでは全く性能が違います。どちらの環境下でも同じ性能が出せるApplicationなんて聞いた事がありません。
回答待ち

■質問:契約後でないと回答出来ないという事でしょうか?ただ契約をしようにも御社のCloud基盤上でOSが触れるのか、並列処理した方が速いのか、それとも独自の作り方をしないと速くならないのか、それが解らない以上、契約という手出しは出来ないと思います。
申し訳ございません。現状はまだ限られた情報しか公開しておりませんのであいまいな回答になってしまいますことをご容赦いただければと思います。

■質問:米にtruecloud.comという企業がある中でTrueCloudという名前を付けたのは何故でしょうか?
同時にCloudが未確立の時代にTrueCloudという名称は余計にバズワード化を加速させると思いますがどうお考えでしょうか?
こちらのご質問に関しましてはサービスの内容に関するご質問ではないかと思いますので、回答は差し控えさせていただきたいと思います。

次のEntry
TrueCloudへ質問してみた纏め2

2010年1月26日火曜日

2010年1月26日の気になる記事

Amazonクラウドに「キャパシティの限界を超えているのでは?」との疑い
http://www.publickey.jp/blog/10/amazon_4.html

Amazon EC2で利用しているインスタンスのCPUのsteal値が断続的に50%越え状態・・・。誰だ同じマンションで大騒ぎしている住人は!
http://twitter.com/quarterkota/status/8185732731

最終回 リソース制御でサービスレベルを確保せよ
http://www.atmarkit.co.jp/flinux/rensai/xen05/xen05b.html

CPU使用率のsteal(st)値
http://blo.g.hatena.ne.jp/rx7/20090919/p1

XenからKVMへの移行簡略化など機能満載のFedora 13
http://www.virtualization.info/jp/2010/01/xenkvmfedora-1320100125-2.html

論文:サードパーティーのクラウドサービスで発生する情報漏えいの探究
http://www.virtualization.info/jp/2010/01/20100125-1.html

ニフティがクラウド事業に参入、第1弾はIaaS
http://internet.watch.impress.co.jp/docs/news/20100126_344907.html

ページ表示が速いとグーグルで上位に表示されるように - 1/16~1/22のWeb担の記事まとめ
http://web-tan.forum.impressrd.jp/e/2010/01/25/7237

2009年10月27日火曜日

Amazon Relational Database Service

キ…(-_-)キ(_- )キ!(-  )キッ!(   )キタ(.  ゚)キタ!( ゚∀)キタ!!( ゚∀゚ )キタ━!
とうとうEC2でRDBが・・・

Microsoftがやり、Amazonがやったとなれば、これはGoogleもrdbを始めざるを得ないか?
CloudでもやっぱりRDBがくるのかなぁ・・・

Amazon Relational Database Service

2009年10月7日水曜日

HbaseとかKeyValueストアのデータ構造

KVS(KeyValueStore)のデータ構造を理解する為に色々やってみた

■Hbase独自のtable/Data操作
これはSampleDataを使ったHbaseのData構造の解説。

でこれが構造を図にしてみたやつ

2009年10月1日木曜日

JavaからHbaseをネットワーク越しに使う

Hbaseの分散環境は作れたし、取り敢えずHbase Shellの使い方もある程度は理解した。
■SQLとHbaseの操作比較
■Hbaseの操作

で次にJavaからネットワーク越しにHbaseを使いたいんだけど意外にネット探しても見つからない。Hbaseが入ってるServer上で直接Javaを動かす方法は沢山見つかるのに('A`)
まぁ地道に探して海外のWebで情報拾った結果、見事ネットワーク越しの接続が成功。

という訳で、HbaseをHttp RESTから利用する方法と、Javaから利用する方法を纏めてみた。
Javaの方はローカルでJava動かして、Hbaseが動いてるServerに接続する方法の解説
■HTTP RESTからの利用
■Javaからの利用

2009年9月30日水曜日

Hbaseの使い方をまとめてみた

Hbaseの使い方、特にSQLに相当するHbase Shellの使い方をまとめてみた。
取り敢えず完全分散環境を構築する事には成功したので色々といじってみたい所。
■Hbaseの利用

2009年9月25日金曜日

HBaseのドキュメントを和訳してみた

■HBase 0.20.0 APIを和訳してみた。
毎度の如く和訳間違っているかもしれないので、気付いた方とかいたら指摘お願いします。
完全分散を行わない限り、Hadoopに比べて設定すげぇ楽なんだね・・・。

■オマケ:Hbase0.2ドキュメント和訳

2009年9月16日水曜日

HbaseのInstallをしたんだけど

見事に資料がねぇ('A`)
と、いう事で取り敢えず■Hbase/10Minutesを訳してみた。
毎度おなじみ、間違いあったら連絡ください。
1.Download the latest stable release from the [WWW] HBase download page

2.Move the download to wherever you want to run hbase from, say to ~/hbase

3.If running a remote HDFS that you want hbase to connnect to, edit conf/hbase-site.xml and add a property for hbase.rootdir. Set it to hdfs://NAMENODE_HOST:NAMENODE_PORT/HBASE_ROOTDIR. For example, hdfs://localhost:9000/hbase. Otherwise, use the default: file:///tmp/hbase-${user.home}/hbase UNLESS you are running on windows (TODO: Restore what you do here when on windows -- St.Ack).

4.Edit conf/hbase-env.sh and define JAVA_HOME

5.Make sure that you can log into localhost without a password (see [WWW] Hadoop Quick Start, "Setup passphraseless ssh"). Test this out first! New versions of ssh require accepting a new foreign host key before logging in, even if the host is configured with authorized keys.

6.Start hbase with ~/hbase/bin/start-hbase.sh (hbase logs are viewable in ~/hbase/logs by default)

7.Enter hbase shell by running ~/hbase/bin/hbase shell; type 'help' to see shell help

8.Have fun with hbase

9.Stop the hbase servers with ~/hbase/bin/stop-hbase.sh. Wait until the servers are finished stopping. Avoid killing servers (though a 'kill pid' should be fine as opposed to a 'kill -9 pid').

1.最新版をDLする
2.~/hbase等、hbaseをInstallしたい先へ移動させる
3.hbaseで接続したいHDFSが動作している場合、「conf/hbase-site.xml」の「hbase.rootdir」を編集して下記の様にする
「hdfs://NAMENODE_HOST:NAMENODE_PORT/HBASE_ROOTDIR」例えば「hdfs://localhost:9000/hbase.」
4.conf/hbase-env.shにJAVA_HOMEを設定する
5.Password無しでローカルホストにログイン出来る様にしておく。
Make sure that you can log into localhost without a password
(see [WWW] Hadoop Quick Start, "Setup passphraseless ssh").
Test this out first!
New versions of ssh require accepting a new foreign host key before logging in, even if the host is configured with authorized keys.

6.「~/hbase/bin/start-hbase.sh」を蹴って起動する。Logは初期値だと「~/hbase/logs」にでる
7.「~/hbase/bin/hbase shell」と打った後、「help」と打つとhelpがでる
8.Hbaseを楽しんでね
9.「~/hbase/bin/stop-hbase.sh」で停止する。

2009年9月14日月曜日

Rackspace Cloud Servers

ちょっち気になるCloud基盤Serviceを発見。
■Rackspace Cloud ServersがAmazon EC2よりも優れている点
■Cloud Servers | Pricing
価格体系を見ると小規模企業、個人向けかなぁ。
取り敢えず幾つかのUseCaseを考えてAmazonと比較してみないと解らないな。因みにBaseはXenらしい

2009年9月12日土曜日

Amazon EC2料金早見表

Google Docsへ移行しました。
Amazon EC2 料金一覧 早見表


以前造ったやつだと計算が間違っていたので修正しました。更に表現の統一もしました。
■AmazonEC2料金体系
あとは一覧で並べたVerも造ってみた。
■AmazonEC2料金体系 一覧バージョン

2009年9月9日水曜日

HadoopとHBaseのInstall

基本的にHbaseはHadoopの上で動くけど、Stand-aloneで動かす場合はHadoop無くても良いみたい。
まぁ試すのであればショボイPC沢山集めてクラスタした方がおもしろそうだけどね。

■Hadoop/Hbase Clusterの構築 - LunaBiblos
に纏めてみた。

■JavaのInstall
sudo apt-get install rsync ssh sun-java6-jdk sun-java6-jre
これでやるとJavaが/usr/bin/javaに入る筈。whichコマンドで一応確認しておく事。

■Hadoopユーザの追加
sudo adduser hadoop

■Hadoopを取得してInstall
2009年9月9日時点での最新版は0.2っぽい。
wget http://www.meisei-u.ac.jp/mirror/apache/dist/hadoop/core/hadoop-0.20.0/hadoop-0.20.0.tar.gz
tar xzf hadoop-0.20.0.tar.gz
ln -s hadoop-0.20.0 hadoop

■Hadoopの設定ファイルを編集する
vi hadoop/conf/hadoop-env.sh
で開いてJavaホームを追記。今回の場合は/usr/bin/javaだったんでそれを入れるんだけど、それだとErrorが出た。という事で動く様にするには最初の/usrだけで良いみたい。
export JAVA_HOME=/usr

取り敢えず以上でHadoopは終わり。
次は本命Hbase。

■HbaseのInstall
Install先は/opt/hbase-XXXにしています。ここは好きな様に変えて。2009年9月9日時点での最新版は0.2。
wget http://ftp.riken.jp/net/apache/hadoop/hbase/stable/hbase-0.20.0.tar.gz
tar xzf hbase-0.20.0.tar.gz
chown -R hadoop:hadoop hbase-0.20.0
export HBASE_HOME=/opt/hbase-0.20.0

■Hbaseの設定
sudo vi /opt/hbase-0.20.0/conf/hbase-env.sh
でJavaホームを追記する。
export JAVA_HOME=/usr/

■Hbaseの起動
/opt/hbase-0.20.0x/bin/start-dfs.sh

■HBaseの動作確認
/opt/hbase-0.20.0x/bin/hbase shell
help
create table myTable;
helpでなんかだーっと出て、SQLでErrorはかなきゃOK

じゃ次はクラスタだな。

参考サイト
■MapReduceのJava実装 Apache Hadoopを使ってみた
■HBase 0.20.0 API
■[VirtualPC][Fedora][Hadoop] FedoraにHadoopを入れたときのメモ。
■[Hadoop][hBase][Fedora]FedoraへHBaseをインストール
■Running Hadoop On Ubuntu Linux (Single-Node Cluster)
■Fedora7 Xen上でHadoop Clusterを試す
■Hadoopを用いたクラスタコンピューティング環境の構築
■Hadoopのインストールとサンプルプログラムの実行
■複数マシンへHadoopをインストールする

2009年8月24日月曜日

AmazonEC2とS3の料金

どこを見ても料金が安いかとか高いかとかの議論ばかり。
そんなのは俺らでやるからまず価格だけ羅列した資料だけよこせと。

という訳で一覧にしてみた。blogだと見にくいからWikiでやってみた。

■AmazonEC2料金体系
■AmazonS3料金体系

S3をBackUpメディアとして使うっていう方法があるけど、取り敢えずGB単価は現在のHDDのGB単価の約2倍
1TBのHDDが8円/GB。
S3だと約15円/月。

HDDの耐用年数を4年(48ヶ月)として1GBを1ヶ月保持する為に必要な単価を考えると約10倍
1TBのHDDで0.166円/月。
S3だと約15円/月。

2009年6月17日水曜日

UbuntuでNagios

EC2とかESXiとかXenServerで動いてる仮想Machineの様子を監視したいという事で監視ソフトを捜索中。
適当にググったらNagiosっていうのが見つかったのでInstallしてみる。
もちろん利用環境はUbuntu9.04Server

sudo apt-get install nagios3
とここで作業中断中。

OpenNebulaのInstallの続き【未完】

Under the MOON: Dark horseか?の続き。この前のは本当にOpenNebulaを入れただけなので今度は動く様にする。参考資料はOpenNebulaの公式にOpenebula:Quick Start Guide 1.2っていう解説があったのでこれを元にちょっと使って見る。

1.必要Componentの準備

OpenNebulaが入ってるUbuntuにまず不足しているパッケージのインストール。
sudo apt-get install scons nis
ちょっと変数の説明。
$Master・・・OpenNebulaが入ってるPCの事。
$Xen・・・OpenNebulaで監視されるXenServer。複数あるならその台数だけやる。

2.NISの設定

構築するServer群で利用するAccountの同期をとる為にNISを使う。なおUbuntu9.04でapt-getからOpenNebulaをInstallしている場合、「oneadmin」は自動で作られているみたい。
$Master側
groupadd xen
useradd -G xen oneadmin ←なきゃ作る
usermod -G xen oneadmin ←あれば変更
cd /var/yp
make
が、ここでのmakeでERRORがでて止まってしまう。
事前にNISは設定しておけと書いてあったが・・・。
取り敢えず調査中。

$Master側
「Xen」GroupのIDを確認する。
cat /etc/group

確認した「Xen」GroupのIDの値を$Xen_GIdとする

$Xen側
echo rootxen:x:$Xen_GId:root >> /etc/group

■SSHの設定
SSHの鍵を作る。
$Master側
ssh-keygen

コマンドを打つとKeyの生成を開始する。取り敢えず3回Enterを押せば出来上がる。出来上がったSSHKeyはデフォルトだと「/home/$user/.ssh/id_rsa」に出来るはず。$userはコマンドを実行したLinuxのUser名。
$Xen側
scp id_rsa.pub $Xen

2009年6月16日火曜日

ec2-api-toolsを動かすまでのメモ

利用環境は毎度おなじみUbuntu9.04 Server。そこにec2-api-toolsをインストールします。
まぁ相当古いネタだからググればそこら中のblogで引っかかるけど自分のメモとして。

さて、なんかよく分からないけどUbuntuにはOpenJDKとSunJavaのJDKの二種類があるみたい。
どっちがどういいんだか分からないけど、どっちでもヨサゲ。

sudo apt-get install sun-java6-jdk (Sun Java JDKの場合)
sudo apt-get install openjdk-6-jdk (OpenJDKの場合)
apt-get install ec2-api-toools
export JAVA_HOME=/usr
export EC2_HOME=/usr/lib
で基本インストール終了。ec2-api-toolsは「/usr/lib/ec2-api-tools」に入るっぽい。
次に本当に動くか簡単なコマンドを投げてみる。
ec2ver
このコマンドを投げて、「1.3-34128 2009-03-01」みたいな値が帰ってくればOK。

次に暗号鍵の設置。最終的に暗号鍵は環境変数に場所を書くので、実ファイルを置くのはどこでも良い。仮にUser名が「yutuki」だとして作業を進める。
mkdir /home/yutuki/ec2
// FTPでも何でも良いのでここに暗号鍵二つをUpする。
export EC2_PRIVATE_KEY=/home/yutuki/ec2/pk-XXX.pem
export EC2_CERT=/home/yutuki/ec2/cert-XXX.pem
以上で設置完了。
本当に動くかどうか下記コマンドで確認
ec2-describe-instances
このコマンドを投げると自分のAccountで現在動かしているInstanceのListが表示される。