タグ

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

  • fluent-plugin-event-snifferというプラグインを書いた - still deeper

    tl;dr; fluetndに流れているイベントをWeb UI上で確認できる fluent-plugin-event-sniffer というプラグインを書いた。 https://github.com/choplin/fluent-plugin-event-sniffer 概要 以前、コマンドラインからfluentdのイベントを見ることができる、 fluent-tailというツールを書いた んですが、Webアプリ版が欲しいという声がチラホラあったので作りました。 デモ

  • RHEL6系でansibleを使うならrecord_host_keysをFalseにすると速くなる - still deeper

    tl;dr; タイトルの通り。RHEL6系なのでCentOS6、ScientificLinux6なども該当。 Pramiko ansibleは各ホストとの接続にはsshと使います。この時、sshにはControlPersistという機能に対応していることが必要で、opensshならバージョン5.6以上が対象です。ansibleのデフォルトの動作では、PATH上のsshコマンドがControlPersistに対応していればsshを使い、そうでない場合はparamikoというpythonのsshライブラリが用いられるようになっています。 RHEL6系のopensshはバージョン5.3の為、何も設定せずに使うとparamikoが用いられます。 Paramikoが遅い ところがこのparamikoを用いたansibleの実行はかなり遅いです。どの程度遅いかは末尾を参照。特に台数が多い場合にその影響

  • 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に慣れた方であれ

  • 1