Huawei Cloud Yaoyun Server L インスタンスの評価 | Docker 環境での Hive データベースのデプロイ

序文

これは、MaynorHuawei 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 インスタンスの詳細ページで、「購入」をクリックします。

画像-20230915164709448

  • 構成を確認して購入を確認します。

画像-20230915164730739

Yunyao Cloud Server L インスタンスのステータスを確認する

購入した Yunyao Cloud Server L インスタンスのステータスを確認すると、正常に実行されています。

画像-20230915165006300

パスワードを再設定する

パスワードをリセットするには、[パスワードのリセット] オプションをクリックします。本人確認が必要です。携帯電話の認証を選択すると、パスワードを正常にリセットできます。

画像-20230915165053276

Elastic パブリック IP アドレスを確認する

  • Elastic パブリック IP アドレスをコピーし、サーバーにリモート接続するときに使用します。

画像-20230915165639764

FinalShell接続サーバー

FinalShell ツールで、サーバーの Elastic パブリック IP アドレス、アカウント、パスワード情報を入力し、ssh 経由でリモート サーバーに接続します。

画像-20230915165703665

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/

    画像-20230918201236147

ハイブ構成ファイルを変更する

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&amp;useSSL=false&amp;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>

画像-20230918201511537

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

画像-20230918201827278

mysqlメタデータを初期化する

  • mysqlメタデータの初期化コマンド

    schematool -initSchema -dbType mysql

  • mysqlコンテナに入り、Hive関連テーブルのエンコード形式を設定します。

    docker exec -it mysql bash

  • mysql を入力し、次のステートメントを実行して、Hive のデフォルトのエンコード方法を変更します。

    mysql -u root -p

    画像-20230918201921917

    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%";
    

画像-20230918202016942

3. ハイブを起動する

ハイブを起動し、ビーラインを使用してハイブに接続します

  • ハイブを開始する

    nohup hive --service metastore &
    nohup hive --service hiveserver2 &
    
  • beeline を使用してハイブに接続する

    beeline
    !connect jdbc:hive2://hive.bigdata.cn:10000
    

画像-20230918202111191

ハイブを自動的に起動するように構成する
ログ保存ディレクトリを作成する

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 &

画像-20230918202255473

スクリプトの実行権限を設定する

chmod a+x /etc/bootstrap.sh

自動起動サービスに加入する

vim /etc/rc.d/rc.local
/etc/bootstrap.sh
chmod 755 /etc/rc.d/rc.local 

画像-20230918202321359

コンテナを再起動します

docker restart hive
docker exec -it hive bash

dbserver がハイブに接続します

画像-20230918205531785

接続が成功しました:

画像-20230919085628133

要約する

この記事では、云耀云服务器L实例パスワードのリセット、サーバーへの接続、Hive コンテナのインストール、環境変数の構成、メタデータの初期化、Hive の起動、自動起動の構成など、Docker コンテナ ハイブ データベースをインターネット上にデプロイする手順を紹介します。

おすすめ

転載: blog.csdn.net/xianyu120/article/details/133016512