Construir Hadoop clúster distribuido, HA HA Cluster

HDFS distribuidos clusters, clustering de alta disponibilidad para construir

A. Para construir una (versión 1.x) totalmente distribuida

hdp-01 hdp-02 hdp-03 hdp-04 hdp-05
NameNode
secondarynamenode
DataNode

Paso 1: otras llaves de hospedaje gratuitas

  • Generar sus propias claves para
    • ssh-keygen -t rsa -P '' -f ~ / .ssh / id_rsa
  • La copia de su clave pública a otros (me tienen que configurar sus propias teclas libres)
  • La otra cara de la dirección a los known_hosts
    • ssh root @ HDP-01, entre sí
    • ssh root @ HDP-02 ...
    • ssh root @ HDP-03 ...
    • ssh root @ HDP-04
    • ssh root @ HDP-05
    • ssh root @ localhost
    • [email protected] ssh

Paso 2: Configurar Hadoop

  • La extracción de hadoop-2.10.0.tar.gz y de instalación / opt / Hadoop
    (típicamente directorio / opt directorio de instalación de software personalizado)

    • tar -zxvf hadoop-2.10.0.tar.gz -C / opt / hadoop
  • Modificar JAVA_HOME

    • Modificar hadoop-env.sh, mapred-env.sh, yarn-env.sh el JAVA_HOME
  • Modificado núcleo-site.xml

    • vim núcleo-site.xml

    • <property>
      <name>fs.defaultFS</name>
      <value>hdfs://hdp-01:9000</value>
      </property>
      <property>
      <name>hadoop.tmp.dir</name>
      <value>/var/hadoop/full</value>
      </property>
      
  • Modificar hdfs-site.xml

    • vim-hdfs site.xml

    • <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hdp-02:50090</value>
      </property>
      <property>
      <name>dfs.namenode.secondary.https-address</name>
      <value>hdp-02:50091</value>
      </property>
      <property>
      <name>dfs.replication</name>
      <value>2</value>
      </property>
      
  • esclavos Modificar

    • esclavos vim

    • hdp-01
      hdp-02
      hdp-03
      hdp-04
      hdp-05
      
  • Modificar las variables de entorno

    • vim / etc / profile

    • export JAVA_HOME=/opt/jdk/jdk1.8.0_51
      export HADOOP_HOME=/opt/hadoop-2.10.0/hadoop-2.10.0
      export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      
    • source / etc / profile

    • Copia variable de entorno a otros nodos

    • [Root @ HDP-01 ~] scp -r / etc / root @ perfil HDP-02: / etc / profile

    • [Root @ HDP-02 ~] source / etc / profile

    • ...

  • Secuencialmente copiados al otro nodo Hadoop

    • [Root @ HDP-02 ~] scp -r root @ HDP-01: /opt/hadoop/hadoop2.10.0 / opt / hadoop
    • ...
  • Formateo NameNode nodo

    • [Root @ HDP-01 ~] hdfs NameNode -format

    • [Root @ HDP-01 ~] start-dfs.sh

  • Navegar HDFS

    • http://192.168.183.21:50070/
  • primer racimo

    • [1] stop-dfs.sh

II. Para construir un clúster de alta disponibilidad (HA Hadoop) (versión 2.x)

hdp-01 hdp-02 hdp-03 hdp-04 hdp-05
activenamenode
Standby nodo particular
DataNode
cuidador del zoológico
journalnode

Construir Zookeeper

  • Subir Zookeeper, descomprimir, copiar

    • [Root @ HDP-03 ~] # tar -zxvf empleado del zoológico-3.4.6.tar.gz -C / opt / cuidador del zoológico
  • Modificar el archivo de configuración

    • [Root @ HDP-03 ~] # cd /opt/zookeeper/zookeeper-3.4.6/conf/

    • [Root @ HDP-03 ~] # cp zoo_sample.cfg zoo.cfg

    • Vine zoo.cfg

      • #修改zookeeper数据存放的目录
        dataDir=/var/zookeeper  
        
        # 设置服务器内部通信的地址和zk集群的节点
        server.1=hdp-03:2888:3888
        server.2=hdp-0:2888:3888
        server.3=hdp-05:2888:3888
        
    • La creación de myid

      • [HDP-03, HDP-04, HDP-05] mkdir -p / var / SXT / cuidador del zoológico

      • [Root @ HDP-03 ~] echo 1> / var / cuidador del zoológico / myid

      • [Root @ HDP-04 ~] eco 2> / var / cuidador del zoológico / myid

      • [Root @ HDP-05 ~] echo 3> / var / cuidador del zoológico / myid

    • copia Zookeeper

      • [HDP-04, HDP-05] scp -r root @ HDP-01: /opt/zookeeper/zookeeper-3.4.6 / opt / cuidador del zoológico /
    • Establecer las variables de Medio Ambiente

      • aumentar ZOOKEEPER_HOME

      • Copiar a HDP-04, HDP-05, y la fuente

    • Habilitar el clúster

      • [HDP-03, HDP-04, HDP-05] inicio zkServer.sh

Construir Hadoop-HA

  • Sobre la base de hadoop clúster completamente distribuida (hadoop versión 1.x de la arquitectura) antes de construir, y luego modificar la configuración siguiente

  • Modificado núcleo-site.xml

    • vim núcleo-site.xml

    • <property>
      <name>fs.defaultFS</name>
      <value>hdfs://myCluster</value>
      </property>
      <property>
      <name>ha.zookeeper.quorum</name>
      <value>hdp-03:2181,hdp-04:2181,hdp-05:2181</value>
      </property>
      <property>
      <name>hadoop.tmp.dir</name>
      <value>/var/sxt/hadoop/ha</value>
      </property>
      
  • Modificar hdfs-site.xml

    • vim-hdfs site.xml

    • <property>
      <name>dfs.nameservices</name>
      <value>myCluster</value>
      </property>
      <property>
      <name>dfs.ha.namenodes.myCluster</name>
      <value>nn1,nn2</value>
      </property>
      <property>
      <name>dfs.namenode.rpc-address.myCluster.nn1</name>
      <value>hdp-01:8020</value>
      </property>
      <property>
      <name>dfs.namenode.rpc-address.myCluster.nn2</name>
      <value>hdp-02:8020</value>
      </property>
      <property>
      <name>dfs.namenode.http-address.myCluster.nn1</name>
      <value>hdp-01:50070</value>
      </property>
      <property>
      <name>dfs.namenode.http-address.myCluster.nn2</name>
      <value>hdp-02:50070</value>
      </property>
      <property>
      <name>dfs.namenode.shared.edits.dir</name>
      <value>qjournal://hdp-03:8485;hdp-04:8485;hdp-05:8485/myCluster</value>
      </property>
      <property>
      <name>dfs.journalnode.edits.dir</name>
      <value>/var/hadoop/ha/jn</value>
      </property>
      <property>
      <name>dfs.client.failover.proxy.provider.myCluster</name>
      <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
      </property>
      <property>
      <name>dfs.ha.fencing.methods</name>
      <value>sshfence</value>
      <value>shell(true)</value>
      </property>
      <property>
      <name>dfs.ha.fencing.ssh.private-key-files</name>
      <value>/root/.ssh/id_rsa</value>
      </property>
      <property>
      <name>dfs.ha.automatic-failover.enabled</name>
      <value>true</value>
      </property>
      
  • esclavos Modificar

    • esclavos vim

    • hdp-01
      hdp-02
      hdp-03
      hdp-04
      hdp-05
      
  • La carpeta de directorio etc hadoop copiado a otros nodos

  • variables de entorno modificar / etc / profile

  • Compruebe si hay ZOOKEEPER_HOME

  • Iniciar un hilo separado JournalNode

    • [HDP-03, HDP-04, HDP-05] hadoop-daemon.sh journalnode inicio
    • JPS
    • cd / var / SXT / Hadoop / ha / jn /
  • Formatear NameNode primaria

    • [Root @ HDP-01 ~] # hdfs NameNode -format
    • [Root @ HDP-01 ~] # hadoop-daemon.sh NameNode inicio
  • Arranque el nodo en espera NameNode

    • [Root @ HDP-02 ~] # hdfs NameNode -bootstrapStandby
  • ZOOKEEPER comenzará el HDP-03 ~ 05

    • inicio zkServer.sh
    • estado zkServer.sh
  • formateo ZKFC

    • [hdp-01、hdp-02] hdfs zkfc -formatZK
  • Re-abrir el clúster

    • Primer cluster empleado del zoológico abierto, entonces se puede start-dfs.sh
Publicado cuatro artículos originales · ganado elogios 0 · Vistas 517

Supongo que te gusta

Origin blog.csdn.net/The_Inertia/article/details/103172109
Recomendado
Clasificación