2013年1月31日木曜日

「私が死んでも代わりはいるもの」 荒井七海さんを探したら、359人でした

いっぱいいたので、意地になって調べてしまいました。。。 https://www.facebook.com/search/results.php?q=%E8%8D%92%E4%BA%95%E4%B8%83%E6%B5%B7&init=quick&tas=0.7773157202173024

CentOS 6.2にgitをインストールする方法

お手軽にyumでインストールしようとしたら、
Requires: libcurl.so.3()(64bit)
などと、怒られたので、ソースからインストールしました。
以下記録です。

# cat /etc/redhat-release 
CentOS release 6.2 (Final)

# yum -y install make cc gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
# wget http://git-core.googlecode.com/files/git-1.7.9.4.tar.gz
# tar zxvf git-1.7.9.4.tar.gz
# cd git-1.7.9.4

# ./configure --prefix=/usr
# make prefix=/usr
# make prefix=/usr install

# which git
/usr/bin/git

# git --version
git version 1.7.9.4

2013年1月30日水曜日

株式会社はてなの自転車通勤補助制度

テレビ東京のワールドビジネスサテライトで、株式会社はてなの自転車通勤補助制度が取り上げられたそうです
最近、私も久しぶりに自転車に乗るようになったのですが、ホント東京の車道は怖い、今朝も接触事故を見てしまった・・・
自転車レーンの整備が望まれるなあと思うのです

via 東京都自転車走行空間整備推進計画

都も昨年の10月~自転車レーンを整備しようと動き出したみたいですが、計画を見ると『2020年度までに約100kmを整備』とのこと、合計221kmですね、これは安心して自転車に乗るにはまだまだ足りないかな?もうちょっと頑張って欲しいところです
世界の自転車先進都市のデータがあったので参考までに

----------------------
欧米の自転車走行空間の例(計画ベース)
イギリス(全国自転車道ネットワーク) 16,000km 6,027万人
ドイツ(ドイツ自転車ネットワーク) 10,218km 8,242万人
ポートランド(オレゴン州) 1,008 km 53万人
ツーソン(アリゾナ州) 980 km 51万人
ニュージャージ州 3,200 km 864万人
サンフランシスコ 330 km 78万人
ベルリン 620 km 340万人
パリ 314 km 214万人
ロンドン 900 km 742万人
ニューヨーク市 1,463 km 820万人
----------------------

via 環境省のデータ

※イギリスはロンドン市内では自転車は無理じゃないかな~と、みんなプロテクターつけて走っているほど車道が狭いです
これは、田舎を含めた数字ですね
他の国もそうかな?自転車で有名なオランダが入っていないですし
都市部の情報を調べたらもっと面白い数字が出ると思います

2013年1月29日火曜日

nginx + SPDY

http://www.e-agency.co.jp/column/20130129.html

『nginxにSPDYを導入して、Webページを高速化する方法』

日本語の情報が殆ど無かったので検証してみました
SPDYを使うことによって、SSL通信の高速化が期待出来ます。
ご一読 & シェア して頂きましたら幸いでございます。

2013年1月23日水曜日

Amazon LinuxからTreasure Dataを使ってみる by クラスメソッド開発ブログ


Hadoop Conference Japan 2013 Winterに登壇された古橋 貞之さんが所属するTreasure Dataのサービスを使ってみた、という記事です。
http://www.treasure-data.com/pricing/
お試しで使う程度ならば無料みたいです。
あとで試してみよう。
仕事で使うならば$299 / Monthからですね。
$29 / Monthプランでデータを貯めこんでプランアップグレードすると言った使い方でもOKなようです。

小ネタですが、このTwitterアカウント。
botを相互フォローしているスパムアカウントかもしれないけど、有用な情報をツイートしているので、そういう意味ではスパムじゃあないのかも でもたまにAmazonのリンクを貼っいる模様
普通の人もフォローしているので、いくらか売上あったりするのかな?

2013年1月21日月曜日

ShibUIについての情報まとめ

Hadoop Conference Japan 2013 Winterで@tagomorisさんが紹介していたShibUIが気になったので、情報を集めてみました。

ShibUIとは?
'ShibUI' はHiveクエリについて日々の運用を行うためのツールです。以下のような機能があります。
Hiveクエリの登録・実行、スケジュールに従っての実行
クエリ結果のグラフ(HRForecast)への登録
クエリ条件の選択によるHiveクエリの生成
主に定期的に実行したいクエリの管理・結果の可視化を行うために有用でしょう。クエリ生成はHiveクエリを直接書けない人が使う場合に便利かもしれません。
NHN JapanではFluentdをつかってHadoop/HDFSに保存したデータを、ShibUIを使ってHiveクエリを自動実行して可視化しているそうです。

GitHub shibui
https://github.com/tagomoris/shibui

ShibUIを公開した
http://d.hatena.ne.jp/tagomoris/20120824/1345798357

Log analysis with Hadoop in livedoor 2013
by SATOSHI TAGOMORI on Jan 21, 2013
http://www.slideshare.net/tagomoris/log-analysis-with-hadoop-in-livedoor-2013

OSSで支えられるライブドアの巨大ログ集計 #nhntech
by SATOSHI TAGOMORI on Aug 18, 2012
http://www.slideshare.net/tagomoris/oss-nhntech

Hive Tools in NHN Japan #hadoopreading
by SATOSHI TAGOMORI on May 30, 2012
http://www.slideshare.net/tagomoris/hive-tools-in-nhn-japan-hadoopreading

開発者がオススメするFluentdの解説記事まとめ
※Fluentdのまとめはこちら
http://matome.naver.jp/odai/2135872216875462301

2013年1月8日火曜日

httpdプロセス数の上限を、ulimitを設定して増やせるようにする方法

検証OSはCentOS release 6.3です。

Apacheのpreforkでプロセスの数を1024以上にしたいとき、Apacheが起動できるプロセス数を増やしてあげる必要があります。

問題

例えば以下のようなhttpd.confのApacheをulimitの設定なしに起動しようとすると、/etc/httpd/logs/error_logにエラーメッセージがぞろぞろと出力されます。
# vi /etc/httpd/conf/httpd.conf

StartServers     2000
MinSpareServers  2000
MaxSpareServers  2000
ServerLimit      2000
MaxClients       2000
MaxRequestsPerChild  10000

# service httpd restart
このようなエラーが出てしまう・・・。
# tail -f /etc/httpd/logs/error_log
[Mon Jan 07 14:12:12 2013] [notice] caught SIGTERM, shutting down
Notice: cleaning up shared memory
[Mon Jan 07 14:12:13 2013] [notice] SELinux policy enabled; httpd running as context unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[Mon Jan 07 14:12:13 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Jan 07 14:12:13 2013] [notice] Digest: generating secret for digest authentication ...
[Mon Jan 07 14:12:13 2013] [notice] Digest: done
Creating shmem. name: mod_dosdetector, size: 4856
[Mon Jan 07 14:12:14 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:14 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:14 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:15 2013] [notice] Apache/2.2.15 (Unix) DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations
[Mon Jan 07 14:12:15 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:15 2013] [alert] Child 38071 returned a Fatal error... Apache is exiting!
[Mon Jan 07 14:12:15 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:15 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:15 2013] [alert] (11)Resource temporarily unavailable: setuid: unable to change to uid: 48
[Mon Jan 07 14:12:15 2013] [emerg] (43)Identifier removed: couldn't grab the accept mutex
[Mon Jan 07 14:12:15 2013] [emerg] (43)Identifier removed: couldn't grab the accept mutex

このエラーが出たら、service httpd stopではプロセスが落ちてくれません。
男らしくhttpdをザクっとkillしちゃいましょう。
# ps -ax | grep httpd
# pkill -KILL -f httpd
現在のApacheユーザのulimitの設定をulimit -nコマンドで確認してみましょう。
# /bin/su - --shell=/bin/sh apache
$ ulimit -n
1024
ulimitが1024で設定されているため、プロセスの数がこれ以上立ち上げられなくなっています。

解決方法

これを解消するために、Apacheが使用出来るプロセス数をアップしてあげましょう。

まず、デフォルトの設定が /etc/security/limits.d/90-nproc.conf ファイルに記述されているので、コメントアウトします。
# vi /etc/security/limits.d/90-nproc.conf
#*          soft    nproc     1024
そして、/etc/security/limits.conf ファイルにApacheの設定を追記します。
# vi /etc/security/limits.conf
apache soft nofile 2048
apache hard nofile 2048
Apacheユーザのulimitの設定を確認してみましょう。
# /bin/su - --shell=/bin/sh apache
$ ulimit -n
2048
いけそうですね。
httpdをリスタートしてみましょう。
# service httpd restart
# tail -f /etc/httpd/logs/error_log

エラーが出ていなければOKです。
簡単ですね!

他のアプリケーションなどでも、使用可能な最大プロセス数が足りなくなるといった事はたまにあります。(いや・・・案外あるかも?)
転ばぬ先の杖として、同じように設定してあげるとよいでしょう。