Cloudera Manager4から5へアップデートし,CDH4.7からCDH5.3.2へCMでアップデート。CMでアップロードするとアップデートプロセスをほぼすべてCMが面倒を見てくれるので,とても簡単に移行できる。
rdbms
Hueが2.5から3.7になり,UIも刷新され使いやすくなっている。また,Hueから任意のRDBMSへ接続してテーブル情報や任意のクエリを実行できるようになっていた!(Hue3.5?くらいから入った機能らしい)これは,かなり便利。phpmyadminのような管理ツールほど多機能ではないけれど,サクッといつものHueインターフェースからデータを確認するには十分。
CM経由でこの設定を追加するには,safety_valveを使う。例えば,SQLiteを使っている場合は,以下のようになる。詳細は,以下のリンクで確認できる。
http://gethue.com/dbquery-app-mysql-postgresql-oracle-and-sqlite-query/
1 2 3 4 5 6 |
[librdbms] databases [sqlite] nice_name=SQLite name=/var/lib/hue/desktop.db engine=sqlite |
DatabaseError: relation “desktop_documenttag” does not exist
CDH4.7からCDH5.3へアップグレードして,Hueの3.7にアップグレードされたのだが,どうにも移行時に上手くテーブルが作成されていなかったのか,ホーム画面やHiveやImpalaのマイクエリ画面が見えず,以下のようなエラーが出てしまった。
1 |
DatabaseError: relation "desktop_documenttag" does not exist |
以下のグループでも似たようなエラーに関する投稿がされていた。
https://groups.google.com/a/cloudera.org/forum/#!msg/hue-user/4zuuQXcmdj0/nVKbc10oB9UJ
この投稿を見る限りでは,どうも解決されていない?ようだったので,差し当たって新規に別の仮想マシン上でHueをセットアップして,同じデータベース環境(今回の場合は,MySQL)の欠損しているテーブルのダンプを取得しインポートすることにした。ただし,この方法は無理やりなので要注意。その他,oozie関連のテーブルでカラムがないと怒られたので,それも地道に対応。oozieを使っていなかったので,データについては気にしないでよかった。
1 2 3 |
$ mysqldump -uroot -p --skip-add-drop-table --no-create-db --quick hue > hue3.sql $ sed -i 's/CREATE TABLE/CREATE TABLE IF NOT EXISTS/g' hue3.sql $ <a class="keyword" href="http://d.hatena.ne.jp/keyword/mysql">mys</a>q<a class="keyword" href="http://d.hatena.ne.jp/keyword/mysql">l</a> -uroot -p hue < hue3.sql |
コメント