あーかいぶすハイディフィニション

ここはもう更新しとらんのじゃ

Sinatra でお手軽なロギング

まじで最低限の情報だけでいいなら config.ru に以下の様に書くと、apache の common っぽい感じのログが config.ru が置いてある階層を主として ./log/(production|test|development).log に取れるはず。

require "./orenoapp.rb"

#=> ここから
configure do
  file = File.new("#{settings.root}/log/#{settings.environment}.log", 'a+')
  file.sync = true
  use Rack::CommonLogger, file
end
#=> ここまで

run Sinatra::Application

参考
http://shoprev.hatenablog.com/entry/2014/04/22/124115

Passenger のサブディレクトリで Rack ベースアプリケーションを動かす

まんまなんすけどね、意外とハマってしまったので。

サブディレクトリで動かすっていうのは、
http://www.orenosaba.com/ とかいうページがあったら、この特定下階層だけ Rack なり Rails なりベースのアプリケーションが動いてるイメージ。
今回は http://www.orenosaba.com/orenoapp/ が Rack ベースアプリの対象とする。

続きを読む

MySQL Cluster でノードを増やすときに注意すべきこと

あまりに久しぶりに触ったから完全に忘れており、などと容疑者は供述している。ざーんしゅ♪

キャッシュの存在を忘れていないだろうか

ndb_mgm -f CONFIG_FILE などで起動すると、--config-cache の値がデフォルト値「TRUE」のため、コンフィグのキャッシュが作成され、以降 -f を指定しようとも、優先してキャッシュが読み込まれる。
これを回避するには、

  • --config-cache=0
  • --config-cache=FALSE
  • --config-cache=OFF
  • --skip-config-cache

上記四つのうちどれかを常につけて起動すれば良い。

そもそも既存の環境にキャッシュあるんですけお!

しょうがないので、一度 mgm ノードを止めてからキャッシュを rm するか、--reload オプションつけて再読み込みさせるしかないですね。mgm は別に死のうが何しようが、稼働中のシステムに影響を及ぼさないから安心して止めよう!(新しくノードの接続を開始しようとしたら必要なだけのはず)
ちなみに、キャッシュファイルは configdir/ndb_1_config.bin.1 みたいな形に保存されています。大体の環境で(RPM から入れていれば)「/usr/mysql-cluster/」とかのはず。

  • rm /usr/mysql-cluster/ndb_1_config.bin.1
  • ndb_mgm -f /configdir/config.ini --reload

多分 --reload つけて再起動するほうがいいです。

これら以前に

ndb_mgm で対話型 CUI にログインしてから、ndb_mgmd を stop しただろうか?

[ndb_mgmd(MGM)]	2 node(s)
id=1	@192.168.1.2  (mysql-5.5.30 ndb-7.2.12)
id=2 @192.168.1.3  (mysql-5.5.30 ndb-7.2.12)

ndb_mgm> 1 stop

参考はこのへん
https://dev.mysql.com/doc/refman/5.6/ja/mysql-cluster-programs-ndb-mgmd.html