2. Tutorial do tutorial do Hadoop sobre a construção de um cluster de ambiente distribuído (detalhado)

2. Tutorial do tutorial do Hadoop sobre a construção de um cluster de ambiente distribuído (detalhado)

Prefácio

Este artigo apenas apresenta a instalação e implantação do Apache Hadoop versão 2.x, e os artigos subsequentes apresentarão a estrutura do Hadoop 2.x, o princípio de funcionamento cooperativo de vários módulos e detalhes técnicos. A instalação não é o objetivo, mas entender o Hadoop por meio da instalação é o objetivo.

1. Ambiente de implantação

O método parcial é realmente usar vários hosts Linux para implantar o Hadoop e planejar clusters de máquinas Linux para que cada módulo do Hadoop seja implantado em várias máquinas diferentes.
O seguinte demonstrará a implantação distribuída de um cluster Hadoop (incluindo 1 nó mestre e 2 nós escravos).

(1) Preparação

Prepare três servidores Linux :
192.168.2.110 (nó mestre)
192.168.2.111 (nó escravo)
192.168.2.112 (nó escravo)
Feche o firewall.
Instale o JDK e configure as variáveis ​​de ambiente.
Por padrão, você instalou o JDK e as variáveis ​​de ambiente configuradas. Instale e configure aqui. Não repita.

//192.168.2.110上配置如下:
/usr/local/jdk/jdk1.8.0_192/bin/java

//192.168.2.111上配置如下:
/usr/local/server/jdk1.8.0_171/bin/java

//192.168.2.112上配置如下:
/usr/local/server/jdk1.8.0_171/bin/java

Quer saber se a configuração foi bem-sucedida? Veja as variáveis ​​globais:

echo $JAVA_HOME

(1) Três servidores configuram o tempo de sincronização:

yum install ntpdate
ntpdate cn.pool.ntp.org

(2) Três nomes de host de configuração de servidor:

vim /etc/sysconfig/network
//192.168.2.110上network配置如下:
NETWORKING=yes
HOSTNAME=node-1

//192.168.2.111上network配置如下:
NETWORKING=yes
HOSTNAME=node-2

//192.168.2.112上network配置如下:
NETWORKING=yes
HOSTNAME=node-3

(2) Três servidores definem mapeamento de ip e nome de host:

vim /etc/hosts
//192.168.2.110上hosts配置如下:
192.168.2.110 node-1

//192.168.2.111上hosts配置如下:
192.168.2.111 node-2

//192.168.2.112上hosts配置如下:
192.168.2.112 node-3

(3) O servidor do nó mestre é configurado com login sem senha SSH (configurado em 192.168.2.110) .Há
muitas maneiras de configurar o login sem senha SSH no Hadoop na Internet, o que é impressionante. Todos os caminhos levam a Roma, e o blogger compilou o método de configuração mais simples:

ssh-keygen -t rsa              # 会有提示,都按回车就可以
//cat id_rsa.pub >> authorized_keys  # 加入授权(非必须执行)
//chmod 600 ./authorized_keys    # 修改文件权限(非必须执行)
ssh-copy-id node-1
ssh -o StrictHostKeyChecking=no node-1
ssh-copy-id node-2
ssh -o StrictHostKeyChecking=no node-2
ssh-copy-id node-3
ssh -o StrictHostKeyChecking=no node-3

ssh-copy-id : O comando pode preencher a chave pública gerada atualmente no arquivo authorized_keys em uma máquina remota.
ssh -o StrictHostKeyChecking = no : Ao conectar ao servidor pela primeira vez, um prompt para confirmar a chave pública irá aparecer. Isso fará com que certas tarefas automatizadas sejam interrompidas devido à conexão inicial com o servidor. Ou porque o conteúdo do arquivo ~ / .ssh / known_hosts foi esvaziado, a tarefa de automação foi interrompida. O comando de configuração StrictHostKeyChecking do cliente SSH pode aceitar automaticamente a nova chave pública ao conectar-se ao servidor pela primeira vez.

Se um erro for relatado: A autenticidade do host'node-2 (10.0.0.8) 'não pode ser estabelecida. Não entre em pânico, execute o seguinte comando novamente:

ssh -o StrictHostKeyChecking=no node-2

Se um erro for relatado: as permissões 0644 para '/ root / .ssh / id_rsa' estão muito abertas. Não entre em pânico, isso significa que as permissões dadas por /root/.ssh/id_rsa são muito abertas, execute os seguintes comandos para capacitar:

chmod 0600 /root/.ssh/id_rsa

(2) Trabalho de configuração

Transfira o hadoop-2.8.5 para o diretório / home / neijiang / (pode ser personalizado). As seguintes configurações são todas realizadas no servidor do nó mestre. Após a configuração ser concluída, copie o hadoop-2.8.5 do nó mestre para todos os nós escravos. Mas:
(Nota especial: como as variáveis ​​de ambiente do hadoop não são configuradas no diretório hadoop-2.8.5, todas precisam ser configuradas manualmente para o nó escravo)
(1) Configure hadoop-env.sh

vim hadoop-env.sh
//192.168.2.110上hadoop-env.sh配置如下:
/usr/local/jdk1.8.0_171

(2) Modifique o arquivo de configuração core-site.xml

//192.168.2.110上core-site.xml配置如下:
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/neijiang/hadoop-2.8.5/hadoopData</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node-1:9000</value>
    </property>
</configuration>

(3) Modifique o arquivo de configuração hdfs-site.xml:

//192.168.2.110上hdfs-site.xml配置如下:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node-2:50090</value>
    </property>
</configuration>

(4) Modifique o arquivo de configuração mapred-site.xml.template:

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
//192.168.2.110上mapred-site.xml.template配置如下:
<configuration>
<!--指定mr运行时框架,这里指定在yarn上,默认是local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

(5) yarn-site.xml

//192.168.2.110上yarn-site.xml配置如下:
<!--指定yarn的老大(resourceManager)的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node-1</value>
    </property>
<!--NodeManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序的默认值-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

(6) O arquivo escravos, no qual o nome do host do nó escravo é escrito

vim slaves
//192.168.2.110上slaves配置如下:
//删除原先的localhsot,写入如下内容:
node-1
node-2
node-3

(7) Adicionar hadoop às variáveis ​​de ambiente

vim /etc/profile
//192.168.2.110上配置如下:
export HADOOP_HOME=/home/neijiang/hadoop-2.8.5/  #指向hadoop解压路径
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH=$HBASE_HOME/bin:$ZK_HOME/bin:$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(8) Copie o diretório raiz hadoop-2.10.0 configurado no nó mestre 192.168.2.110 para todos os nós escravos:

scp -r /home/neijiang/hadoop-2.8.5/ root@node-2:/home/neijiang/
scp -r /home/neijiang/hadoop-2.8.5/ root@node-3:/home/neijiang/

(9) Configure manualmente as variáveis ​​de ambiente hadoop configuradas no nó mestre 192.168.2.110 para todos os nós escravos:

export HADOOP_HOME=/home/neijiang/hadoop-2.8.5  #指向hadoop解压路径
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3) Começar a trabalhar

(1) Em relação à formatação de hdfs: a formatação é
necessária para a primeira inicialização. A essência da formatação é inicializar o sistema de arquivos e criar alguns arquivos de que você precisa;
após a formatação, o cluster é iniciado com êxito e a formatação subsequente não é necessária .
A operação de formatação deve ser realizada na máquina onde se encontra o nó mestre (Namenode) do cluster hdfs
Comando de formatação: hadoop namenode -format
(2) Modo de início
/home/neijiang/hadoop-2.8.5/sbin

  hdfs启动:  start-dfs.sh
  yarn启动:  start-yarn.sh
  //等同于:start-all.sh
  hdfs关闭:  stop-dfs.sh
  yarn关闭:  stop-yarn.sh
  //等同于:stop-all.sh

Você pode usar o comando jps em cada servidor de nó para ver as coisas de inicialização.
Se você se sentir útil, por favor, "Gosto", "Siga" e "Favorito"!

Acho que você gosta

Origin blog.csdn.net/xgb2018/article/details/109329168
Recomendado
Clasificación