Diretório de artigos
-
- Prefácio
- 1. Ambiente de configuração
- 2. Instale o contêiner Hive
-
- Criar contêiner Hive
- Carregue o pacote de instalação do hive para o host e descompacte-o
- Modificar arquivo de configuração do hive
- Carregar e configurar o driver mysql
- Inicie contêineres mysql e hadoop
- Criar contêiner de colmeia
- Entre no contêiner da colmeia
- Configurar variáveis de ambiente do hive
- Inicializar metadados mysql
- 3. Inicie o Hive
- Resumir
Prefácio
Este é Maynor
o 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 | 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.
- Verifique a configuração e confirme a compra.
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.
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.
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.
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.
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/
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&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>
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
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
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. 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
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 &
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
Reiniciar contêiner
docker restart hive
docker exec -it hive bash
dbserver se conecta ao hive
conexão bem-sucedida:
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.