たごもりすメモ

コードとかその他の話とか。

Hadoop

shib v0.2.0

shib v0.2 beta なのを書いてる - tagomorisのメモ置き場書いてましたが、APIをひととおりfixしたのでgithub上でv0.2.0のタグを打ちました。お仕事で既にこのバージョンを使ってます。 移行したい人は上記エントリの注意書きを読んでください。http://github…

shib v0.2 beta なのを書いてる

だいぶ前に最初のバージョンをつくった shib というHive Webフロントエンドツール、ずっと使ってるんだけど色々こまめに手を入れたりしてた。tagomoris/shib · GitHub Hive Client Webアプリケーション shib をつくった - tagomorisのメモ置き場 Hive WebCli…

CDH4で YARN から MRv1 にスイッチ

CDH4.2 + YARN + Hive でしばらく動かしてたんだけど、なんか一部のクエリが失敗しまくる。おかしいなーと思ったらこれにひっかかってた。https://issues.cloudera.org/browse/DISTRO-461なんだかなー。いい回避策がないかあれこれやってみたんだけどどうに…

CDH4でHiveServerを使う際の注意点

CDHでHadoopを使っている良い子のみんな、hiveserverまわりで罠があるので気をつけましょう! という話。ふたつあるので順番に。 hive-server 再起動時にログがtruncateされる hiveserverがなんかおかしかったりすると、原因究明はやるとしてとりあえず再起…

YARN/Hiveな環境で大量の一時ファイルとログをごりごり削除する

YARN使っててHDFSにログを吐くよう設定してるとアホみたいにたまっていくので削除しないとやばい。 とりあえず10日経過したら削除するようにした。 ( for searchpath in '/tmp/hive-*' '/mr-history/done/*/*' '/mr-history/tmp/*' '/yarn/user/*/.staging' …

DataNodeのIPアドレス変更

新クラスタでちょっとネットワーク設計まずってた! slave nodeだけ直したい! という話がありましてIPアドレスの変更を伴うので、やってた。結論だけ言うと以下の手順でいけた。これを1台ずつ、NameNodeでちゃんとノード認識が戻ったことを確認しながらやる…

CDH3u5でWebHDFS

いろいろあって待ち望んでいたHadoop CDH3u5がリリースされましたね!注目するところは人それぞれだろうけど、個人的にはWebHDFSのサポートが入ったのが大変嬉しい。前にCDH4で試したりはしていたけどCDH4に移行するのもいろいろアレそうだし、と思っていた…

WebHDFSとHttpFsについての簡単なベンチマーク

前のエントリの続き。実用上どうなのってことで、とりあえず簡単にベンチマーク的な負荷走行をしてみた。 実行環境は以下の通り。なお HttpFs Server はNameNode上に立ててある。 CDH4b2 + HttpFs/WebHDFS NameNode x1 2CPU 8GB Memory DataNode x4 2CPU 8GB…

CDH4b2におけるWebHDFSとHttpFsについて

CDH4b2でWebHDFSとHttpFsについていろいろ試しているので、分かっている内容をまとめてみる。なお注意点だが、各々以下のような状況であることに注意。 WebHDFS たぶんHadoop 1.0ベース HttpFs たぶんHadoop 0.23ベース(あるいは 2.0 alpha ベース) でHoopと…

CDH4にいったん挫折した

CDH3で使ってる設定ファイル群を基本的にそのまま(ノードリストなどだけ書き換え)でCDH4の検証クラスタを作ろうとしてみた。ら、以下のような事情でいろいろ面倒くさかったのでいったん挫折したのが本日あったこと。 使う環境変数がいろいろ変わってる YARN_…

「tagomorisが騙る はじめてのHadoop」

深夜に「はじめてのHadoop」が出版されるとしたら欲しいネタの一覧をなんとなく考えてた。Hadoopクラスタのセットアップを新規にやるのが予定にあるので、それも含めてトピックだけ書き出しておこうかなと思った次第。 「初めてのHadoop」ちょっと考えてたが…

hiveの出力が圧縮される方法がよくわからない、と思っていたら俺があほでした

きわめてざっくり書くと以下のような感じ 同じようなクエリを発行しているふたつの出力の圧縮方法が違う 片方はHDFS上でのファイル全体がgzip圧縮されている (ファイルを見ると 00000_0.gz のようになっている) 片方はレコード/ブロック単位でのgzip圧縮にな…

「Hadoop Hacks」読んだ

「Hadoop Hacks」を著者陣のご高配を得てオライリー・ジャパンから献本いただきました。ありがとうございます。Hadoop Hacks ―プロフェッショナルが使う実践テクニックposted with amazlet at 12.04.26中野 猛 山下 真一 猿田 浩輔 上新 卓也 小林 隆 オライ…

HDFSでMissing blocksが出た場合、DataNodeに問題があって外したい場合の対応メモ

手元でちょっとやったのでメモっとく。 Missing blocksが出た場合 HDFSのブロックが読めなくなることがある。手元ではHoop Server経由でappendが高頻度で発生している状況で、さらにHiveのクエリ実行が重なって派手にiowaitが出たときに起きた。 こうなると…

Hoop(httpfs)とwebhdfsの違い

Hadoop 1.0.0がリリースされた。まあ中身のほとんどはただの 0.20.x 安定板リリースなので特別に言うことはないんだけど。詳しくは以下のblogを読むのがよろしい。hadoopのバージョン表記について - 科学と非科学の迷宮ただしひとつだけびっくりしたのは、we…

fluent-plugin-hoop v0.1.0 released

みんな大好き fluentd は素敵だと思うんだけどHDFSへの書き出しをするプラグインが無い! なんで! という全世界100万人のエンジニアの怨嗟の声が聞こえてきそうだったので、とりあえずどうにかするべく書いた fluent-plugin-hoop がだいたい動くようになっ…

HDFSのファイルオペレーション各種 #hadoopAC11jp

この記事は hadoopアドベントカレンダー の14日目の記事です。みなさんHDFS使ってますか。使ってますよね。最近はgluster fsなどの選択肢も出てきていますが、まだ第一の選択肢はHDFSという人がほとんどだと思います。 で、HDFSのファイル操作をどうしようか…

Hoopの性能を確認してみたらもうlibhdfsとかオワコンでHoop使えって結果になった

前に書いた エントリ の通りHoopが有望な感じだったんだけどどのくらいの性能が出るのか見てみないことには本番投入して性能出ませんでした乙、ということになりかねない。ので見てみた。なお検証に関係する環境としては以下の通り。ちなみに前はCDH3u1で試…

CDH3u2とCDH3b2がHDFSプロトコルにおいて非互換らしい

いま使っている環境(scribe + CDH3b2クラスタ)からHadoopクラスタを別のノード群で構成しなおすことになったのでCDH3u2で組んでみたんだけど、いざ相互接続をやるべー、と思ったらなんかscribedからHDFSに書き込みができない。 最初はよくあるネットワークや…

Hive Client Webアプリケーション shib をつくった

(2013/04/02追記 see: http://d.hatena.ne.jp/tagomoris/20130402/1364898063 )まだ完成度がいまいちだからなーと思ってエントリ書いてなかったんだけどLTでしゃべっちゃったので、ちゃんと書いておく。Hiveにクエリを発行して結果を確認するためのWebアプリ…

Hadoop Conference Japan 2011 Fall に行ってきた&しゃべってきた

なんかすごいイベントだった。User Group主催のイベントなのに2ホールを1日貸し切り(というか施設まるごと貸切)でキャパシティ1400人のイベントとかどういうこと。しかも無料参加なのにランチボックスとか飲み物とか出てた。意味がわからん。カネのあるとこ…

Hoop (HDFS over HTTP) を試してみた

バッチ処理にかける対象ファイルの抽出には中身を見る必要があって、headやtailでいいんだけどhadoop fsコマンドではそういうオペレーションができない*1ので FUSE hdfs でLinuxにHDFSをmountしてやっている。 が、これがまたビルドするのにひと苦労だったり…

Hadoopとscribedの組合せ・2011年夏

Hadoopクラスタを組み直す機会がやってくるのでこの際だからHadoopのバージョンを上げるべくあれこれテスト中。で、それにあわせて scribed のビルドもやったのでせっかくだから記録を残しておく。なお以前(2011年当初)の状況については以下のエントリを参照…

"Hbase at Facebook" に行ってきた

名称表記が揺れてて微妙だけど Hbase at FaceBook on Zusaar このイベントに行ってきた。Facebookの人は "HBase Tokyo meetup" と認識していたようだ。 内容のまとめはやらないので、以下の各ページなどをご覧になると良いのではないでしょうか。Tokyo HBase…

圧縮ファイルを入力にしても展開されない症状

CDH3b2にて。 Hadoop Streaming (MapReduce) では入力が圧縮ファイルだと拡張子を見て適当に展開してくれる。くれるはずなんだけど、なんか気付いたらうまく展開できないようになってた。どうもバイナリデータのまま mapper に渡されているらしい。 しかし手…

OSXでfuse hdfs mountしたい(できてない)

Mac OSX環境で fuse hdfs なシステムの開発・テストをしたいので調べてみたら macfuse - The Easiest and Fastest Way to Create File Systems for Mac OS X - Google Project Hosting なるものがあるらしいじゃないデスカ。 ということでこれをさくっとダウ…

HiveServerを使用してPythonやPerlからHiveQLを実行する

HiveServerはThriftプロトコルをしゃべる*1ので、おなじくThriftで接続すると任意のクエリを発行できたりして大変便利。ということで、やったので、そのメモ。 準備 まずHiveServerだけど、hiveコマンドを叩いてクエリが実行できる状態なら以下のコマンドで…

Hive CLIをHiveServerに接続して使いたい(が、現状ムリ)

Hive CLIはHiveQLをがんがん書くとさくさくMapReduceされて超絶便利なんだけど、HiveServerをどこかに立てて複数のアプリケーションからそこに接続する場合、Hive CLIをどう使えばいいの、というのがぱっとわからなかった。ぐぐってみてもぜんぜん方法がひっ…

fuseでhdfsをmount

CentOS 5.5 において Hadoop hdfs をFUSEでmountする方法。なんだかんだでまた数時間苦労した。 基本的には MountableHDFS - Hadoop Wiki の通りなんだけど、なんか微妙に説明不足でひっかかりまくり。あと追試してないんであんまり明らかではないが、以下の…

Hadoop(libhdfs)各バージョンとscribeの微妙な関係

調べた内容を忘れそうなのでメモ。Hadoopのリリース元およびバージョンごとにあれこれとscribeから使えるかどうかの制約があるので、書き出してみる。 scribeから使えるHadoopのバージョン Apacheリリース版 stable 0.20.2:ダメ scribeをApacheリリース版の…