Hive分散クラスターの構築ガイド

Hive分散クラスターの構築方法

一、Hiveコンポーネントのインストール

1. 環境準備(CentOS仮想マシンとHiveインストールパッケージ)

ここではコミュニティ版を使用します:community

ダウンロード後、HiveコンポーネントパッケージをCentOS仮想マシンにアップロードし、llコマンドでアップロードの成功を確認します。

アップロード成功後、最も重要なステップはインストールパッケージの解圧です。この手順を絶対に省略しないでください

以下はHiveコンポーネントパッケージを解圧するコマンドです:

tar -zxvf apache-hive-1.1.0-bin.tar.gz -C /home/local/

二、Hiveのデプロイ設定

以下のコマンドを入力してvi編集モードに入ります

vi /etc/profile

以下の内容を追加します:

#hive
export HIVE_HOME=/home/local/hive
export PATH=$PATH:${HIVE_HOME}/bin

環境変数を有効にするには、以下のコマンドを実行します

source /etc/profile

データベース設定の変更:

  1. データベースの自動起動を設定します

  2. 状態を確認し、active runningと表示されれば自動起動成功です

systemctl start mysqld.service #自動起動設定
systemctl status mysqld.service #状態確認
  1. パスワードの変更
#元のパスワードを取得
grep "password" /var/log/mysqld.log
#MySQLにログイン
mysql -uroot -p
#パスワードポリシー設定(プロンプトが表示されます)
#新しいパスワード設定(プロンプトが表示されます)
Enter password: #設定した新しいパスワードを入力 Password123$
  1. データベース権限の設定と確認
mysql> grant all privileges on *.* to root@'localhost'
identified by 'Password123$'; #ローカルアクセス権限を追加
mysql> grant all privileges on *.* to root@'%' identified by
'Password123$'; #リモートアクセス権限を追加
mysql> flush privileges; #権限の更新
mysql> select user,host from mysql.user where user='root';
#rootユーザーの権限確認
mysql> exit; #MySQLデータベースから退出

Hiveコンポーネント設定ファイルの変更

データベース設定が完了したら、Hiveコンポーネント設定ファイルに入ります

まずhadoopユーザーに切り替えます

#ユーザー切り替えコマンド
su - hadoop

viモードで設定ファイルを編集するコマンド:

vi /usr/local/src/hive/conf/hive-site.xml

第一段階:設定ファイル内でmysqldデータベース接続を設定

<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>

第二段階:mysqldデータベースrootパスワードの設定

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Password123$</value>
<description>password to use against database</description>
</property>

第三段階:メタデータ保存バージョンの一貫性検証、デフォルトがfalseの場合は変更不要

<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<description>
Enforce metastore schema version consistency.
True: Verify that version information stored in is compatible with one from
Hive jars. Also disable automatic
False: Warn if the version information stored in metastore doesn't match
with one from in Hive jars.
</description>
</property>

第四段階:データベースドライバの設定

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

第五段階:データベースユーザー名javax.jdo.option.ConnectionUserNameをrootに設定

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>

第六段階:以下の${system:java.io.tmpdir}/${system:user.name}を"/usr/local/src/hive/tmp"ディレクトリとそのサブディレクトリに置き換えます。以下の4箇所の設定を置き換える必要があります

<name>hive.querylog.location</name>
<value>/usr/local/src/hive/tmp</value>
<description>Location of Hive run time structured log file</description>

<name>hive.exec.local.scratchdir</name>
<value>/usr/local/src/hive/tmp</value>

<name>hive.downloaded.resources.dir</name>
<value>/usr/local/src/hive/tmp/resources</value>

<name>hive.server2.logging.operation.log.location</name>
<value>/usr/local/src/hive/tmp/operation_logs</value>

第七段階:Hiveインストールディレクトリにtmp一時フォルダを作成

[hadoop@master ~]$ mkdir /usr/local/src/hive/tmp

三、Hiveのセットアップテストと検証

第一段階:MySQLドライバ(/opt/software/mysql-connector-java-5.1.46.jar)をHiveインストールディレクトリのlibにコピーします

[hadoop@master ~]$ cp /opt/software/mysql-connector-java-5.1.46.jar /usr/local/src/hive/lib/

第二段階:Hadoopを再起動します

[hadoop@master lib]$ stop-all.sh
[hadoop@master lib]$ start-all.sh

第三段階:データベースを初期化します

[hadoop@master ~]$ schematool -initSchema -dbType mysql

第四段階:最後にHiveを起動して実行結果を確認します

hadoopユーザーのコマンドラインで直接hiveコマンドを入力します

[hadoop@master ~]$ hive

以下の結果が表示されればHiveコンポーネントの構築は成功です。

四、まとめ

HiveはHadoopに基づいたデータウェアハウスツールです。今回のHiveインストールにより、HadoopクラスターにHiveをインストールし、基本的な設定とデータロード操作を行いました。同時に、動作原理とパフォーマンス最適化についてより深い理解を得ることができました。経験を積むことで、今後のビッグデータ処理のニーズにより効果的に対応できるようになります。

タグ: Hadoop Hive データウェアハウス 分散処理 MySQL

6月13日 00:08 投稿