IPアドレスが変わるとはまる
HbaseをノートPCにインストールして、開発環境として使っていたのですが、すっかりはまりました。
現象はここに書いてあるのと同じです。
http://mail-archives.apache.org/mod_mbox/hbase-user/201102.mbox/%3C30816966.post@talk.nabble.com%3E
要は
1. 会社でノートPCをネットワークにつながる。IPアドレスはAが割り振られる
2. 帰宅。IPアドレスはBに変わる
3. hbase 起動。AのIPアドレスのサーバ(RegionServer)を探しにいって見つからずに起動すらしない
という現象。
で、現時点でレスがついている解決策を二つ試してみたのですが、、
- hbase-site.xml のDNS設定を変更 → 変わらず
- バージョンを0.90.1にあげてみる
- ただし、データは引き継ぎたいので、hbase.rootdir は以前と同じローカルファイルシステムのフォルダをさすようにする→ やっぱりだめ
いや、モジュールをあげてもだめ、hbaseを再起動しても、マシンを再起動しても、昔つかったあのIPアドレスのサーバを探しにいく、ということは、どうやらhbase.rootdirディレクトリの中にregionserverのIPアドレス情報を持っているみたいです。。。
ということで、データもあきらめ、作り直してようやく復旧しました。
なんか、バージョンアップ方法が間違っているよな気もするのであとで調べます。しかし、、、手探りですね。
(2011/02/22 追記)
Wikiページ確認しましたが、hbase migrate コマンドを実行するのが正しい手順だったみたいですね。
http://wiki.apache.org/hadoop/Hbase/HowToMigrate
でも、もうデータディレクトリ消してしまったので、今は試すことできないですが。
あと、hbase shell でメタ情報みてみると、テーブルの情報としてしっかり割り振られたIPアドレス(ループバックアドレスではない)がふられてますね。
hbase(main):001:0> scan '-ROOT-' ROW COLUMN+CELL .META.,,1 column=info:regioninfo, timestamp=1298295853399, value=REGION => {NAME => '.META.,,1', STARTKEY => '', ENDKEY => '', ENCODED => 1028785192, TABLE => {{NAME => '.META.', IS_META => 'true', FAMILIES => [{NAME => 'info', BLOOMFILTER =>'NONE', REPLICATION_SCOPE => '0', VERSIONS => '10', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '8192' , IN_MEMORY => 'true', BLOCKCACHE => 'true'}]}} .META.,,1 column=info:server, timestamp=1298295859560, value=192.168.0.1:55748 .META.,,1 column=info:serverstartcode, timestamp=1298295859560, value=1298295852864 1 row(s) in 0.3920 seconds
ということは、メタデータのIPアドレスを直接書き換えたらいけたのか、そんなことは無理なのか。構成を変更するコマンドとかあるのか。いや、わからないことだらけです。(続く)