2013-01-01から1年間の記事一覧

2013年振り返り

etc

2013年の振り返りです。一言で言うとHadoopでログ解析してました。データ量がどんどん増えてそれにともないノード数も増えました。あとジョブ数も増えましたね。扱うミドルウェアもHadoop/HiveだけじゃなくてHBaseやStorm、あとはAzkabanやfluentdといったも…

fluentdのin_monitor_agent

fluentdにはin_monitor_agentというプラグインが標準で入っていてこれを使うとバッファの状態、具体的な項目としてはretry_count, buffer_total_queued_size, buffer_queue_lengthをモニタリングすることができます。参考にしたもの: How does it feel?: td…

HadoopのMapReduceの運用

http://kzk9.tumblr.com/post/69268410641/2013-hadoop-treasure-dataを見て良いエントリだなと思いつつそういやHadoopのMapReduceの運用ってどうやんのがいいんだろって思って本エントリを書きました。Treasure Dataに限らずある程度の規模のHadoopクラスタ…

Hive 0.12へのバージョンアップ

Hive 0.11から0.12へバージョンアップしたのでメモっておく。今のところ特に問題は発生していない。前回Hive 0.9からHive 0.11へバージョンアップしたときは[HIVE-5237] Incorrect group-by aggregation in 0.11.0 - ASF JIRAというバグを踏んでプギャーって…

Web APサーバーとWebフレームワークをつなぐもの

インターネット黎明期はCGIが一般的でPerl+CGIで掲示板を作るというのはよくあるパターンだったと思う。CGIは言語非依存で環境変数経由でHTTPリクエストパラメーターなどを受け取って標準出力に出せば良いというシンプルなモデル。リクエストごとにプロセス…

小江戸川越マラソン2013でハーフマラソン走ってきた

半年間練習してきましたが、ハーフマラソン走ってきました。初です。タイムは記録2時間6分20秒。ネットタイム2時間12秒でした。ネットタイムはスタートラインからゴールラインまでに要した時間のことでたぶんゼッケンについてたICタグで計測してると思われま…

RDBMSのコネクションプーリングとかその辺の話

データベース技術の羅針盤 from Yoshinori Matsunobu これは素晴らしい資料で後半のキャリアの話とか面白いんだけど、今回書くのはp6,p8に書かれていた下記の話です。 PosgreSQLは接続がプロセスベースなのでLL言語との相性がよくない Pgpool(これはプロキシ…

chefとかvagrantとかfabricとか

chefを使いそうなのでその辺素振りしてみる。chefの前にまずvagrantとvirtualboxをそれぞれダウンロードしてインストール Boxファイルの追加 $ vagrant box add centos63 https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box $ vagrant…

疎結合っていいよね

今までの経験でいろんなレイヤーで依存性べったりで密結合なシステムを見てきてそれをちょっとだけ改善してきて思うところを書いてみる。小さなシステムであれば多少は密結合でも何とかなるかもしれない、というか扱うファイル数、Gitプロジェクト数が1つで…

バージョン毎のHBaseアクセス方法

とりあえずめもっとく0.90系。馬本に書かれているのはこのパターン。 … HTablePool pool = new HTablePool(...); ... HTableInterface table = null; try { Put put = new Put(...); ... table = pool.getTable(…); table.put(put); } catch (IOException e)…

転職して約1年経った

早いもので転職して約1年経ちました。こんなブログを書いていたのが遠い昔のようですがまだ1年しか経ってないですね。 転職します - wyukawa’s blog 入社しました - wyukawa’s blog いわゆるSIerからWeb系への転職だったので環境が結構変わって慣れるのに時…

ログ解析環境についてなんとなく書いてみる

ふとログ解析環境についてなんとなく書いてみたくなったので書いてみる。データサイエンティストブームなるものがあると思いますが、データサイエンティストって言ったときに、Hadoop/Hiveあたりを使ってデータをきれいに整理して分析しやすいように加工する…

デイリーサッカーニュース Foot! FRIDAY“ESPECIAL”(10/11) の吉田麻也(サウサンプトン)インタビュー が良かった

デイリーサッカーニュース Foot! FRIDAY“ESPECIAL”(10/11) で吉田麻也(サウサンプトン)のインタビュー をやっていてそれが良かった。特に最後。吉田麻也に対する個人的な印象はというと性格が良さそうでいいひとそうで、プレー面はというと日本代表の試合…

HiveとHBaseの連携は難しい

Hive 0.11.0にバージョンアップしてmultiple insertに関わるバグである[HIVE-3699] Multiple insert overwrite into multiple tables query stores same results in all tables - ASF JIRAを心配しなくて良くなったけど代わりにネストしたgroup byに関わるバ…

Hive 0.11で遭遇した問題をメモっておく

Hive 0.11.0へのupgrageを行うため開発環境でいろいろ試しているのだがすんなりとはいかなかった部分があるのでメモっておく。問題が再現する最小のクエリを準備するのが面倒なのでそこは略してスタックトレースだけのっけときます。 HiveとHBaseを連携した…

5月からちょっとづつランニングしてる

会社の人とみんなでランニングしようかーみたいな話になって5月からちょっとづつランニングしてます。僕自身もう30をだいぶ過ぎたオッサンだし体重も増えた気がするし、そういや最近というかここ1年ぐらいフットサルもしてないのでそろそろ運動しなきゃとい…

「ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道」を読んでみた

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/07/27メディア: 単行本購入: 35人 クリック: 450回この商品を含むブログ (150件) を見る目次はこちら …

ログ解析における統計値の妥当性

ログ解析における統計値の妥当性をどうやって担保するのかは難しい問題だと思っていてぶっちゃけ最終的にはオレを信じろ、でも間違ってたらゴメンの世界な気がする。社内で閉じていて外に出ない統計値ならまあいいんだけど、世の中そんな統計値ばかりではな…

本番サービス用Hadoopクラスタと統計用Hadoopクラスタの違い

僕が日頃触っているのは統計用Hadoopクラスタで本番サービス用Hadoopクラスタのことはそんなに分からないんだけど見た範囲で言うと違いがいくつかある。本番サービス用Hadoopクラスタっていうのは例えばTwitterのようなつぶやきサービスだったらつぶやきを保…

buffer_chunk_limit x buffer_queue_limit x fluentdの起動プロセス数

唯一、buffer_chunk_limit と buffer_queue_limit をかけた総メモリ使用量がマシン全体で使えるメモリ量よりも小さくなるようにすること、という点のみ気をつけよう。 Fluentd out_forward における最適化パラメータいくつかの話 - たごもりすメモ これを気…

Hadoopを使ったログ解析システムにおける時間別のジョブ、パーティションについてつらつらと書いてみる。

ログを1時間毎にためてそれをHadoopで処理するなんていうのはよくあるパターンではないかと思う。例えば時間別のPV, UUを求めたいとかね。その場合20130806-1800, 20130806-1900みたいなHiveパーティションを用意するのではないだろうか。20130806-1800パー…

ログのフォーマットやparse処理についてつらつら書いてみる。

ある程度構造化された半構造化ログのパターンとしては以下があると個人的には思ってる。 Apacheのcombined ログフォーマットや独自フォーマットなどである程度決まったフォーマットで保存されておりHuman Readableだけどログのparseに正規表現が必要なもの。…

Hadoopサーバのディスク容量減少アラートが飛んできた!ってときにどう対処するか

Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々 Linuxサーバのディスク容量減少アラートが飛んできた!ってときにどう対処するか - たごもりすメモ Cassandraサーバのディスク容量減少アラー…

ShuffleがうまくいかなくてReduceが遅くなる現象

たまに起こる現象でちょっと困っているのがMapReduceのジョブを実行していてShuffleがうまくいかなくてReduceが遅くなる現象というのがある。遅くなっているMapReduceのジョブのログをみるとこんな感じになっていてTaskTrackerからのcopyに失敗しているよう…

監視、モニタリング、サーバー管理

いわゆるSIer(BtoB受託開発がメインでプロパーは管理、パートナーが開発をやるような会社をここでは指す)からWeb系(BtoC自社サービス開発がメインで基本的にプロパーしかいないような会社をここでは指す)に転職して8か月ほど経ちましたが、自分が今までや…

HBase, Cassandra関連でスライドがいくつか上がっていたのでメモっとく

InstagramがCassandraを使っているらしい - wyukawa’s blogで取り上げたInstagramがCassandraを使っている話の資料がslideshareに上がってました。Cassandra Summit 2013でのプレゼンですね。 C* Summit 2013: Cassandra at Instagram by Rick Branson from …

grepコマンドの-Aオプションと-Bオプションと、時々、-Cオプション

最近知ったgrepコマンドの-Aオプションと-Bオプションと、時々、-Cオプションについてメモっておく。例えば設定ファイルを見てHDFSのブロックサイズを知りたいとします。hdfs-site.xmlをdfs.block.sizeでgrepすると下記のようになります。 $ grep dfs.block.…

大量データを扱う際に気にするといい(かもしれない)チェックポイント

いままで教えてもらったことを忘れないうちに軽くメモっておく。MB単位のデータだったら気にする必要はそんなに無いと思うけどGB以上になってくるといろいろ考えること増えるのよね。 シングルスレッドで処理するのではなくマルチスレッドでの処理を検討する…

fluentdでメッセージ送信失敗した場合のハンドリングをどうするか

fluentdは普段元気に動いていて特に問題は無いのですが、私の環境ではごくまれに数ヶ月に1回くらい使用メモリが徐々に増大してqueue size exceeds limitというバッファ溢れを起こすときがあります。この場合メッセージ送信が失敗しますしfluentdのログが爆発…

InstagramがCassandraを使っているらしい

Instagramといえば1年前の以下の資料によればAWS上にDjangoを使ってサービスを展開させておりデータのストレージとしてはPostgreSQLとRedisを使っていました。 「バックエンドの経験はなかった」Instagram創業者は、どうやってシステムをスケールさせてきた…