まず、ハイブをインストール
1.1のダウンロードと解凍
ハイブの必要なバージョンをダウンロードし、ここで私はバージョンをダウンロードしましたcdh5.15.2
。ダウンロード:http://archive.cloudera.com/cdh5/cdh/5/
# 下载后进行解压
tar -zxvf hive-1.1.0-cdh5.15.2.tar.gz
1.2設定環境変数
# vim /etc/profile
環境変数を追加します。
export HIVE_HOME=/usr/app/hive-1.1.0-cdh5.15.2
export PATH=$HIVE_HOME/bin:$PATH
それはすぐに反映するために、環境変数の設定を行います
# source /etc/profile
1.3の設定を変更します
1. hive-env.sh
インストールディレクトリの入力conf/
ディレクトリを、ハイブ環境設定テンプレートをコピーしますflume-env.sh.template
cp hive-env.sh.template hive-env.sh
変更hive-env.sh
、Hadoopののインストールパスを指定します。
HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2
2.ハイブ-site.xmlに
次のように新しいハイブ-site.xmlファイルは、主にメタデータのMySQLアドレス、ドライバ、ユーザー名とパスワードやその他の情報を格納するように構成されました:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop001:3306/hadoop_hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
</configuration>
1.4コピーのデータベース駆動型
ドライバパッケージは、インストールディレクトリハイブにコピーされますMySQLのlib
ディレクトリ、MySQLドライバのダウンロードアドレスは次のとおりです。https://dev.mysql.com/downloads/connector/j/、この倉庫には資源のディレクトリ私もアップロードダウンロードしてそこに必要があるかもしれません。
1.5元のデータベースの初期化
ハイブは、バージョン1.xを使用するときは、ハイブは、あなたが最初の起動時に自動的に初期化されますが、すべてのメタデータ情報テーブルを生成しません、必要な初期化の一部だけで、操作を開始することはできませんテーブルの残りの部分で使用された場合、使用後に自動的に作成。
ハイブは、バージョン2.xを使用している場合は、手動でメタデータデータベースを初期化する必要があります。初期化コマンド:
# schematool 命令在安装目录的 bin 目录下,由于上面已经配置过环境变量,在任意位置执行即可 schematool -dbType mysql -initSchema
私はCDHされ、ここで使用しているhive-1.1.0-cdh5.15.2.tar.gz
、対応するHive 1.1.0
バージョンは、この手順を省略することができます。
1.6開始
、環境変数を設定し、直接起動すると、正常の後、対話型のコマンドラインを入力するには、次のコマンドを使用するハイブのbinディレクトリを持つshow databases
コマンド、例外なくして成功を構築表します。
# hive
MySQLはハイブを作成したテーブルのライブラリや店舗メタデータ情報で見ることができます
二、HiveServer2 /ビーライン
ハイブは、クライアントが様々なプログラミング言語を使用して接続することができ、どちらもHiveServer HiveServer2やサービスを、構築されますが、クライアントのHiveServer複数の同時要求を処理できない、のでHiveServer2を作成します。リモートクライアントは、ハイブと、検索結果、マルチクライアントのサポート同時アクセスと認証に要求を提出するさまざまなプログラミング言語を使用することができるようにするHiveServer2(HS2)。HS2は桟橋のWebサービスのハイブ倹約ベースのサービス(TCPまたはHTTP)を含む複数のサービス、およびWeb UIからなる単一のプロセスです。
HiveServer2は、独自のCLIツール--Beelineを持っています。ビーラインは、JDBCクライアントのSQLLine基づいています。現在HiveServer2ハイブは、開発とメンテナンスの焦点であるのために、より正式ビーラインの代わりにハイブCLIを使用することをお勧めします。ビーラインの構成に主に以下。
2.1のHadoopの設定を変更
コア-site.xmlのHadoopクラスタの設定ファイルを変更し、以下の設定を追加し、ユーザーは、マシン上のすべてのユーザーの代理ルートのHadoopを指定することができます。
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
セキュリティ機構迷彩のHadoop 2.0の導入後、そのようなHadoopの許容上位システム(例えばハイブ)が実際のユーザのHadoop層に直接伝達され、実際にそのことによって、スーパーユーザエージェントに送信する必要があるため、この手順を設定する理由演技は、任意のクライアントが自由にHadoopの動作を回避するために、Hadoopの上で操作を実行します。この手順を設定しない場合、接続後にスローされることがありAuthorizationException
、例外を。
关于 Hadoop 的用户代理机制,可以参考:hadoop 的用户代理机制 或 Superusers Acting On Behalf Of Other Users
2.2 启动hiveserver2
由于上面已经配置过环境变量,这里直接启动即可:
# nohup hiveserver2 &
2.3 使用beeline
可以使用以下命令进入 beeline 交互式命令行,出现 Connected
则代表连接成功。
# beeline -u jdbc:hive2://hadoop001:10000 -n root
更多大数据系列文章可以参见 GitHub 开源项目: 大数据入门指南