サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
oranie.hatenablog.com
僕のセッションを聞いて頂いた皆様、主催の@railuteさん、その他にも会場で色々とお世話をして頂いた皆様本当にありがとうございました。正直前半は人数の多さと喋っている目の前でコミッターの@aaronmortonさんや@spycedさん、@AlTobeyさん、@yukimさんなどDatastaxの人達がいてアガりまくっていました。なので、かなりお聞き苦しい所が多々あったかと思いますがご容赦下さい・・・。 発表したスライドはこちら cassandra 100 node cluster �admin operation from oranie 一部直した所があるかも。 今回参加させて頂いて凄い助かったのは同時通訳のシステムがあって、英語の発表も完全じゃなくてもニュアンスまでは理解できたのが凄い助かりました。 ただ、発表終わって話掛けて貰ったのに英語だったので ('A`)「さ、さんきゅー」
スライド作らなければいけないけど現実逃避でメモがてら整理する。(要はヨタ話ですよ。) 夜中とかにアラート来て「うへぇ(´Д`)」ととなるけど、これは果たして運が悪い、若しくはイケていないシステムだからなのだろうか。 まずこういう時は冷静にならなければいけない。スピリチュアルに「あいつの日頃の行いが悪いからだ」「データセンタの風水が悪い」「サーバをラッキングする時にお祓いをしなかった」とか考えても駄目だ。ではどうするか。わかりやすく整理するために「業務時間内に障害対応をしたらアタリ」「それ以外はハズレ」と考えよう。 まず1週間サイクルで考えて業務時間を9:00〜18:00と仮定してみよう。 単純にこれだけで、24時間の内9時間しかアタリの時間は無い。残りはハズレだ。9時間 / 24時間 = 0.375(37.5%)で既に丁半博打より分が悪い。 そして土日も休みだとすると、一週間で5日しかこの
fabricで例えばapacheを起動したい場合に sudo("/etc/init.d/apache2 restart")と当然書くじゃないですか。で確認するとちゃんとプロセス起動しない訳じゃないですか。 で、どうすれば良いかと言うと公式docに書いてあった。http://docs.fabfile.org/en/1.8/faq.html Init-style start/stop/restart scripts (e.g. /etc/init.d/apache2 start) sometimes don’t like Fabric’s allocation of a pseudo-tty, which is active by default. In almost all cases, explicitly calling the command in question with pty=
ひょんなことからredisを使う事になりそうなので、2.6系のconfigの項目の意味をとりあえずざっくり調べた。調べたとか言っておきながらまだよ〜分かっていない所とか、一部defalutと違う所があるかもなのでそこはよしなにお願いします。 とりあえずは http://redis.shibu.jp/admin/config.html を読むのが一番ですね。 daemonize yes #daemon化するか pidfile /var/run/redis/redis.pid #pidの置き場所 port 6379 #bind port timeout 120 #idle session timeout. 0 is disable tcp-keepalive 0 #keepalive defalut is 0 loglevel notice #log level logfile /var/lo
@oinume、@la_luna_azul と一緒に10/5 一日目に参加しました。結果はタイトル通り見事惨敗です! 全体の詳細は@oinumeが書いたブログが詳しくまとめてくれているのでそちらで。 #isucon の予選に出場して惨敗してきた( ー`дー´)キリッ 僕はデータストア担当、それにくわえてデプロイとかベンチ走らせたりとかモニタリングとかサーバオペレーション全部というか雑用という事でとりあえずやった事とかをつらつらと書きます。 ・AMIを自分のアカウントで起動させようとしたらいつまで待ってもAMIのリストが出てこなくてJsonほげほげとかいうエラーで見れない ・しょうがないので、@la_luna_azul に頼んで僕の分のインスタンスを作ってもらう。インスタンスご馳走さまです。 ・とりあえず公式に言われた通りREADME読む。supervisordの設定見る。 ・当初からメンバ
現行のクラスタを一度止めてデータを別のサーバ群にコピーしてクラスタを再構築したいという要件があったので調べた。 公式ElasticSearch(Ver 0.90.5で確認)のrpm installで作成されるディレクトリ /var/run/elasticsearch /var/lib/elasticsearch /var/lib/elasticsearch/elasticsearch /var/lock/subsys/elasticsearch /var/log/elasticsearch /usr/share/elasticsearch /usr/share/elasticsearch/bin/elasticsearch /etc/elasticsearch /etc/sysconfig/elasticsearch /etc/rc.d/init.d/elasticsearch上記の内、デ
乗るしか無い、このビッグウェーブに。 (このエントリとこのエントリの三番煎じです。) - 追記 Cassandraはデータ領域のDisk使用量が50%でクリティカルと記載しましたが、いきなりズドンと落ちるとかでは無く、compactionを実行した時にテンポラリーファイル作成します。これは対象のSSTableのサイズに依存します。で、このテンポラリーファイルが作成できなくなる可能性がある閾値が50%です。 http://wiki.apache.org/cassandra/CassandraHardware_JP から引用 MemtableSSTableで述べているように、コンパクションは最悪の場合、一時的にひとつのボリューム(つまりデータディレクトリ)に対して最大そのデータと同じだけの空き領域を要求します。 - まずCassandraでDisk空き領域が減少する可能性があるのはほぼ2つ。ア
ソースは1.1.5で確認。ConsistencyLevel.javaに分かりやすく書かれていた。 行数は56-75 * Write consistency levels make the following guarantees before reporting success to the client: * ANY Ensure that the write has been written once somewhere, including possibly being hinted in a non-target node. * ONE Ensure that the write has been written to at least 1 node's commit log and memory table * TWO Ensure that the write has been
まあそんな内容でも誰かの役に立つかもしれないのでメモを書いておく。体系だったまとめでも無いのでそんなレベルで。 運用とか http://ameblo.jp/principia-ca/entry-11514557323.html こんなブログを書いたので、そっちを見てみて下さい(ステマ テストスクリプトとか。 https://github.com/oranie/oranie/blob/master/cassandra/cassandra_test_data.pl こんな感じで、僕の場合perlでCassandra::Lite使うと楽だった。 Cassandra::Liteメモ # Insert it. $c->put($columnFamily, $key, {title => 'testing title', body => '...'}); And get data: # Get a c
タイトルそのまま。今1.1系使っていて1.2.5へのアップデートを検討していて、configが結構変わっているらしいので、それらを調べてみた。 基本は今使っているとdiff取って名前変わっている奴や追加されている奴だけ記載。「>」ってついている奴は1.1系の時の奴。 http://www.datastax.com/docs/1.2/configuration/node_configuration 上記内容をGoogle翻訳して適当に見ただけなので、あんまり信用しない方が良いかも。あと、yamlに明示的に書いていないけど追加されている項目で1.2系からdefault 有効になっている奴もあるような気がするけど、そこはカバーしていないので調べて下さい>< hinted_handoff_throttle_in_kb: 1024 hinted handoffの転送速度 max_hints_deli
題名そのまま。repairの挙動をdatastaxのドキュメント読んでも良く分からない、ヽ(`Д´#)ノ ムキー!!となっている所をまたも@yukimさんに教えて貰いました。 なので忘れないようにメモです。 nodetool repairとは nodetool --helpで出力されている使い方は以下の通り repair [keyspace] [cfnames] - Repair one or more column family (use -pr to repair only the first range returned by the partitioner) 直訳すると一つ以上のcolumn familyを修復します。-prオプションを付けて実行するとパーティショナーの初めのレンジだけrepairを実行しますこの直訳だけではなんのこっちゃですね。 repairを実行する目的 rep
【再追記】 2013/6/10時点で参加者が集まらなかったので一旦見送りにします(´・ω・) 少し時間置いて同じお題か他のお題絡めて再開催を検討。 【追記】 すみません、僕のアレがコレで申し訳無いんですが開催日時を当初日程は5/23,24くらいと書きましたが、6月13、14日辺りに変更させて頂きます。スミマセン(´・ω・) ATND立てました。 http://atnd.org/events/40310 - 表題のまま。結局一年くらいサボっていましたがやります。け、決して忘れていた訳じゃない。とりあえずnginx 1.4がリリースされたのでちょうど良いかなと。なので、勉強会のお題は nginx 1.4それぞれの機能についての解説とか+HTTPサーバ全般で何か nginx 1.4の内容は 2013-04-24 nginx-1.4.0 stable version has been releas
チラシの裏的な雑記です。 サービスに新しいデータストアを選ぶ際にこの辺を情熱を持って説明してくれる人が好き、という話です。 そのデータストアを使う理由はなんですか?みんなが使い慣れている物から変える理由は「有名な会社が使っていて^^」「他のチームが使っていて^^」とかではなくて、既存の物では解決出来ない問題を解決するアプローチになっていますか? もし単純にキャッチアップしておきたいというレベルなら、あなたの趣味で作るシステムで運用する、では欲求を満たせませんか? 同じようなプロダクトは他にもあると思いますが、そのプロダクトで無ければいけない理由はなんですか? まだ新しいプロダクトだった場合、あなたはそのコードを読んで、バグを報告して、必要であればパッチを書く覚悟を持っていますか? あなたはチーム内でそのプロダクトの第一人者になる、という覚悟がありますか?他のメンバーへの啓蒙や情報共有を率先
追記:記事の文中で5.6のsql_modeデフォルト値について若干実際の挙動と異なる表記をしていました。rpmでinstallすると/usr/my.cnfというのがひょっこりいて、この中に [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES という記述があり、これを/etc/my.cnfと合わせて設定している様です。で、デフォルト値については5.6.6以降はデフォルト値が「The default SQL mode in MySQL 5.6.6 and later is NO_ENGINE_SUBSTITUTION;」でそれ以前のデフォルト値は「MySQL 5.6.5 and earlier, it was empty (no modes set)」となっているようですね。 詳しくは http://yoku0825.blo
追記: やっぱこれをみんな悩むよね・・・と思って改めて色々ググり直したら思いっきり既知の問題かつ同じ手法(logrotateを使用する方法)でISSUEにも上がっていました。RHEL系でのtd-agent.specに既に書かれているのでリリース待ちですね。 https://github.com/treasure-data/td-agent/blob/master/redhat/td-agent.spec https://github.com/treasure-data/td-agent/commit/ad7885ff4956c420a37d9a87c783ed81c422c53d - 表題のままです。まあ、そんな大量にエラーログとか出ている状態で運用する事無いんですけどね。ただ、一定サイズとか一定日次とかでローテートしておきたいじゃないですか。 で、今のfluentdの挙動を見る為にlib
※2013/03/05に追記 Yuki Morishita(@yukim)さんより以下のエントリについてアンサーを貰いました!!! https://gist.github.com/yukim/5086476 - なんか呟いたら「m9(^Д^)プギャー」な意味なのかRTとかがついたので、まとめておこう。きっと「これやれば解決するのに・・・プークスクス!」って教えて貰えるに違いない。半分くらい僕の技術力の低さから来ているのが多いので、Cassandra特有の問題から外れている気がするけど気にしない。 前提条件として HW:CPU12core メモリ64GB Disk:SSDやHDD(RAID10)を使用(詳細な構成は割愛) Cassandra 1.1.5 JDK 1.6.0_33-1 Simple Strategyを使用 1ノード辺り100〜200GB程度のデータを想定 クラスタの数とかは
多分一杯あるんだろうけど書いてみた。と言っても全部perlじゃなくてJboss Monitoring with check_jmxというのを利用している。普通にNagiosとかだったらこのまま使えば良いと思いますよ。僕はmonで利用するのと、一部の値はパーセンテージを計算したかったのでラッパーを作りました。ラッパーした事によってcheck_jmxの一部の機能が使えなくなっているので若干本末転倒感がある感じですね。 多分、書いたばっかりで適当な所をちゃんと直していないので色々変わるかも。 以下ソース #!/usr/bin/perl #このmonitorはjmxquery.jarを利用してmbeansをチェックします。その為、jmxquery.jarの仕様に則った形でコマンドを生成してチェックします。 ##Usage: check_jmx -U url -O object_name -A at
題名そのままですが喋ってきました。 http://www.cross-party.com/programs/?p=141 まずはセッションオーナーの@tagomorisさん、登壇者でご一緒させて頂いた@kentaroさん、@silver_sさん、@tokorotenさん、そしてセッションを聞いて頂いた皆様ありがとうございました。このメンバー+パネルディスカッション+ガソリンというカオスを生むのが目的ぐらいの感じだったので個人的にはとても楽しかったです。普段スライド作っていても面白い事言える訳ではないので、色んな人の力借りて僕も面白い事が言えていたら嬉しいです。けど、後半とかはもうあんまり覚えていないです。でも@silver_sさんが言った「おしまい姉妹」だけは覚えています。バカ受けしていて悔しかったです。 内容については各人色んな方向に行って、ユーザー目線であったり社内政治力が必要であった
自分用メモ。 前提条件として、CentOS5.5 64bitでperl5.8.8が既にインストール済み。 まずOracleのサイトからRPMパッケージを落としてきてインストール。アカウントが必要になるので、面倒臭いですが作りましょう(´Д⊂ 2010/1/21時点での最新パッケージで必要なのは以下のとおり。 oracle-instantclient11.2-basic-11.2.0.1.0-1 oracle-instantclient11.2-devel-11.2.0.1.0-1 oracle-instantclient11.2-sqlplus-11.2.0.1.0-1 oracle-instantclient11.2-odbc-11.2.0.1.0-1 次に環境変数を設定。~/.bash_profileとかに書く。 PATH=$PATH:$HOME/bin export ORACLE_B
詳しいアーキテクチャなどは今後おいおい・・・なんですが、とりあえず公開されていますよ、という紹介記事です。自分たちで使っているので言うのも何ですが、非常に素晴らしいツールで是非良かったら試してみて欲しいです。 何をするツールなのかというと、agent側で値を取って来てserver側でWeb画面表示させる、という書いてしまえば「ふーん」な感じなんですが、現在これでdstatの値等を取ってきて可視化しています。こんな感じです。とてもシャレオツです。 で、1台や2台だとあんまり威力が分からないかもですが、これが数十台や数百台の運用になってくると ・わざわざサーバにログインして見るとかリームー ・cactiやmuninもポーリングしている間隔で取れていないとかがあるので、「今この瞬間の全サーバの状況が知りたい!」という「おやじの全盛期は全日本の時か・・・オレは・・・オレは今なんだよ!」というのに向
何が問題? VMware ESXi5系(4系もかも)のVM(今回はCentOS5.4 64bit td-agent-1.1.10.3-0)同士でfluentdを使うと、td-agent.logに以下の様なエラーが吐かれる場合があります。 2012-11-07 23:08:10 +0900: temporarily failed to flush the buffer, next retry will be at 2012-11-07 23:09:13 +0900. error="no nodes are available" instance=23456251017660 2012-11-07 23:08:10 +0900: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.27/lib/fluent/plugin/o
ウィークリーFluentdユースケースエントリリレーの記事をまとめます。 書いた人はhttp://www.zusaar.com/event/415005で次の人に順番が来たと教えてあげて下さい。 ウィークリーとか書いているけど、早く書けたらバンバン回しちゃってね!あと、参加人数が想像以上に多いので2人同時に依頼させて頂きます>< #1 oranie 「tailプラグインの仕様について」 #2 studio3104 「fluentdで、1つのログから複数のメトリクスを得る。」 #3 shun0102 fluent-plugin-dstatの紹介 #4 tnmt fluentdのout fileプラグインの仕様について #5 fujiwara fluentdで複数箇所から同一のファイルに出力する #6 riywo fluentdのプラグインとかユースケースの話 #7 kenjiskywalke
ウィークリーFluentdユースケースエントリリレー #1の記事です。 fluentdを使う上で最も多くの人が使うであろう基本中の基本、tailプラグインの仕様を日本語にした内容+以前教えてもらった内容をまとめてみます。 公式ドキュメント:http://fluentd.org/doc/plugin.html#tail Github:https://github.com/fluent/fluentd/blob/master/lib/fluent/plugin/in_tail.rb tailプラグインはLinuxコマンドで言う「tail -F」と同じような挙動を取る事により、ファイルに追記された情報をfluentd内に取り込む事が出来ます。追記されたかどうかはIOイベントを読み取って動作します。 簡単に説明すると 1)新規に設定されたファイルは終端から読む 2)ログローテーションされたら次のフ
こんにちは。みなさん元気ですか? 僕は最近Cassandraで四苦八苦していますが元気です(棒 YAPC後夜祭でも、多分一人だけ障害対応していました。 で、話は変わりまして前にfluentd meetup #2で@frsyukiさんに「fluentdドキュメント日本語版とか有志で作っていいですか!?」とか聞いておきながら何もしていないというクズな現状だったんですが、「じゃあリレー形式でやれば一人の負担減って良いよねー」というのを@studio3104さんと@kenjiskywalkerさんとYAPC2012の後夜祭で話して、じゃあとりあえずやってみようぜ、という感じです。 後は「ノウハウが各個人のBLOGに散らばってるのよくないなあと思ったので、CDPみたいにWikiにしたいなあという思想がありました。」という@studio3104先生の熱い思いもあります。 で、何やるかというと要は自分も
まんまですな。ググっても意外と情報が散在しているので、オフィシャルのドキュメントをメモっておく。 場所は http://wiki.nginx.org/HttpLogModule Verは1.2.2-1で確認 見なきゃいけない所 HttpLogModuleにログの仕様書かれている。 で、デフォルトから真っ先に追記しなきゃいけないのは $request_time レスポンスタイム それは(0.5.19より古いバージョンについては、わずか数秒)をミリ秒の精度で秒単位で、リクエストに応じて動作するようにnginxを要した時間 by google翻訳ですね。他のパラメータはあとでゆっくり。 なので、とりあえず log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sen
現在脳内で考えているだけの妄想ブログです。 監視を行う際に「ユーザーと同じ振る舞いをして問題が無いか」という事を監視に組み込もうと考えた。 そうすると、Webシナリオの作成はJMeterでブラウザの動作をキャプチャしてそれをシナリオに使うか、seleniumでシナリオを作って(もしくはSeleniumIDEでブラウザの動作をキャプチャ)のどちらかが現実的だと考えている。なんでかというと、数個のURLにリクエストを投げるならNagiosのcheck_httpを何度か実行するシェルスクリプトを書くとか、curlでチクチク投げていって、というスクリプトを書くとかでも良いんだけど、ユーザーと同じ振る舞いを行う場合、膨大なリクエストを投げないといけないのでそうするとそんなスクリプト書きたくないし、もし頑張って書いても仕様変更入った瞬間にすぐ修正なので監視に組み込むとしてはコストが高すぎる。zabbi
やあ (´・ω・`) ようこそ、バーボンハウスへ。 このテキーラはサービスだから、まず飲んで落ち着いて欲しい。 うん、また「同じグループ会社」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、退職エントリを見たとき、君は、きっと言葉では言い表せない 「こいつ次どこ行くんだ(・∀・)ニヤニヤ」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、あの転職エントリを作ったんだ。 じゃあ、「死ね!」「ふざけんな!」「ブクマとスターを取り消すぞ!」等の罵声以外の注文を聞こうか。 という訳で子会社から親会社に移りました。手続き上一応一度退職しているんですよ!なので、嘘は一つも書いていないよ! これからも宜しくね!☆(ゝω・)vキャピ
今日が今の職場の最終出社日です。 今の職場は4年弱勤めたことになります。なぜ職場を変える事にしたかというと、まさかの真・女神転生4が発表されたのでぼくも本気を出す今までの職務としては調整7〜8割、自分で手を動かすのを2〜3割くらいの比率でやっていました。僕自身あまり好きな表現では無いですが、どちらかというと「社内SE」的な感じですかね。(本当に社内SEという単語の意味合っているかは不安ですが) この比率を少し変えて、もう少し技術職でやってみたい+技術に近い現場で働きたいという考えの為、職場を変える事を決意しました。純粋に技術を追い求めて・・・というよりは、今とは違ったスタイル+規模により今まで考えなくても良かった事を考えなければいけなかったり、自分達がケアしなくても良かった点を自分達でケアするようになる現場で働く事で総合的により成長出来るかな?という意味合いが強いです。 今の職場では小さな
昨日開催されたMonitoring Casual http://atnd.org/events/29621 に行ってきました。 感想は、本当に勉強になったなーという感じです。みんなの話を聞くと、Nagios一つとっても自分が設定していた粒度、精度、効率化がまだまだ甘く、今後台数が増えてきたりした時に同じような改善アプローチを取らないといけないなーというのがはっきり分かった。ここは特に@lamanotrama さんの話が勉強になった。 ただ、ひろせさんひどかった。 あとはやっぱりアラートを「必要な時に必要な分だけ出す」ということの重要性も改めて勉強になった。この辺は普段からその手の話を他のカンファレンスとかでも話している@kazeburoさん、@tagomorisさんの話は意識が僕より1段どころか100段くらい上だなーという気がした。「必要な時」というのをちゃんとやるのは本当に難しいですね。
次のページ
このページを最初にブックマークしてみませんか?
『oranie's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く