Diretório de artigos
-
- Prefácio
- 1. Ambiente de configuração
- 2. instalação do docker
- 3. Crie um contêiner hadoop
-
- Preparação do ambiente host
- Extrair imagem
- Digite o diretório onde o pacote de instalação está armazenado
- Carregar jdk e hadoop
- Descompacte o pacote
- Crie uma pasta para salvar dados
- Preparação do ambiente de contêiner
- Iniciar contêiner hadoop
- Entre no contêiner hadoop
- Instale o vim
- Instale o ssh
- Configurar login sem senha
- Gerar chave secreta
- configurar senha
- copiar chave pública
- Teste o login sem senha
- Configurar JDK
- Configurar o Hadoop
- 4. Inicialize e inicie o Hadoop
- 5. Configure e abra o contêiner para iniciar o Hadoop
- 6. Visualize a interface da web
- Resumir
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中部署Hadoop
guia detalhado sobre como começar.
Este é Maynor
o terceiro artigo da avaliação da instância do Huawei Cloud Yaoyun Server L criado pelo Huawei Cloud Evaluation Series Portal:
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.
- 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. 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
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
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
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
Testar hadoop
cd $HADOOP_HOME
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 2 1
Ver progresso
bash-4.1# jps
561 ResourceManager
659 NodeManager
2019 Jps
1559 NameNode
1752 SecondaryNameNode
249 DataNode
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
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
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
-
FIO
- http://192.168.88.100:8088
-
Servidor de histórico de trabalhos
- http://192.168.88.100:19888
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 .