タグ

ブックマーク / chopl.in (3)

  • fluentdのoutputプラグインでブロックするものはBufferedOutputを使うべき - still deeper

    tl;dr タイトルのまま 前置き fluentdクラスタのあるノードにだけ、そのノードに送信しているout_forwardがdetachされ続けるという症状が出ました。 調査したところ、外部への通知用に追加したhipchatプラグインを追加したところで症状が発生するようです。 原因 BufferedOutputプラグインでの write メソッドでのスタックトレースはこんな風になります。 /home/choplin/git/fluentd/lib/fluent/buffer.rb:296:in `write_chunk' /home/choplin/git/fluentd/lib/fluent/buffer.rb:276:in `pop' /home/choplin/git/fluentd/lib/fluent/output.rb:309:in `try_flush' /home/cho

  • SQL感覚でHiveQLを書くと痛い目にあう例 - still deeper

    Hadoop Advent Calendar 2013 4日目の記事です tl;dr explainとjob historyを読め 1 reducerは悪 data skewは悪 前書き みんな大好きSQLでHadoop上での処理を実行できるHiveにはみなさん普段からお世話になっていることでしょう。ちょっと調べ物でググる度に目に入る愛らいしいマスコットが、荒んだ心に清涼な風をはこんでくれます。 ですがHiveのクエリ言語はSQLではなくHiveQLですし、実行エンジンもRDBのそれとは全く異なるMapReduceです。SQLのつもりでHiveQLを書いていると地雷を踏んでしまうことがまれによくあります。エントリでは陥りがちなHiveQLの落とし穴を2つ紹介します。 例1 SELECT count(DISTINCT user_id) FROM access_log SQLに慣れた方であれ

  • fluentd自身のログにまつわるノウハウ - still deeper

    fluentdのログ 流行に敏いみなさまは既にfluentdのクラスタを組まれているかと思います 1 が、fluentd自体のログはどうしてますでしょうか? サーバーに直接入って確認している?せっかくログアグリゲーターを組んでいるのだから、fluentd自体のログもfluentdで管理しませんか。 fluentdでは以下の様な match を定義しておくと、自身のログをメッセージとして流すようになっています。 <match fluent.**> ... </match> 流れてくるメッセージはこんな感じ。 fluent.info: {"message":"force flushing buffered events"} fluent.warn: {"message":"emit transaction failed"} fluent.error: {"message":"forward e

  • 1