oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

AWSでVPC内にしかないリソースに対してローカルテストとかでサクッとアクセスしたい時

※追記:HAProxy構築した流れで色々試していたので必要だと思いこんでいましたが、HAProxy要らないですねこれ。 ちゃんと www.kmc.gr.jp とかを読んでもいないで理解もしていないのにググってコピペしてとりあえず出来たーとやるとこういう恥をかきますね。 …

Cassandraにslow query logがマージされた様なので、どれだけ待望されていたのか勝手に簡単な解説をする。

題名のままです。 ついにCassandraにslow query logがVer 3.10でマージされた様です。 [CASSANDRA-12403] Slow query detecting - ASF JIRA で、今までなぜこれが無かったのかというのと、どれだけ素晴らしいかというのを簡単に解説したいと思います。英語の…

Splatoonをより楽しくプレイする為に買ったもの

前にブログ書いたのが半年くらい前なのに全く技術情報では無いですが一応仕事はちゃんとしていました。きっと。 2015年の俺ベスト・バイアイテムとして名高いSplatoonですが、2016年ベスト・バイの候補にもなっているレベルで今も非常に楽しくプレイしていま…

間違った技術ブログを書いた時に如何に修正するか

考え方やその時の流行のアーキテクチャとかもあるのでそういった物はそれでいいですが、明らかに間違えた事を書いて出来ない!とか載せてしまう時があります。にんげんだもの。 ただ、それを放置する、削除するとかはあまり良くないアプローチだと考えていま…

embulk-input-dynamodbを使ってみました

※このブログは所属している組織の意見などは全く含まれてない個人の意見です。技術的な問題などがあっても悪いのぼくです。 DynamoDB + Hiveでゴニョゴニョ試したりしていたのですが、Hiveを全くチューニングせず試していた為結構遅いので ※nginxのアクセス…

【チラ裏】無職になって1ヶ月が経ちました。

有給消化を入れると2ヶ月くらい地元の北海道で遊んだり引っ越ししたり酒飲んだりしました(∩´∀`)∩ワーイ で、さすがに引っ越ししたりでお金が無くなり生きていけないので働く事になりました。職場はAWS(アマゾン データサービス ジャパン)にSolution Architec…

【チラ裏】近況報告

皆様サガシリーズはご存知でしょうか。昨年はサガ25周年というめでたい年でした。特にロマサガシリーズ、サガフロンティア2が好きで「ついに最低でもロマサガ2、3のリメイク来るか・・・」と待ち焦がれていた時に「ロマンシング佐賀」が発表され マジでこれ…

golangで雑なslack botを作りました。

タイトルそのまま。勉強がてらslack botを作ってみた。やった事はRubotyのruboty-google_imageとか、他のGolangで既にあるslack ライブラリの劣化パクリです。 r7kamura/ruboty-google_image r7kamura/ruboty-google_image · GitHub ソースはこれ。 oranie/s…

「HBase徹底入門」を読みました。

「HBase徹底入門」という本を同僚が書き、クレクレ言いまくったら苦い顔されて快くおこぼれを頂くことが出来ました。 今までHBaseと言えば良く知らないけど 構築の容易さという意味では couchbase < cassandra <<<<<<<<<<<<<<<<<<<<<|圧倒的な超えられない壁|…

golangでunsupported protocol scheme "" というエラーが出た場合

理由はおそらくURLの記述間違えているパターン。 例としてslackのAPIを叩きたい時に僕は resp, err := http.PostForm("https://hooks.slack.com/ 〜〜略〜〜と書くべき所を resp, err := http.PostForm(" https://hooks.slack.com/ 〜〜略〜〜 とhttpsの前に…

年末なのではてなブログへ移行しました&今年の雑記

フォロワーのブログのはてブ数を調べてみた - mikedaの日記 フォロワーのブログのはてブ数を調べてみた - mikedaの日記 この記事にブログ書いているおじさんみんながハートを鷲掴みにされ、ブクマ数を統合するために移行した人もいたので、僕もせっかくなの…

【追記あり】td-agent2 + fluent-plugin-bigqueryで、起動時にエラーになる問題

【追記】 @naoya_ito @oranie v0.2.6 だしました2014-12-22 19:53:09 via YoruFukurou to @naoya_itohttps://twitter.com/tagomoris/status/546981761385639937 との事で直りました。このエントリの寿命1時間くらいでした! - もうISSUE上がっているけど、同…

CentOS 6.5でgo get gopkg.in/hogehogeした時に固まる事象

結論:gitのVerが古いから。多分1.7.1系とかが入っているとダメで、2.0系とかにアップデートすると解決した。ソース https://github.com/spf13/hugo/issues/297解決方法 http://www.torutk.com/projects/swe/wiki/CentOS_6%E3%81%A7git%E3%81%AE%E3%83%90%E3…

Go + mgo (MongoDB)でauto increment的な事をやる。

自分メモなので簡単に。 MongoDB側にcounter用コレクション作る Go側でcounter用のstructを定義しておく。 Apply()を利用してcounterをインクリメントし、その値を使ってドキュメントをINSERTする。 という流れになる。 mgoのドライバ公式にApplyの代表的な…

開発中にAndroidアプリでSQLiteに格納したデータをデータファイルコピーせずに確認する方法

【追記】 このブログ書いた後に改めてググったら普通にこの方法見つかるね。俺が見逃していただけですな・・・。 - 表題のままで、開発中にAndroid アプリで定義したSQLiteのスキーマをちゃんと確認したいとか、中にどんなデータが入ったかを確認したかった…

fluentd + BigQuery pluginを利用する時に認証処理で「invalid_grant」エラーになる時の対処

結論から言うと、システム時間を確認しましょう。環境はDocker上のfluentdで 2014-10-02 06:31:47 +0900 [error]: unexpected error error_class=Signet::AuthorizationError error=#<Signet::AuthorizationError: Authorization failed. Server message: { "error" : "invalid_grant" }>というエラーが出て起動出来なかった。でも認証情報は合っているし、Googl</signet::authorizationerror:>…

AndroidでGoogle Maps API v2を叩く時に地図が表示されない時に確認する設定

ハマったのでメモ。環境はAndroid Studio使った。改めてググって見ると http://9ensan.com/blog/smartphone/android/google-maps-android-api-v2-sample/ の解説が一番丁寧でこの通りになっていれば出来る。Activityは表示れているっぽいけど、画面が真っ白…

Android学習メモ-5

今研修で書いた糞コードをgithubにあげた。 https://github.com/oranie/AndroidStudyコード自体は本を写経しているものが大半だけど、自分のあんちょこにはなるのでいいメモになる。 動くプロジェクトで見れるのが一番やね。(一部ビルド通らないヤツやまと…

AndroidOpenTextbookが大変助かるというお話

Android初心者としてあるあるパターンの事としてはオフィシャルリファレンス http://developer.android.com/reference/packages.html を読んでも それをどうやって呼び出すか 中でどんな事すれば良いのか そもそも英語が・・・ とかに良く行き着くわけですね…

【チラ裏】Android学習メモ-4

とりあえず入門書読んでからインターフェイス作ってMySQL操作クラスとRedis操作クラス作ったりしてfor文回して実行したりとかやったので、一旦Androidに戻ってみた。で、Javaの基礎文法の所はまあ・・・って感じになったけど、Android特有の所でやっぱりつま…

【チラ裏】Android学習メモ-3

Android学習とか書いておきながらこの3日間くらいはJavaの入門書をずっと読んでいた。今日はとりあえず車クラスとかやっていてもわけわからんので、馴染みのある題材としてMySQLに接続してデータ取ったりぶっ込んだりを書いた。とりあえずmainとそれ以外のク…

サーバ/インフラエンジニア養成読本「ログ収集〜可視化編」を頂きました!

改めて著者の方々と実際に僕に本を送付する手配をして頂いた@yoshi_kenさん本当にありがとうございます。 社内の他のエンジニアが「本頂きました!^^」とかのツイートをしている*1のを見る度に「ブルジョワが!( ゚д゚)、ペッ」とか思っていたらついに僕も貰える…

【チラ裏】Android学習メモ-2

今日はFragmentを隣の人に少し教えて貰った。昨日のドキュメント読んでとか教えてくれた人は「こんな感じかな」というソースを見せて貰ってようやく何のため使うかとかは理解できたけど、既存のlayoutをFragmentに書き換える所がチンプンカンプン。これ、一…

【チラ裏】Android学習メモ-1

異動してからとりあえずAndroidの学習をということで、mixiさんのAndroid研修カリュキュラムを教材に出されほぼ独学で読んでやっている。 https://github.com/mixi-inc/AndroidTraining 昨日までは android studioとgenymotion入れて単体のプロジェクト作っ…

サーバ側のSSL Session Cache状況を確認する「rfc5077」というツールが便利

この2日ぐらいスマートフォンアプリ開発エンジニア必須スキルのNginxを触りまくっていて、同僚が見つけて来て触ったら便利だった。 githubはこれ。 https://github.com/vincentbernat/rfc5077手順はREADMEに書いてあるけど、 sudo yum install openssl-devel…

NginxでSSLセッションキャッシュを有効にした際に新規セッションが張れなくなる事象について

多分Nginxでゴリゴリやっている人ならm9(^Д^)プギャーだろうけど、メモっておく。サーバサイドでSSL処理をする際に少しでもCPU処理を軽くする+レイテンシを下げたい目的で ssl_session_cache shared:SSL:128m; ssl_session_timeout 300m;的な設定を入れた所、…

【チラ裏】色々あって社内ジョブチェンジでスマートフォンアプリエンジニアになりました。

昨今の殺伐としたインターネットを見ていたら「インフラエンジニア(狭義)は死んだ」というのを発見し、内容にいたく感銘を受けこれではマズイと思ってジョブチェンジしました。 本当の所は深淵なる諸事情とかもあるが「まあアプリ書けたらエンジニアとして良…

MySQLのslow query logを可視化するnata2が大変便利そう

MySQL Casual #6で@studio3104さんが発表していたnata2を触った。 My sql casual talks vol.6 from studio3104_com で、とりあえずローカルにnata2を起動しtd-agentを入れてプラグインを入れてmysqlslapを実行してみた。 動作環境はRuby2.1.2で。1.9系は動か…

nginx 1.7系である条件を元にアクセスログの出力を抑制する場合の設定

nginx 1.7系を設定している時に、まあ良くある要望でリバースプロキシの設定をしたいんだけど、アプリ側が静的ファイルを返す時にそれはアクセスログに出したく無いって設定でハマった。 初めはlocationの内部でif文書いてaccess_log offとかでやろうとする…

色んな会社さんの新人エンジニア研修まとめ

ちょうど今のチームに新卒メンバーが一人配属になり、「何からやっていこうかー」「今年の研修何教わった?」「今までどんな事やった事ある?」とか聞いている段階だった所にドワンゴさんの新卒研修の記事が流れてきたので、せっかくなので公開されている色…

Nagiosで監視プラグインにhostgroupで定義しているホスト群のIPアドレスを一気に引数に入れる方法

やりたいこと 例えば10台のサーバでHTTPチェックをして「hostgroupに定義しているホストのうち、n台までNGはアラートはWARN、n台を超えたらCRIT」みたいな事をやりたい時に、監視プラグイン側にチェックする為のIPアドレスを引数に渡したいけど、service定義…

Cassandraでバッチ処理用のクラスタを作る為にsstableloderを使ってみた

まんまです。今までブログにこれで作れるらしいと書いておきながら試していなかったのでやってみた。 経緯としては元のクラスタは台数が多いので、スナップショットをコピーしてそれからあーだこーだわーわーぎゃーぎゃーするにはちょっと辛かったけど、コピ…

JVM Operation Casual Talksで喋ってきました。

タイトルまんま。主催のtagomorisさん、同じく登壇者の皆様、話を聞いて頂いた皆様、会場運営のLINEの皆様ありがとうございました。 僕はCassandra Casualの時にもチョロチョロ話をした物をベースに「Cassandra運用で実施しているJVM監視について」という内…

XML::Twigのインストールが失敗する時に確認するもの

expat-develとlibxml2-develが入っているか確認しましょう。以上。jmx4perlを入れようとする時に毎回引っかかって毎回調べていたのでいい加減メモった。

Cassandraの情報集める時に良く見るものメモ

最近「ついに実運用段階に入った」と言われてTwitter上でも一部で騒がしいCassandraですが、日本語の情報があまり無いのでググったりしても「※この情報はVer0.8の時です」とか書かれていて、今2.1系ベータが出る時代なので全く参考にならないとかお困りの方…

CassandraのVer upを検討する際に手順確認で見るもの

今1.2.13を検証していたが、このタイミングでDataStax Enterprise 4.0がリリースされました。 http://www.datastax.com/2014/02/welcome-to-datastax-enterprise-4-0-and-opscenter-4-1 で、このVerからCassandraが1.2系から2.0系に変わるという結構ダイナミ…

CassandraのUnrechableNodesが残ってしまっている時の対応方法

ググっては細かい流れを忘れるのでメモ。 この辺のブログとかがソース。 http://nartax.com/2012/09/assassinate-cassandra-node/ http://tumblr.doki-pen.org/post/22654515359/assassinating-cassandra-nodescassandraノードがHW障害等でダウンした時に一…

Cassandra summit JPN 2014でスピーカーしてきました。

僕のセッションを聞いて頂いた皆様、主催の@railuteさん、その他にも会場で色々とお世話をして頂いた皆様本当にありがとうございました。正直前半は人数の多さと喋っている目の前でコミッターの@aaronmortonさんや@spycedさん、@AlTobeyさん、@yukimさんなど…

なぜ我々は業務時間外、主に酒を飲んだり寝ている時に障害対応をするハメになるのか

スライド作らなければいけないけど現実逃避でメモがてら整理する。(要はヨタ話ですよ。)夜中とかにアラート来て「うへぇ(´Д`)」ととなるけど、これは果たして運が悪い、若しくはイケていないシステムだからなのだろうか。 まずこういう時は冷静にならなけ…

fabricでinitスクリプトが動かない場合の対処法

fabricで例えばapacheを起動したい場合に sudo("/etc/init.d/apache2 restart")と当然書くじゃないですか。で確認するとちゃんとプロセス起動しない訳じゃないですか。 で、どうすれば良いかと言うと公式docに書いてあった。http://docs.fabfile.org/en/1.8/…

2013年振り返り

・モテキでは圧倒的に土井亜紀派 ・フジ君、島田はクズ 今モテキの再放送見ながら書いています。なので、どうしてもエンジニア的な話より土井亜紀の事が今の僕の頭のなかを占めているけど当然の事ですよね。そんな中で必死になって今年あった事とか思い出し…

redis 2.6系のdefalut configをちょっと調べた。

ひょんなことからredisを使う事になりそうなので、2.6系のconfigの項目の意味をとりあえずざっくり調べた。調べたとか言っておきながらまだよ〜分かっていない所とか、一部defalutと違う所があるかもなのでそこはよしなにお願いします。 とりあえずは http:/…

Cassandra Summit JPN 2014でスピーカーする予定です。

今日公式サイトが告知されたのでお知らせです。 なぜかスピーカーとして声を掛けて頂き、これ幸いとノコノコと運用系の話とかをする予定です。 Cassandra Summit JPN 2014 http://b-rabbit.jp/cassandra/cstk2014/コミッターの方もいらっしゃるとの事なので…

ElasticSearchでpluginを入れる際に「reason: failed to download」となった際の対処法

考えられる事は2点 ・ファイルを設置する為のパーミッション ・plugin名のtypo僕はパーミッションで引っかかりました。こんな感じ。 [oranie@dev-oranie-test01 ~]$ /usr/local/elasticsearch/bin/plugin -install royrusso/elasticsearch-HQ -> Installing …

growthforecastでグラフの設定を変えたい時に投げるPOSTリクエスト例

いっつも忘れるのでただのメモ。 curl http://127.0.0.1/edit/tmp_test/toriaezu/192.168.0.1 -X POST -d 'service_name=openfiles&section_name=oranie-api&graph_name=192.168.0.1& description=&sort=0&gmode=gauge&adjust=*&adjustval=1&unit=&color=%23…

#ISUCON で見事名誉返上、汚名挽回しました!

@oinume、@la_luna_azul と一緒に10/5 一日目に参加しました。結果はタイトル通り見事惨敗です! 全体の詳細は@oinumeが書いたブログが詳しくまとめてくれているのでそちらで。 #isucon の予選に出場して惨敗してきた( ー`дー´)キリッ 僕はデータストア担当、それ…

ElasticSearchでノードを落とす際にshardの自動再配置を止める作法

現行のクラスタを一度止めてデータを別のサーバ群にコピーしてクラスタを再構築したいという要件があったので調べた。公式ElasticSearch(Ver 0.90.5で確認)のrpm installで作成されるディレクトリ /var/run/elasticsearch /var/lib/elasticsearch /var/lib/e…

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

乗るしか無い、このビッグウェーブに。 (このエントリとこのエントリの三番煎じです。) - 追記 Cassandraはデータ領域のDisk使用量が50%でクリティカルと記載しましたが、いきなりズドンと落ちるとかでは無く、compactionを実行した時にテンポラリーファイ…

Cassandra 読み書き一貫性レベル(consistency Level)のまとめ

ソースは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…

ここ最近のCassandra運用の色々まとめメモ

まあそんな内容でも誰かの役に立つかもしれないのでメモを書いておく。体系だったまとめでも無いのでそんなレベルで。 運用とか http://ameblo.jp/principia-ca/entry-11514557323.html こんなブログを書いたので、そっちを見てみて下さい(ステマ テストス…