序文
これは、Maynor
Huawei Cloud Evaluation Series Portal によって作成された Huawei Cloud Yaoyun Server L インスタンス評価の 4 番目の記事です。
Huawei Cloud Yaoyun Server L インスタンスの評価 | シングルノード環境での ClickHouse21.1.9.41 データベースのデプロイ
Huawei Cloud Yaoyun Server L インスタンスの評価 | 擬似分散環境での hadoop2.10.1 のデプロイ
Huawei Cloud Yaoyun Server L インスタンスの評価 | Docker 環境での Hadoop のデプロイ
Yunyao クラウド サーバー L インスタンスの概要
これは、中小企業や開発者向けに特別に構築された新世代の軽量アプリケーション クラウド サーバーで云耀云服务器L实例
、すぐに使える利便性を提供します。云耀云服务器L实例
ワンクリックで展開できる厳選された豊富なアプリケーション イメージが提供され、顧客が電子商取引 Web サイト、Web アプリケーション、アプレット、学習環境、およびさまざまな開発およびテスト タスクをクラウドで構築するプロセスが大幅に簡素化されます。
Docker の概要
Docker は、開発者がアプリケーションとその依存関係を独立したコンテナにパッケージ化し、高速で信頼性が高く移植可能なアプリケーションのデプロイメントを実現するのに役立つツールです开源的容器化平台
。Docker の中心的な概念はコンテナです。これは、 などのアプリケーションを実行するために必要なすべてのコンポーネントを含む、軽量でポータブルな自己完結型のソフトウェア ユニットです代码、运行时环境、系统工具和系统库
。
ハイブの紹介
Hive は、基于Hadoop的数据仓库
SQL に似たクエリ言語を提供するツールで、技術者以外でも簡単にデータ分析とクエリを実行できるようにします。Hive は、構造化データを Hadoop の分散ファイル システムにマップし、それを 経由で渡しますHiveQL语言进行查询和分析
。その利点は、大規模なデータ セットを処理できることにあり、 を備えています高可扩展性和容错性
。Hive はユーザー定義の関数と拡張機能もサポートしているため、開発者は独自のニーズに応じてカスタマイズできます。Hive はビッグ データ処理における重要なツールとなっており、数据仓库、数据分析和数据挖掘
他の分野でも広く使用されています。
1. 構成環境
Yunyao Cloud Server L インスタンスを購入する
Yunyao Cloud Server L インスタンスの詳細ページで、「購入」をクリックします。
- 構成を確認して購入を確認します。
Yunyao Cloud Server L インスタンスのステータスを確認する
購入した Yunyao Cloud Server L インスタンスのステータスを確認すると、正常に実行されています。
パスワードを再設定する
パスワードをリセットするには、[パスワードのリセット] オプションをクリックします。本人確認が必要です。携帯電話の認証を選択すると、パスワードを正常にリセットできます。
Elastic パブリック IP アドレスを確認する
- Elastic パブリック IP アドレスをコピーし、サーバーにリモート接続するときに使用します。
FinalShell接続サーバー
FinalShell ツールで、サーバーの Elastic パブリック IP アドレス、アカウント、パスワード情報を入力し、ssh 経由でリモート サーバーに接続します。
2. Hiveコンテナをインストールする
Hiveコンテナの作成
ハイブ インストール パッケージをホストにアップロードし、解凍します。
-
/mnt/docker_share ディレクトリに入り、apache-hive-2.1.0-bin.tar.gz をこのディレクトリにアップロードします。
-
optディレクトリに解凍します
tar -xvzf apache-hive-2.1.0-bin.tar.gz -C /opt/
ハイブ構成ファイルを変更する
cd /opt/apache-hive-2.1.0-bin/conf
touch hive-site.xml
vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop.bigdata.cn:9000</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mysql.bigdata.cn:3306/hive?createDatabaseIfNotExist=true&useSSL=false&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>hive.bigdata.cn</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://hive.bigdata.cn:9083</value>
</property>
</configuration>
mysqlドライバーをアップロードして構成する
-
mysql jdbc ドライバーを host/mnt/docker_share にアップロードします。
- mysql-connector-java-5.1.38-bin.jar
-
mysqlドライバーをhive/libにコピーします。
cp /mnt/docker_share/mysql-connector-java-5.1.38-bin.jar /opt/apache-hive-2.1.0-bin/lib ll /opt/apache-hive-2.1.0-bin/lib | grep mysql
mysqlとhadoopコンテナを起動します
-
mysqlコンテナを起動する
docker start mysql
-
Hadoopコンテナを起動する
docker start hadoop
ハイブコンテナを作成する
-
ハイブコンテナを作成し、IP を指定します (--privileged=true を追加する必要があることに注意してください。追加しないとシステムサービスが使用できません)。
docker run \ --privileged=true \ --net docker-bd0 \ --ip 172.33.0.131 \ -v /mnt/docker_share:/mnt/docker_share \ -v /etc/hosts:/etc/hosts \ -v /opt/hadoop-2.7.0:/opt/hadoop-2.7.0 \ -v /opt/jdk1.8.0_141:/opt/jdk1.8.0_141 \ -v /opt/apache-hive-2.1.0-bin:/opt/apache-hive-2.1.0-bin \ -p 10000:10000 \ --name hive -d hadoop:2.7.0
巣箱に入る
docker exec -it hive bash
ハイブ環境変数を構成する
vim /etc/profile
export HIVE_HOME=/opt/apache-hive-2.1.0-bin
export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
mysqlメタデータを初期化する
-
mysqlメタデータの初期化コマンド
schematool -initSchema -dbType mysql
-
mysqlコンテナに入り、Hive関連テーブルのエンコード形式を設定します。
docker exec -it mysql bash
-
mysql を入力し、次のステートメントを実行して、Hive のデフォルトのエンコード方法を変更します。
mysql -u root -p
use hive; -- 修改表字段注解和表注解 alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8; alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; -- 修改分区字段注解: alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8; -- 修改索引注解: alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; -- 查看编码格式 show variables like "%char%";
3. ハイブを起動する
ハイブを起動し、ビーラインを使用してハイブに接続します
-
ハイブを開始する
nohup hive --service metastore & nohup hive --service hiveserver2 &
-
beeline を使用してハイブに接続する
beeline !connect jdbc:hive2://hive.bigdata.cn:10000
ハイブを自動的に起動するように構成する
ログ保存ディレクトリを作成する
mkdir -p /opt/apache-hive-2.1.0-bin/logs
起動スクリプトを作成する
vim /etc/bootstrap.sh
# !/bin/sh
source /etc/profile
DATE_STR=`/bin/date "+%Y%m%d%H%M%S"`
HIVE_METASTORE_LOG=${HIVE_HOME}/logs/hiveserver2-metasvr-${DATE_STR}.log
HIVE_THRIFTSVR_LOG=${HIVE_HOME}/logs/hiveserver2-thriftsvr-${DATE_STR}.log
nohup ${HIVE_HOME}/bin/hive --service metastore >> ${HIVE_METASTORE_LOG} 2>&1 &
nohup ${HIVE_HOME}/bin/hive --service hiveserver2 >> ${HIVE_THRIFTSVR_LOG} 2>&1 &
スクリプトの実行権限を設定する
chmod a+x /etc/bootstrap.sh
自動起動サービスに加入する
vim /etc/rc.d/rc.local
/etc/bootstrap.sh
chmod 755 /etc/rc.d/rc.local
コンテナを再起動します
docker restart hive
docker exec -it hive bash
dbserver がハイブに接続します
接続が成功しました:
要約する
この記事では、云耀云服务器L实例
パスワードのリセット、サーバーへの接続、Hive コンテナのインストール、環境変数の構成、メタデータの初期化、Hive の起動、自動起動の構成など、Docker コンテナ ハイブ データベースをインターネット上にデプロイする手順を紹介します。