--- title: 'Hadoopチュートリアル: HiveServer2とSentryでHiveクエリエディタ' author: Hue Team type: post date: 2013-10-24T23:59:24+00:00 url: /hadoopチュートリアル-hiveserver2とsentryでhiveクエリエディタ/ sf_thumbnail_type: - none sf_thumbnail_link_type: - link_to_post sf_detail_type: - none sf_page_title: - 1 sf_page_title_style: - standard sf_no_breadcrumbs: - 1 sf_page_title_bg: - none sf_page_title_text_style: - light sf_background_image_size: - cover sf_social_sharing: - 1 sf_sidebar_config: - left-sidebar sf_left_sidebar: - Sidebar-2 sf_right_sidebar: - Sidebar-1 sf_caption_position: - caption-right slide_template: - default sf_custom_excerpt: - HueはHiveクエリをサブミットするためのウェブインタフェースを提供しています。HueはHiveクエリをサービスするための独自サーバー、Beeswaxを... categories: - Hive - Tutorial - Video --- ([原文][1]) HueはHiveクエリをサブミットするためのウェブインタフェースを提供しています。HueはHiveクエリをサービスするための独自サーバー、Beeswaxを持っていました。Hue2.5では、より洗練され強力なサービス、Apache [HiveServer2][2]がサポートされています。 # Beeswax Hiveエディタ HiveServer2の統合により、Hueは[Sentry][3]の恩恵を得ていることに感謝します。[セキュリティ][3]が提供されることに加え、Hueのインタフェースはより強固になりました。例えば、データベースやテーブルの権限がないユーザーは、クエリエディタや[メタストアアプリ][4]でそれらを見ることができなくなります。 HiveServer2も[メタストア][4]への効率的なアクセスを提供します。 この一番上にあるBeeswax Hive UIは、生産性を向上するウェブエディタです: * 構文のハイライトと自動補完 * いくつかのクエリをサブミットし、後から進捗を確認 * UDFの統合 * 多数のクエリ実行 * クエリの一部分を選択して送信 * クエリ結果のダウンロードと保存 * メタデータを通してナビゲート ビデオは近日公開します! ## Hue 2.x 私たちはHueの最新バージョン(2.5)の使用を推奨しています。 [hue.ini][5]のBeeswaxセクションを更新し、HueがHiveServer2を指すようにします。:
[beeswax]
  beeswax_server_host=<FQDN of Beeswax server>
  server_interface=hiveserver2
  beeswax_server_port=10000
## Hue 3.x Hue 3では、もうBeeswaxdをバンドルしておらず、デフォルトでHiveServer2を使うように設定されています。HiveServer2がHueと同じマシンではない場合、[hue.ini][6]を下記のように更新します:
[beeswax]
 hive_server_host=<FQDN of HiveServer2>
他のHive固有の設定(例:セキュリティ、impersonation:なりすまし)は、ローカルの[/etc/hive/conf/hive-site.xml][7]から読み込みます。私たちは、元のHiveの設定と確実に同期され続ける(あるいは、HueとHiveを同じマシンに配置する)ことを推奨しています。 # トラブルシューティング
AuthorizationException: User 'hue/test.com' does not have privileges to execute 'CREATE' on: default.sample_08"
‘hue’ユーザーはSentryで設定されておらず、CREATE tableの権限を持っていません。(以下で説明する)impersonationは、Sentryの場合には素晴らしいということに気づくでしょう。impersonationのユーザー権限(例: ‘bob’)が、’hue’ユーザーの1人の代わりに使用されるようになります。
org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=hive, access=WRITE, inode="/user/test/data":test:supergroup:drwxr-xr-x
デフォルトでHiveServer2は、現在、Hiveのwarehouse(デフォルトで’/user/hive/warehouse’)を所有しており、データファイルは’hive’ユーザーに属している必要があることを意味しています。テーブルの作成時にこのエラーが生じた場合は、データディレクトリ(ここでは/user/test/data)のパーミッションを全員が’書き込める’ようにするか、ユーザーをimpersonateすることを’hive’に許可を与えることで、HiveServer2を古いBeeswaxの振る舞いに戻します。 Hadoopの[proxy user][8]として’hive’を追加し、hive-site.xmlを編集します:
<property>
   <name>hive.server2.enable.doAs</name>
   <value>true</value>
 </property>
その後HiveServer2をリスタートします:
sudo service hive-server2 restart
その他のYARNを使用しているときの一般的なエラー:
Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
これはHADOOP\_MAPRED\_HOME環境変数が設定されていません:
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
HADOOP_HOMEも間違っています。
TTransportException('Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found',)
Hueにはシステムの [SASL lib][9] が欠けています。 HiveServer2は3つの認証モードをサポートしています: * NOSASL * NONE (デフォルト) * KERBEROS NOSASLのみがSASLを必要としないので、これに切り替えるか足りないパッケージをインストールするかのどちらかです。 # まとめ Hue は非常に使いやすいユーザーインタフェースでHiveクエリを実行するための素晴らしい環境を提供しています。Beeswaxdは素晴らしいサービスでしたが、HiveServer2が好まれており、廃止される可能性があります。HiveServer2はより安定性とセキュリティを提供しています。 追記として、あなたがもっと速いSQLクエリを探しているなら、[Impala Editor][10]をテストすることをお勧めします! ご質問やフィードバックがあれば、[hue][11][-user][11] や [@gethue.com][12]までお気軽にお尋ね下さい! [1]: https://gethue.com/hadoop-tutorial-hive-query-editor-with-hiveserver2-and [2]: http://blog.cloudera.com/blog/2013/07/how-hiveserver2-brings-security-and-concurrency-to-apache-hive/ [3]: http://cloudera.com/content/cloudera/en/campaign/introducing-sentry.html [4]: https://gethue.tumblr.com/tagged/metastore [5]: https://github.com/cloudera/hue/blob/branch-2.5.1/desktop/conf.dist/hue.ini#L384 [6]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L438 [7]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L450 [8]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Security-Guide/cdh4sg_topic_9_1.html?scroll=topic_9_1_3_unique_1__title_140_unique_1 [9]: https://github.com/cloudera/hue#development-prerequisites [10]: https://gethue.com/fast-sql-with-the-impala-query-editor [11]: http://groups.google.com/a/cloudera.org/group/hue-user [12]: http://twitter.com/gethue