Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hadoop Ops & Fabric

3,290 views

Published on

hadoopの運用を少しでも楽にしたくてfabricしたよ! というスライド

Published in: Engineering
  • Be the first to comment

Hadoop Ops & Fabric

  1. 1. No. Date Hadoop Ops & fabric @shoe116 20150627
  2. 2. No. Date エンジニアリングでお金を稼いで、音 楽とアイドルにお金を使っています。 twitter @shoe116 blog http://shoe116.hatenablog.com/ soundcloud @shoe116 about me ①
  3. 3. No. Date エンジニア&データサイエンス mapreduceとかHiveQLを書く hadoopのシステム開発(batchとか) dev/ops(リリースとか脆弱性とか) Impalaとかpythonでデータ分析 言語とか python > C++ > php > English > Java お仕事の話
  4. 4. No. Date - 本質的な複雑さは単純に(1) - 付随的な複雑さは取り除く(1) - Don't repeat yourself (2) お仕事のポリシーとミッション (1)ニール・フォード著 「ソフトウェアアーキテクトが知るべき97のこと」 (2) アンディ・ハント、デイブ・トーマス共著 「達人プログラマー」 ※くわしくはこちらをご参照ください!
  5. 5. No. Date 「人がみんな、感情をスピーディ に且つ美しく表現して、それを享 受した喜びでまた新しい価値観や 世界がうまれて、そういう創造的 な社会」(3)になったらいいな。 当然自分たちの分析・開発環境も こうなっているべきだ。 (3)大森靖子 http://blog.livedoor.jp/omorimorimori/archives/52178509.html
  6. 6. No. Date #1 Hadoop Ops
  7. 7. No. Date 分散すると運用は大変 エンジニア小人数、サーバ多数 HDPの構成管理複雑 MapRってとこのHDP使ってるけど、向 こうの手順は全部手作業で死ねる 設定ファイルがばら撒かれている yum打つだけでも一苦労 アカウント管理、セキュリティ対策 hadoop(Mapr) ops is hard
  8. 8. No. Date python製のsshラッパー fabric 複数サーバにssh越しにコマンド実行 構築手順のshellを並列化した 手続きベースでやりたい sed, grep, yum, service… 使い勝手の問題 構成管理よりコマンド打ちたい! pythonならみんな書ける 構成管理はchef/ansibleのが良さそう Fabricを使ってみよう
  9. 9. No. Date システム構成 jenkins jenkins slave stg(hadoop) prd(hadoop) dev - account - settings master
  10. 10. No. Date システム構成 master jenkins jenkins slave stg(hadoop) prd(hadoop) dev Fabric - account - settings
  11. 11. No. Date shellコマンドを打つ アカウント情報やサーバ設定更新 セキュリティインシデント対応 serviceのstart, stop, check 不具合調査 Hadoopクラスタの構成管理 パッケージ、ユーザの管理 テスト、リリース やらせていること
  12. 12. No. Date 使い方は簡単 $ fab –H host task - hostはhostname(複数可) - taskはpythonで記述する関数
  13. 13. No. Date run / sudo sshしたhostでコマンド実行 run(“ls /home/*”) sudo(“rm –rf /”) local sshしたhostでコマンド実行 local(“cat ‘hoge world’”) shellをくるめるapi
  14. 14. No. Date reboot waitしてくれるの最高 cd ディレクトリにcdしてコマンド実行 execute taskを実行して標準出力を取れる 早く帰れるapi def grepMoge(file): run(‘grep Moge ’ + file) print execute(grepMoge(‘./file’)
  15. 15. No. Date 複数サーバに同じコマンドをssh越し に送りつけるのにとても便利 rebootでwaitできるの超助かる taskをいっぱい定義してexecute! コマンドなので、冪等性について考 慮した設計になってない Welcome to Fabric からどーぞ! fabricまとめ

×