Kubernetes の世界で、HueがSQLデータベースに接続できない理由を素早く確認する方法の1つをみてみましょう。
以前に、Kubernetes や Docker で Hue を実行する方法をドキュメントにしました。
考え方としては、コマンドラインでデータベース固有のコマンドをシェルを使用して、いくつかのクエリを送信してみるというものです。
Apache Hive は例として使用しているデータウェアハウスです(が、psql
, mysql
, など、Hue が接続できる 任意のデータベースでも同じように動作します) .
これは現在の Hue のポッドに余分なファイルをインストールしますが、Hue のサービスと全く同じ場所からやりとりをテストすることができます(したがって、接続性
や認証
の問題をトラブルシュートするのに適しています)。
まず、SQL エディタで Hive のバージョンを確認します。
SELECT version()
> 2.3.2 r857a9fd8ad725a53bd95c1b2d6612f9b1155f44d
次に Hue のポッドを一覧します。
kubectl get pods
> NAME READY STATUS RESTARTS AGE
hue-758466dc77-wpcx8 2/2 Running 0 22h
ingress-nginx-controller-5d6fbbddb6-8kd86 1/1 Running 0 23h
postgres-hue-64c9cc8744-dpk47 1/1 Running 1 47d
いずれかに接続します。
kubectl exec -it hue-758466dc77-wpcx8 hue -- bash
次に、以下から同じ Hive のバージョンのクライアントファイルを取得します。
そしてそれらをインストールします。
sudo apt-get install wget
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.4/hadoop-2.7.4.tar.gz
wget https://archive.apache.org/dist/hive/hive-2.3.2/apache-hive-2.3.2-bin.tar.gz
tar -xvzf hadoop-2.7.4.tar.gz
tar -xvzf apache-hive-2.3.2-bin.tar.gz
export HADOOP_HOME=`pwd`/hadoop-2.7.4
export HIVE_HOME=`pwd`/apache-hive-2.3.2-bin
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
PATH=$PATH:$HIVE_HOME/bin
これで接続の準備ができました。
beeline -u 'jdbc:hive2://172.21.0.3:10000'
> SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/share/hue/apache-hive-2.3.2-bin/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/share/hue/hadoop-2.7.4/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Connecting to jdbc:hive2://172.21.0.3:10000
Connected to: Apache Hive (version 2.3.2)
Driver: Hive JDBC (version 2.3.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.3.2 by Apache Hive
0: jdbc:hive2://172.21.0.3:10000> SHOW TABLES;
+--------------------+
| tab_name |
+--------------------+
| about |
| amandine_test |
| city_cases |
| cricketer |
| cust1 |
| cust2 |
| customer |
| customers |
| student_info |
| ........ |
| web_logs |
| yash_contact_test |
+--------------------+
52 rows selected (0.098 seconds)
… そして、あなたの SQL ユーザは再びセルフサービスクエリ を開始することができます!
beeline コマンドライン については Hive Wiki で詳しく解説しています。
Any feedback or question? Feel free to comment here or on the Forum and quick start SQL querying! フィードバックや質問はありますか?このページや Forum にコメントください。quick start SQLクエリのクイックスタートをしましょう!
その先へ!
Romain from the Hue Team