zoukankan      html  css  js  c++  java
  • 【Hadoop离线基础总结】Apache Hadoop的三种运行环境介绍及standAlone环境搭建

    Apache Hadoop的三种运行环境介绍及standAlone环境搭建


    三种运行环境

    • standAlone环境
      单机版的hadoop运行环境
    • 伪分布式环境
      主节点都在一台机器上,从节点分开到其他机器上(可以借助三台机器来实现)
    • 完全分布式环境
      主节点全部分散到不同机器上(NameNode Active,NameNode StandBy,ResourceManager 主节点,ResourceManager 备份节点)

    standAlone环境搭建

    在这里插入图片描述

    tar -zxvf hadoop-2.7.5.tar.gz -C /export/servers/
    
    Hadoop的本地库:/export/servers/hadoop-2.7.5/lib/native
    			 (很重要,里面集成了一些C程序,包括了一些压缩的支持)
    
    bin/hadoop checknative	检测本地库的支持
    

    在这里插入图片描述
     

    • 第二步:修改配置文件
    cd /export/servers/hadoop-2.7.5/etc/hadoop
    

    修改core-site.xml(核心配置文件,主要定义了我们的集群是分布式,还是本机运行)

    vim core-site.xml
    
    <configuration>
    	<property>
    		<name>fs.default.name</name>
    		<value>hdfs://192.168.0.10:8020</value>
    	</property>
    	<property>
    		<name>hadoop.tmp.dir</name>
    		<value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value>
    	</property>
    	<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
    	<property>
    		<name>io.file.buffer.size</name>
    		<value>4096</value>
    	</property>
    
    	<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
    	<property>
    		<name>fs.trash.interval</name>
    		<value>10080</value>
    	</property>
    </configuration>
    

    修改hdfs-site.xml(分布式文件系统的核心配置,决定了我们数据存放在哪个路径,数据的副本,数据的block块大小)

    vim hdfs-site.xml
    
    <configuration>
    	<!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割   --> 
    	<!--   集群动态上下线 
    	<property>
    		<name>dfs.hosts</name>
    		<value>/export/servers/hadoop-2.7.4/etc/hadoop/accept_host</value>
    	</property>
    	
    	<property>
    		<name>dfs.hosts.exclude</name>
    		<value>/export/servers/hadoop-2.7.4/etc/hadoop/deny_host</value>
    	</property>
    	 -->
    	 
    	 <property>
    			<name>dfs.namenode.secondary.http-address</name>
    			<value>node01:50090</value>
    	</property>
    
    	<property>
    		<name>dfs.namenode.http-address</name>
    		<value>node01:50070</value>
    	</property>
    	<property>
    		<name>dfs.namenode.name.dir</name>
    		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value>
    	</property>
    	<!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
    	<property>
    		<name>dfs.datanode.data.dir</name>
    		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value>
    	</property>
    	
    	<property>
    		<name>dfs.namenode.edits.dir</name>
    		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value>
    	</property>
    	
    
    	<property>
    		<name>dfs.namenode.checkpoint.dir</name>
    		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value>
    	</property>
    	<property>
    		<name>dfs.namenode.checkpoint.edits.dir</name>
    		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value>
    	</property>
    
    	<property>
    		<name>dfs.replication</name>
    		<value>1</value>
    	</property>
    
    	<property>
    		<name>dfs.permissions</name>
    		<value>false</value>
    	</property>
    
    	<property>
    		<name>dfs.blocksize</name>
    		<value>134217728</value>
    	</property>
    </configuration>
    

    修改hadoop-env.sh(配置我们jdk的home路径)

    vim hadoop-env.sh
    
    export JAVA_HOME=/export/servers/jdk1.8.0_141
    

    修改mapred-site.xml(定义了我们关于mapreduce运行的一些参数)

    vim mapred-site.xml
    
    <configuration>
    	<property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
    	</property>
    
    	<property>
    		<name>mapreduce.job.ubertask.enable</name>
    		<value>true</value>
    	</property>
    	
    	<property>
    		<name>mapreduce.jobhistory.address</name>
    		<value>node01:10020</value>
    	</property>
    
    	<property>
    		<name>mapreduce.jobhistory.webapp.address</name>
    		<value>node01:19888</value>
    	</property>
    </configuration>
    

    修改yarn-site.xml(定义我们的yarn集群)

    vim yarn-site.xml
    
    <configuration>
    	<property>
    		<name>yarn.resourcemanager.hostname</name>
    		<value>node01</value>
    	</property>
    	<property>
    		<name>yarn.nodemanager.aux-services</name>
    		<value>mapreduce_shuffle</value>
    	</property>
    	
    	<property>
    		<name>yarn.log-aggregation-enable</name>
    		<value>true</value>
    	</property>
    	<property>
    		<name>yarn.log-aggregation.retain-seconds</name>
    		<value>604800</value>
    	</property>
    </configuration>
    

    修改slaves(定义了我们的从节点是哪些机器,也就是DataNode和NodeManager运行在哪些机器上)

    vim slaves
    
    node01
    
    • 第三步:启动集群
      要启动Hadoop集群,需要启动HDFS和YARN两个模块
      注意:首次启动HDFS时,必须对其进行格式化操作,本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的
      hdfs namenode -format或者hadoop namenode -format

    启动命令:
    创建数据存放文件夹,在第一台机器执行

    cd /export/servers/hadoop-2.7.5/
    
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits
    

    准备启动:

    cd /export/servers/hadoop-2.7.5/
    
    bin/hdfs namenode -format
    sbin/start-dfs.sh
    sbin/start-yarn.sh
    sbin/mr-jobhistory-daemon.sh start historyserver
    

    tips

    HDFS集群查看界面node01:50070在这里插入图片描述
    Yarn集群查看界面node01:8088
    在这里插入图片描述
    历史任务完成界面node01:19888
    在这里插入图片描述

  • 相关阅读:
    java——注解Annotation
    java——maven
    sklearn——回归评估指标
    java——单例模式
    java——极简handler机制
    java——为什么要有接口?和抽象类有什么不一样?
    java——cmd命令编译带包名的源程序
    [loj 2478][luogu P4843]「九省联考 2018」林克卡特树
    「线性基」学习小结
    FOI 冬令营 Day6
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772500.html
Copyright © 2011-2022 走看看