Avaliação da instância L do Huawei Cloud Yaoyun Server | Implantando banco de dados Hive no ambiente Docker

Prefácio

​ Este é Maynoro quarto artigo da avaliação da instância do Huawei Cloud Yaoyun Server L criada pelo Huawei Cloud Evaluation Series Portal:

Avaliação da instância L do Huawei Cloud Yaoyun Server | Implantando o banco de dados ClickHouse21.1.9.41 em um ambiente de nó único

Avaliação da instância L do Huawei Cloud Yaoyun Server | Implantando o hadoop2.10.1 em um ambiente pseudo-distribuído

Avaliação da instância L do Huawei Cloud Yaoyun Server | Implantar o Hadoop no ambiente Docker

Introdução à instância L do Yunyao Cloud Server

​É云耀云服务器L实例 uma nova geração de servidores em nuvem de aplicativos leves, especialmente desenvolvidos para pequenas e médias empresas e desenvolvedores, proporcionando conveniência imediata. 云耀云服务器L实例Ele fornece uma imagem de aplicativo rica e cuidadosamente selecionada, que pode ser implantada com um clique, simplificando muito o processo de construção de sites de comércio eletrônico, aplicativos da web, miniaplicativos, ambientes de aprendizagem e várias tarefas de desenvolvimento e teste dos clientes na nuvem.

Introdução ao Docker

Docker é uma ferramenta 开源的容器化平台que ajuda os desenvolvedores a empacotar aplicativos e suas dependências em um contêiner independente para obter uma implantação de aplicativos rápida, confiável e portátil. O conceito central do Docker é um contêiner, que é uma unidade de software leve, portátil e independente que contém todos os componentes necessários para executar um aplicativo, como 代码、运行时环境、系统工具和系统库.

Introdução ao Hive

Hive é uma 基于Hadoop的数据仓库ferramenta que fornece uma linguagem de consulta semelhante ao SQL, permitindo que pessoal não técnico execute facilmente análises e consultas de dados. O Hive mapeia dados estruturados para o sistema de arquivos distribuído do Hadoop e os transmite HiveQL语言进行查询和分析. Sua vantagem reside na capacidade de lidar com conjuntos de dados em grande escala e possui 高可扩展性和容错性. O Hive também oferece suporte a funções e extensões definidas pelo usuário, permitindo que os desenvolvedores personalizem de acordo com suas próprias necessidades. O Hive se tornou uma ferramenta importante no processamento de big data e é amplamente utilizado 数据仓库、数据分析和数据挖掘em outras áreas.

1. Ambiente de configuração

Compre a instância Yunyao Cloud Server L

Na página de detalhes da instância do Yunyao Cloud Server L, clique em Comprar.

imagem-20230915164709448

  • Verifique a configuração e confirme a compra.

imagem-20230915164730739

Verifique o status da instância Yunyao Cloud Server L

Verifique o status da instância adquirida do Yunyao Cloud Server L e ela está funcionando normalmente.

imagem-20230915165006300

redefinir senha

Para redefinir a senha, clique na opção redefinir senha. A verificação de identidade é necessária. Depois de selecionar a verificação do telefone celular, a senha pode ser redefinida com sucesso.

imagem-20230915165053276

Verifique o endereço IP público elástico

  • Copie o endereço IP público elástico e use-o ao conectar-se remotamente ao servidor.

imagem-20230915165639764

Servidor de conexão FinalShell

Na ferramenta FinalShell, preencha o endereço IP público elástico do servidor, informações de conta e senha e conecte-se ao servidor remoto via ssh.

imagem-20230915165703665

2. Instale o contêiner Hive

Criar contêiner Hive

Carregue o pacote de instalação do hive para o host e descompacte-o

  • Entre no diretório /mnt/docker_share e carregue apache-hive-2.1.0-bin.tar.gz para este diretório

  • Descompacte-o no diretório opt

    tar -xvzf apache-hive-2.1.0-bin.tar.gz -C /opt/

    imagem-20230918201236147

Modificar arquivo de configuração do hive

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>

imagem-20230918201511537

Carregar e configurar o driver mysql

  • Faça upload do driver mysql jdbc para host/mnt/docker_share

    • mysql-connector-java-5.1.38-bin.jar
  • Copie o driver mysql para 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
    

Inicie contêineres mysql e hadoop

  • Inicie o contêiner mysql

    docker start mysql

  • Iniciar contêiner hadoop

    docker start hadoop

Criar contêiner de colmeia

  • Crie um contêiner hive e especifique o IP (observe que --privileged=true deve ser adicionado, caso contrário, os serviços do sistema não poderão ser usados)

    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
    

Entre no contêiner da colmeia

docker exec -it hive bash

Configurar variáveis ​​de ambiente do hive

vim /etc/profile

export HIVE_HOME=/opt/apache-hive-2.1.0-bin
export PATH=$HIVE_HOME/bin:$PATH

source /etc/profile

imagem-20230918201827278

Inicializar metadados mysql

  • Comando inicializar metadados mysql

    schematool -initSchema -dbType mysql

  • Entre no contêiner mysql e defina o formato de codificação das tabelas relacionadas ao hive

    docker exec -it mysql bash

  • Digite mysql e execute as seguintes instruções para modificar o método de codificação padrão do Hive

    mysql -u root -p

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

imagem-20230918202016942

3. Inicie o Hive

Inicie o Hive e use o Beeline para se conectar ao Hive

  • Iniciar colméia

    nohup hive --service metastore &
    nohup hive --service hiveserver2 &
    
  • Use Beeline para se conectar ao Hive

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

imagem-20230918202111191

Configure o hive para iniciar automaticamente
Criar diretório de armazenamento de log

mkdir -p /opt/apache-hive-2.1.0-bin/logs

Criar script de inicialização

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 &

imagem-20230918202255473

Definir permissões de execução de script

chmod a+x /etc/bootstrap.sh

Junte-se ao serviço de inicialização automática

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

imagem-20230918202321359

Reiniciar contêiner

docker restart hive
docker exec -it hive bash

dbserver se conecta ao hive

imagem-20230918205531785

conexão bem-sucedida:

imagem-20230919085628133

Resumir

Este artigo apresenta 云耀云服务器L实例as etapas para implantar um banco de dados Hive de contêiner Docker na Internet, incluindo redefinição de senha, conexão ao servidor, instalação do contêiner Hive, configuração de variáveis ​​de ambiente, inicialização de metadados, inicialização do Hive e configuração de inicialização automática, etc.

Acho que você gosta

Origin blog.csdn.net/xianyu120/article/details/133016512
Recomendado
Clasificación