- 印刷する
- PDF
Hive を使用する
- 印刷する
- PDF
VPC環境で利用できます。
Data Forestは、ユーザー別に独立したApache HiveServer2(以下HS2)サービス環境を構築できるようにサポートします。Hive Metastoreが必要であり、Data Forestで提供するHive Metastoreを使用します。Hiveは、データ保存システムに保存された大量のデータを分析して処理するSQLベースのデータウェアハウス(Data Warehouse)ソリューションです。
- HIVESERVER2-LDAPアプリはLDAP方式でHS2にアクセスするユーザーを認証します。Kerberos認証はサポートしません。
- HS2アプリには、アプリを起動したユーザーとクラスタオペレーター以外の他のユーザーはログインできません。ログインが必要であれば、HS2アプリのオーナーが他のユーザーにログイン権限を付与できます。
HIVESERVER2-LDAPアプリの詳細情報の確認
アプリの作成が完了すると詳細情報を確認できます。アプリの詳細情報のStatusがStableであれば、アプリが正常に起動されたことを意味します。
アプリの詳細情報を確認する方法は以下のとおりです。
- NAVERクラウドプラットフォームコンソールで、Services > Big Data & Analytics > Data Forest > Appメニューを順にクリックします。
- アプリを所有するアカウントを選択します。
- 詳細情報を確認するアプリをクリックします。
- アプリの詳細情報を確認します。
- Quick links
- AppMaster:コンテナログを確認できるURL。アプリを作成するとすべてのアプリはYARNキューに提出され、YARNは各アプリの詳細情報を確認できるウェブUIを提供。
- supervisor-hs2-auth-ldap-0:HS2を管理できるSupervisor URL
- shell-hs2-auth-ldap-0:HS2ウェブシェルURL
- webui-hs2-auth-ldap-0:HS2ウェブUIにアクセスできるURL
- home:実行中のセッションや最近実行されたHiveクエリなどを確認できる
- configuration:HS2のconfigurationをXML形式で確認できる
- Metrics Dump:リアルタイムJMXマトリックスをJSON形式で確認できる
- Stack Trace:有効になっているすべてのスレッドのstack traceを確認できる
- LLAP Daemon:Hive LLAPデーモンの状態を確認できる
- local logs:ログを確認できる。オペレーターのみアクセスできる。
- Connection String:HS2アプリにアクセスできるURL
- JDBC connection string(inside-of-cluster) Example:Beeline、Zeppelin、HUE、ユーザー定義プログラムでJDBCに接続する際に使用されるConnection String。このアドレスはData Forestの内部ネットワークからHS2にアクセスする際に使用。
- JDBC connection string:Data Forestの外部ネットワークからHS2にアクセスする際に使用するアドレス。ユーザーのPCではJDBC connection string(inside-of-cluster) にはアクセスできない。内部・外部の区分が困難な場合、JDBC connection stringを使用できる。
- JDBC connection string(inside-of-cluster):Exampleリンクを使用する前に、passwordパラメータの
changeme
をユーザーアカウントのパスワードに変更して使用 - JDBC connection string Example:Exampleリンクを使用する前に、passwordパラメータの
changeme
をユーザーアカウントのパスワードに変更して使用
- コンポーネント:デフォルト値が推奨リソースです。HIVESERVER2-LDAP-3.1.0タイプはhs2-auth-ldapコンポーネント1つで構成されます。
- hs2-auth-ldap:ユーザーにLDAP方式の認証を処理するためのコンポーネント
- Quick links
<例>
HS2のアクセス画面は以下のとおりです。
BeelineでHiveServer2アプリにアクセス
beeline -u {JDBC connection string} -n {username} -p {password}
コマンドでHS2にアクセスする方法は以下のとおりです。
# Kerberos認証
$ curl -s -L -u test01:$PASSWORD -o df.test01.keytab "https://sso.kr.df.naverncp.com/gateway/koya-auth-basic/webhdfs/v1/user/test01/df.test01.keytab?op=OPEN"
$ ls -al
total 20
drwxr-s--- 4 test01 hadoop 138 Dec 16 17:57 .
drwxr-s--- 4 test01 hadoop 74 Dec 16 17:44 ..
-rw-r--r-- 1 test01 hadoop 231 Dec 16 17:36 .bashrc
-rw------- 1 test01 hadoop 302 Dec 16 17:36 container_tokens
-rw-r--r-- 1 test01 hadoop 245 Dec 16 17:57 df_beta.test01.keytab
lrwxrwxrwx 1 test01 hadoop 101 Dec 16 17:36 gotty -> /data1/hadoop/yarn/local/usercache/test01/appcache/application_1607671243914_0024/filecache/10/gotty
-rwx------ 1 test01 hadoop 6634 Dec 16 17:36 launch_container.sh
drwxr-S--- 3 test01 hadoop 19 Dec 16 17:53 .pki
drwxr-s--- 2 test01 hadoop 6 Dec 16 17:36 tmp
$ kinit example -kt df.example.keytab
# HiveServerにアクセス
$ beeline -u "jdbc:hive2://hs2-auth-ldap.new-hiveserver2.example.kr.df.naverncp.com:10001/;transportMode=http;httpPath=cliservice" -n test01 -p '{password}'
正常にアクセスすると以下のように出力されます。
Connected to: Apache Hive (version 3.1.0.3.1.0.0-78)
Driver: Hive JDBC (version 3.1.0.3.1.0.0-78)
Transaction isolation: TRANSACTION_REPEATABLE_READ
ZeppelinでHiveを使用する
Zepplinにアクセスして画面右上のアカウント名をクリックし、Interpreterメニューをクリックします。
JDBCインタープリターを検索します。
JDBC connection string Exampleを参考にしてhive url Properitesに以下のように設定を追加します。
参考アカウントの作成時に設定したパスワードに特殊文字が含まれる場合、urlエンコードで置換してから入力してください。
コンテナでシェルにアクセス
ユーザーはHS2アプリコンテナでウェブブラウザを通じてシェル/bin/bash
にアクセスできます。シェルにアクセスするとコンテナの状況を簡単に確認できます。また、シェルの中で設定ファイルを変更したり、ファイルをダウンロードしたりするといった書き込みジョブを行えます。
- Quick Linksリストでshell-hs2-auth-ldap-0にアクセスします。
- シェルにアクセスするためにログインします。
- ユーザー名:HS2アプリを実行したユーザーのアカウント名を入力
- パスワード:アカウントのパスワードを入力
- HS2コンテナが起動されたデバイスの障害などによりHS2コンテナが他のノードで再起動される場合、書き込み内容は消失します。書き込み内容は永続的に保持されるものではないため、シェルは読み取り専用のみで使用してください。
- セキュリティのために、HS2アプリを起動したアプリのオーナーアカウントとクラスタオペレーターのみシェルにアクセスできるように制限されています。例えば、ユーザー「foo」が起動したHS2アプリのシェルにユーザー「bar」はログインできません。
Hive使用時の注意事項
Hiveルール
共用HS2とは違い、SHOW DATABASES;
コマンドで他のユーザーのすべてのデータベースリストを表示できます。ただし、許可なしに他のユーザーのデータベースにはアクセスできません。
HS2アプリの使用時は、共用Hiveを使用するガイドを必ず熟知してルールを守ってください。
データベース名の制限
Hiveのデータベース名の制限と同じルールを使用します。HS2アプリでは、ルールに反する名前でもCREATE DATABASE
コマンドは失敗しません。HS2アプリでは、システム上データベースの名前ルールを強制的に適用することができません。データベースの作成時にルールに反しないようご注意ください。データベース名のルールに反する場合、HS2アプリで作成したデータベースは共用HS2では照会されません。
共用HS2では、ルールに反する名前の場合にはエラーが発生します。そのため、データベースの作成はHS2アプリではなく共用HS2で行うことをお勧めします。