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

Prefácio

Este blog apresentará 云耀云服务器L实例como implantar o contêiner Docker Hadoop no servidor. Hadoop é uma estrutura de computação distribuída de código aberto para processamento de conjuntos de dados em grande escala. Ao usar o Docker, podemos implantar facilmente o Hadoop em qualquer ambiente sem nos preocupar com dependências e problemas de configuração. Este blog irá detalhar como instalar e configurar o Hadoop no Docker. Quer você seja um desenvolvedor iniciante ou experiente, este blog fornecerá um Docker中部署Hadoopguia detalhado sobre como começar.

​ Este é Maynoro terceiro artigo da avaliação da instância do Huawei Cloud Yaoyun Server L criado 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

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 é um contêiner 开源的容器化平台que ajuda os desenvolvedores a empacotar aplicativos e suas dependências em um contêiner independente para 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 代码、运行时环境、系统工具和系统库.

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. instalação do docker

Configurar a fonte CentOS7 Alibaba Cloud yum

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
wget -O CentOs-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

atualização da fonte yum

yum clean all
yum makecache

Instale os pacotes de dependência exigidos pelo Docker

yum install -y yum-utils device-mapper-persistent-data lvm2

Configurar a fonte Alibaba Cloud Docker yum

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Verifique a versão do Docker

yum list docker-ce --showduplicates

Instale o Docker versão 18.03.0

yum install docker-ce-18.03.0.ce

Inicie o serviço Docker

systemctl enable docker
systemctl start docker
systemctl status docker

3. Crie um contêiner hadoop

Preparação do ambiente host

Extrair imagem

docker pull centos:7

Digite o diretório onde o pacote de instalação está armazenado

cd /mnt/docker_share

Carregar jdk e hadoop

  • Pré-requisito: Instale a ferramenta de software de upload (yum install lrzsz)

rz jdk*.tar.gz;rz hadoop*.tar.gz

Descompacte o pacote

  • Descompacte-o no diretório opt.Mapearemos os pacotes de software neste diretório para o contêiner docker mais tarde.

    tar -xvzf jdk-8u141-linux-x64.tar.gz -C /opt
    tar -xvzf hadoop-2.7.0.tar.gz -C /opt
    

Crie uma pasta para salvar dados

mkdir -p /data/dfs/nn
mkdir -p /data/dfs/dn

imagem-20230918193712822

Preparação do ambiente de contêiner

Iniciar contêiner hadoop

  • Observe que você deve adicionar --privileged=true, caso contrário, os serviços do sistema não poderão ser usados.
docker run \
--net docker-bd0 --ip 172.33.0.121 \
-p 50070:50070 -p 8088:8088 -p 19888:19888 \
-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 /data/dfs:/data/dfs \
--privileged=true \
-d  -it --name hadoop centos:7 \
/usr/sbin/init

NOTA: Certifique-se de que o SELinux esteja desabilitado no host

Entre no contêiner hadoop

docker exec -it hadoop bash

imagem-20230918193838301

Instale o vim

  • Para facilitar a edição posterior do arquivo de configuração, instale um vim

    yum install -y vim

Instale o ssh

  • Como iniciar um cluster Hadoop requer login sem senha, os contêineres Centos7 precisam instalar o ssh.
yum install -y openssl openssh-server
yum install -y openssh-client*
  • Modificar arquivo de configuração ssh

    vim /etc/ssh/sshd_config
    # 在文件最后添加
    PermitRootLogin yes
    RSAAuthentication yes
    PubkeyAuthentication yes
    
  • Iniciar serviço ssh

    systemctl start sshd.service
    # 设置开机自动启动ssh服务
    systemctl enable sshd.service
    # 查看服务状态
    systemctl status sshd.service
    

Configurar login sem senha

Gerar chave secreta

ssh-keygen

configurar senha

  • Defina a senha do usuário root para 123456

    passwd

copiar chave pública

ssh-copy-id hadoop.bigdata.cn

Teste o login sem senha

ssh hadoop.bigdata.cn

Configurar JDK

vim /etc/profile
# 配置jdk的环境变量
export JAVA_HOME=/opt/jdk1.8.0_141
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 让上一步配置生效
source /etc/profile

imagem-20230918193916756

Configurar o Hadoop

  • core-site.xml

      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop.bigdata.cn:9000</value>
      </property>
      <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
      </property>
    
  • hdfs-site.xml

      <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop.bigdata.cn:50070</value>
      </property>
      <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop.bigdata.cn:50090</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/dfs/nn</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/dfs/dn</value>
      </property>
      <property>
        <name>dfs.permissions</name>
        <value>false</value>
      </property>
    
  • fio-site.xml

      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop-yarn</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop.bigdata.cn</value>
      </property>
      <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
      </property>
      <property>
        <name>yarn.nodemanager.remote-app-log-dir</name>
        <value>/user/container/logs</value>
      </property>
    
  • mapred-site.xml

      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop.bigdata.cn:10020</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop.bigdata.cn:19888</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/tmp/mr-history</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/tmp/mr-done</value>
      </property>
    
  • hadoop-env.sh

    export JAVA_HOME=/opt/jdk1.8.0_141
    
  • escravos

    hadoop.bigdata.cn
    
  • Configurar variáveis ​​de ambiente

    • vim /etc/perfil
    • fonte /etc/perfil
    export HADOOP_HOME=/opt/hadoop-2.7.0
    export PATH=${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH
    

4. Inicialize e inicie o Hadoop

formatar hdfs

hdfs namenode -format

Iniciar o Hadoop

start-all.sh 
# 启动history server
mr-jobhistory-daemon.sh start historyserver

imagem-20230918194219493

Testar hadoop

cd $HADOOP_HOME
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 2 1

imagem-20230918194247221

Ver progresso

bash-4.1# jps
561 ResourceManager
659 NodeManager
2019 Jps
1559 NameNode
1752 SecondaryNameNode
249 DataNode

imagem-20230918194306053

5. Configure e abra o contêiner para iniciar o Hadoop

Criar script de inicialização

  • Crie um novo arquivo para armazenar o script de inicialização

    touch /etc/bootstrap.sh
    chmod a+x /etc/bootstrap.sh
    vim /etc/bootstrap.sh
    
  • conteúdo do documento

    #!/bin/bash
    source /etc/profile
    cd /opt/hadoop-2.7.0
    start-dfs.sh
    start-yarn.sh
    mr-jobhistory-daemon.sh start historyserver
    

imagem-20230918194541916

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-20230918194621739

Configurar o mapeamento de nome de domínio para o host

  • Para facilitar o acesso futuro, configure o mapeamento do nome de domínio host na janela, o arquivo hosts no diretório C:\Windows\System32\drivers\etc

  • Adicione os seguintes mapeamentos (você pode adicionar todos os mapeamentos planejados de nomes de domínio aqui)

    192.168.88.100 hadoop.bigdata.cn
    

6. Visualize a interface da web

  • HDFS

    • http://192.168.88.100:50070

    imagem-20230919094943687

  • FIO

    • http://192.168.88.100:8088

    imagem-20230919095004408

  • Servidor de histórico de trabalhos

    • http://192.168.88.100:19888

imagem-20230919095048474

Resumir

Este blog apresenta 云耀云服务器L实例as etapas para implantar o Hadoop usando Docker. Ao adquirir uma instância L do servidor em nuvem e configurar o ambiente, podemos facilmente instalar e configurar o Docker e criar arquivos Hadoop容器. Dentro do contêiner podemos fazer upload e descompactar os pacotes necessários e criar pastas para salvar os dados. Finalmente, podemos verificar a instalação e configuração do Hadoop acessando a UI web correspondente. Ao usar o Docker, podemos evitar problemas de dependência e configuração e 任何环境implantar facilmente o Hadoop no .

Acho que você gosta

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