Construcción de grandes grupos de datos --- "Artículos hadoop de alta disponibilidad" - Novato Xiaohui

Construcción de grandes grupos de datos: "capítulo de hadoop de alta disponibilidad", novato Xiaohui


Resumen:
construcción de un clúster de big data (guardián del zoológico, hadoop de alta disponibilidad, hbase de alta disponibilidad)
Continuación del capítulo anterior: construcción del clúster de big data :
"guardián del zoológico"


Tres, construcción del clúster hadoop (primero copie zhiyou001 a otros, asegúrese de que la configuración del guardián del zoológico se complete antes de la configuración)

  1. crear:mkdir /opt/hadoop
  2. entrar:cd /opt/hadoop
  3. Subir:
  4. Abrir la cremallera:tar -zxvf tar -zxvf hadoop-2.7.3
  5. Configurar las variables de entorno de hadoop
vi /etc/profile
//添加
#配置hadoop
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
  1. Actualice el archivo de configuración y pruebe
source /etc/profile
hadoop
  1. Modificar core-site.xml
cd /opt/hadoop/hadoop-2.7.3/etc/hadoop/
vi core-site.xml

//在<configuration>中添加如下内容
 <!-- 指定hdfs的nameservice为ns --> 
        <property> 
                <name>fs.defaultFS</name> 
                <value>hdfs://ns</value> 
        </property> 

        <!--指定hadoop数据存放目录--> 
        <property> 
                <name>hadoop.tmp.dir</name> 
                <value>/zhiyou/hadoop/tmp</value> 
        </property> 

        <property> 
                <name>io.file.buffer.size</name> 
                <value>4096</value> 
        </property> 

        <!--指定zookeeper地址--> 
        <property> 
                <name>ha.zookeeper.quorum</name> 
                <value>zhiyou001:2181,zhiyou002:2181,zhiyou003:2181</value> 
        </property> 


        <property>
                <name>ipc.client.connect.max.retries</name>
                <value>100</value>
                <description>Indicates the number of retries a client will make to establish
                a server connection.
                </description>
        </property>

        <property>
                <name>ipc.client.connect.retry.interval</name>
                <value>10000</value>
                <description>Indicates the number of milliseconds a client will wait for
                before retrying to establish a server connection.
                </description>
        </property>

  • ingrese la descripción aquí
  1. hdfs-site.xml
vi hdfs-site.xml
//同样在<configuration>中添加如下内容
<!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 -->      
    <property>      
        <name>dfs.nameservices</name>      
        <value>ns</value>      
    </property>    
    <!-- ns下面有两个NameNode,分别是nn1,nn2 -->  
    <property>  
       <name>dfs.ha.namenodes.ns</name>  
       <value>nn1,nn2</value>  
    </property>  
    <!-- nn1的RPC通信地址 -->  
    <property>  
       <name>dfs.namenode.rpc-address.ns.nn1</name>  
       <value>zhiyou001:9000</value>  
    </property>  
    <!-- nn1的http通信地址 -->  
    <property>  
        <name>dfs.namenode.http-address.ns.nn1</name>  
        <value>zhiyou001:50070</value>  
    </property>  
    <!-- nn2的RPC通信地址 -->  
    <property>  
        <name>dfs.namenode.rpc-address.ns.nn2</name>  
        <value>zhiyou002:9000</value>  
    </property>  
    <!-- nn2的http通信地址 -->  
    <property>  
        <name>dfs.namenode.http-address.ns.nn2</name>  
        <value>zhiyou002:50070</value>  
    </property>  
    <!-- 指定NameNode的元数据在JournalNode上的存放位置 -->  
    <property>  
         <name>dfs.namenode.shared.edits.dir</name>  
         <value>qjournal://zhiyou001:8485;zhiyou002:8485;zhiyou003:8485/ns</value>  
    </property>  
    <!-- 指定JournalNode在本地磁盘存放数据的位置 -->  
    <property>  
          <name>dfs.journalnode.edits.dir</name>  
          <value>/zhiyou/hadoop/journal</value>  
    </property>  
    <!-- 开启NameNode故障时自动切换 -->  
    <property>  
          <name>dfs.ha.automatic-failover.enabled</name>  
          <value>true</value>  
    </property>  
    <!-- 配置失败自动切换实现方式 -->  
    <property>  
            <name>dfs.client.failover.proxy.provider.ns</name>  
            <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  
    </property>  
    <!-- 配置隔离机制 -->  
    <property>  
             <name>dfs.ha.fencing.methods</name>  
             <value>sshfence</value>  
    </property>  
    <!-- 使用隔离机制时需要ssh免登陆 -->  
    <property>  
            <name>dfs.ha.fencing.ssh.private-key-files</name>  
            <value>/root/.ssh/id_rsa</value>  
    </property>  
                                
    <property>      
        <name>dfs.namenode.name.dir</name>      
        <value>file:///zhiyou/hadoop/hdfs/name</value>      
    </property>      
      
    <property>      
        <name>dfs.datanode.data.dir</name>      
        <value>file:///zhiyou/hadoop/hdfs/data</value>      
    </property>      
      
    <property>      
       <name>dfs.replication</name>      
       <value>3</value>      
    </property>     
    <!-- 在NN和DN上开启WebHDFS (REST API)功能,不是必须 -->                                                                      
    <property>      
       <name>dfs.webhdfs.enabled</name>      
       <value>true</value>      
    </property>
  • ingrese la descripción aquí
  1. mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml 
//添加configuration
<property>      
    <name>mapreduce.framework.name</name> 
    <value>yarn</value> 
</property>
  1. yarn-site.xml
vi yarn-site.xml 
//添加configuration
<!-- 指定nodemanager启动时加载server的方式为shuffle server --> 
  <property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
  </property> 
  <!-- 指定resourcemanager地址 --> 
  <property> 
    <name>yarn.resourcemanager.hostname</name> 
    <value>zhiyou003</value> 
  </property> 
  • ingrese la descripción aquí
  1. hadoop-env.sh
//找到文件的export JAVA_HOME=${JAVA_HOME} 一行修改
export JAVA_HOME=/opt/java/jdk1.8.0_141
  1. esclavos
//修改localhost为
zhiyou001
zhiyou002
zhiyou003
  1. Copie el contenido a zhiyou002, zhiyou003
//1. hadoop
scp -r /opt/hadoop/ root@zhiyou002:/opt/hadoop/
scp -r /opt/hadoop/ root@zhiyou003:/opt/hadoop/
//2. /etc/profile
scp -r /etc/profile root@zhiyou002:/etc/profile
scp -r /etc/profile root@zhiyou003:/etc/profile
  1. Tres guardias del zoológico
cd /opt/zookeeper/zookeeper-3.4.12/bin/
./zkServer.sh start
  1. Clúster de nodo de diario de tres inicios
cd /opt/hadoop/hadoop-2.7.3/sbin/
./hadoop-daemon.sh  start  journalnode
  • ingrese la descripción aquí
  1. Formatee zkfc en zhiyou001:hdfs zkfc -formatZK
  2. Formatee hdfs en zhiyou001:hadoop namenode -format
  3. Inicie namenode en zhiyou001:./hadoop-daemon.sh start namenode
  • ingrese la descripción aquí
  1. Inicie la sincronización de datos y el nodo de nombre en espera en zhiyou002
hdfs namenode -bootstrapStandby
./hadoop-daemon.sh start namenode
  1. Inicie el nodo de datos en zhiyou01:./hadoop-daemons.sh start datanode
  2. Comience el hilo en zhiyou03:./start-yarn.sh
  3. Inicie zkfc en zhiyou01:./hadoop-daemons.sh start zkfc
  4. Ver el estado de inicio de todos los procesos
    zhiyou001 (7)
  • ingrese la descripción aquí
    zhiyou002 (7 piezas)
  • ingrese la descripción aquí
    zhiyou003 (6 piezas)
  • ingrese la descripción aquí
  1. En este momento, el navegador puede acceder a hadoop (esta máquina debe estar equipada con C: \ Windows \ System32 \ drivers \ etc \ hosts y la máquina virtual es la misma)
192.168.80.128 zhiyou001
192.168.80.129 zhiyou002
192.168.80.130 zhiyou003
访问:
zhiyou001:50070
zhiyou002:50070

ingrese la descripción aquí

  1. Prueba de alta disponibilidad:
//zhiyou001和zhiyou002都先安装fuser
yum -y install psmisc
//关闭hadoop
cd /opt/hadoop/hadoop-2.7.3/sbin/
./stop-all.sh
//重新开启
./start-all.sh
  1. Prueba del navegador

a. Verificar estado

zhiyou001:50070(active)
zhiyou002:50070(standby)
  • ingrese la descripción aquí
    b. Desactive el nodo namenode activo (zhiyou001)
    kill -9 “namenode节点”
  • ingrese la descripción aquí
    c. Visite nuevamente; descubra que el nodo se actualiza automáticamente a (activo)
    zhiyou002:50070
  • ingrese la descripción aquí
  1. Prueba de carga de archivo
  • Los archivos cargados solo se pueden cargar y ver a través del nodo activo. Cuando el nodo activo está inactivo, el nodo en espera se actualiza al nodo activo. También puede ver el archivo cargado original.
    ingrese la descripción aquí

Posibles problemas:

  • El blogger encontró un error que indicaba que el nodo de nodo de datos no se podía iniciar durante el proceso de configuración y
    finalmente verificó el archivo de registro y encontró que la identificación en el archivo de nombre generado y el archivo de datos eran inconsistentes. Debería ser un problema durante el formateo. La solución más simple y grosera: elimine los archivos hadoop de los dos últimos hosts y la carpeta zhiyou del directorio raíz generado por el formateo de los tres hosts. Vuelva a copiar la carpeta hadoop a los dos últimos hosts. ¡El problema está resuelto! También es posible que el nodo de datos de Baidu no se pueda iniciar para generar el nombre y los archivos de datos de acuerdo con la configuración del tutorial.

Artículo siguiente :
Construcción de clústeres de macrodatos: "Habse de alta disponibilidad"

Supongo que te gusta

Origin blog.csdn.net/qq_39231769/article/details/102750693
Recomendado
Clasificación