hadoop广义上讲是一个大数据生态圈,接受大量处理、处理大量数据的一个全套的框架!

hadoop3.x版本以后,主要有三大模块,HDFS、YARN、mapReduce这三大核心组成!

什么是HDFS?

分布式文件系统,hadoop集群的功能类似于三个臭皮匠抵一个诸葛亮,把很多配置低、廉价的服务器组织到一起,协调好发挥出最大的作用。

分布式文件系统就是把存储文件到可用的服务器上,你不用查看计划应该存储到哪个服务器上,HDFS管家帮你规划实现!!

什么是YARN?

简称资源调度框架,流水线的组长,活多的时候分配多一点的人,活少的时候分配少一点的人,不会浪费人力也不会让活积压干不完。 YARN就是流水线的组长,业务流程数据就是活,电脑内存就是工人!

什么是MapReduce?

计算组件,计算处理数据的封装底层的代码,你写代码的时候,调用可以省事情,但是发展很多年弊端很多,逐渐被弃用!

三个服务器的hostname分别是flinka flinkb flinkc flinka是我们集群的主机




yarn add create区别 yarn和hdfs_yarn add create区别


yarn add create区别 yarn和hdfs_hadoop_02


yarn add create区别 yarn和hdfs_Powered by 金山文档_03


yarn add create区别 yarn和hdfs_hdfs_04


flinka--->flinkb

flinka-->flinkc

flinka-->flinka

都做了免密登录,至于怎么实现,自行百度。很简单!!!

创建目录

在/dev/bigdata下创建三个同级别的文件夹

server 安装位置

data 存储数据位置

export 其他


yarn add create区别 yarn和hdfs_yarn add create区别_05


一、下载hadoop、解压hadoop


yarn add create区别 yarn和hdfs_Powered by 金山文档_06


1.1、配置hdfs-env.sh文件,这里是配置jdk环境变量以及指定各个进程用户名的地方

目录/dev/bigdata/server/hadoop-3.3.0/etc/hadoop


yarn add create区别 yarn和hdfs_Powered by 金山文档_07


export JAVA_HOME=你服务器jdk安装的目录位置
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

输入G,然后就到了文件的末尾,复制以上的代码,然后保存退出

1.2、配置core-site.xml文件

初始是这样的


yarn add create区别 yarn和hdfs_大数据_08


复制以下的代码

<configuration>
  <!-- 配置分布式文件系统的类型 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://flinka:8020</value>
  </property>
    <!-- 配置hadoop本地保存数据的位置 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/dev/bigdata/data/hadoop</value>
  </property>
    <!-- 设置HDFS WEB UI用户身份 -->
    <property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
    </property>
   <!-- 整合hive用户代理设置 -->
  <property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
  </property>
  
  <property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
  </property>
  

  <!-- 删除文件后先放到.Trash目录 -->
  <property>
    <name>fs.trash.interval</name>
    <value>1440</value>
    <description>单位是分钟,1440/60 = 24 小时,保留一天时间</description>
  </property>
</configuration>

1.3、配置hdfs-site.xml文件,这个是配置hdfs的备份服务器的


yarn add create区别 yarn和hdfs_大数据_09


<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>flinkb:9868</value>
   </property>

1.4、配置mapred-site.xml

配置计算程序运行的模式,是yarn还是local

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>flinka:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>flinka:19888</value>
  </property>
  <property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  </property>
  <property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  </property>
  <property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  </property>

1.5、yarn-site.xml

<property>
      <name>yarn.resourcemanager.hostname</name>
      <value>flinka</value>
   </property>
 
   <!-- Reducer获取数据的方式 -->
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
   
 <property>
      <name>yarn.nodemanager.pmem-check-enabled</name>
      <value>true</value>
   </property>
   
   <property>
      <name>yarn.nodemanager.vmem-check-enabled</name>
      <value>true</value>
   </property>
   
    <property>
      <name>yarn.log.server.url</name>
      <value>http://flinka:19888/jobhistory/logs</value>
  </property>
  
  <!--多长时间聚合删除一次日志 此处-->
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>2592000</value><!--30 day-->
</property>

1.6、works


yarn add create区别 yarn和hdfs_hdfs_10


1.7、配置hadoop的环境变量

vi /etc/profile


yarn add create区别 yarn和hdfs_yarn add create区别_11


保存文件:wq

source /etc/profile
1. 分发hadoop到其他机器上
scp -r /dev/bigdata root@flinkc:/dev/
scp -r /dev/bigdata root@flinkb:/dev/
  1. 分发环境变量给其他的机器


yarn add create区别 yarn和hdfs_hadoop_12


在其他机器上生效环境变量配置

source /etc/profile

检查是否配置成功

hadoop version


yarn add create区别 yarn和hdfs_hdfs_13


  1. 启动hadoop集群

最重要的命令 初始化NameNode 这个只能在初次启动hadoop集群的时候初始化,后期如果初始化可能会出现数据清除以及集群的节点之间相互不认识,需要重新搭建集群!!

在主机上运行hdfs namenode -format

如果报错的话,说明配置的文件存在问题,根据相应的错误检查一下配置


yarn add create区别 yarn和hdfs_hadoop_14


出现sucessfully formatted 说明初始化完成,只需要在一台master机器上初始化一次就够了!

启动集群 start-dfs.sh

报错


yarn add create区别 yarn和hdfs_大数据_15


百度了很多,这个答案是对的


yarn add create区别 yarn和hdfs_yarn add create区别_16


删除了/dev/bigdata/data/hadoop hadoop本地数据存储位置下的所有数据,然后把其他机器上的hadoop安装以及数据全部删除!!!

重新分发数据到其他机器上,然后在初始化数据!

再启动start-dfs.sh


yarn add create区别 yarn和hdfs_hadoop_17


通过jps查看进程

flinka 下面有NameNode


yarn add create区别 yarn和hdfs_hadoop_18


这里有一个问题,flinka是主节点,但是里面只有NameNode没有DataNode?

原因,在生成免密登录的密钥的时候,没有对自身分发

ssh-copy-id flinka

回车

flinkb 下面有


yarn add create区别 yarn和hdfs_hdfs_19


flinkc


yarn add create区别 yarn和hdfs_hdfs_20


启动yarn集群

start-yarn.sh


yarn add create区别 yarn和hdfs_Powered by 金山文档_21


yarn add create区别 yarn和hdfs_大数据_22


yarn add create区别 yarn和hdfs_Powered by 金山文档_23


HFDS的网页是 flinka:9870


yarn add create区别 yarn和hdfs_hadoop_24


YARN的网页是flinka:8088


yarn add create区别 yarn和hdfs_yarn add create区别_25


到这里hadoop集群的搭建就结束了!!!!

让我们开始体验大数据的快乐把!