当前位置:   article > 正文

Hadoop快速入门系列(4) | 搭建Hadoop伪分布式_开着hadoop能挂起吗

开着hadoop能挂起吗

首先要有配置文件:

  • 配置集群(表格版)
  1. 集群部署规划:
  2. bigdata111是HDFS主节点
  3. bigdata112是YARN主节点
  4. 如果HDFS和YARN没有在同一个节点上,不能使用start-all.sh这个命令
  5. HDFS和YARN可以在在同一节点上,才能使用start-all.sh这个命令
  6. hadoop 可以挂起,但学到HBase不能挂起了,挂起要先关闭HBase。(hbase不能挂起)

 

bigdata111

bigdata112

bigdata113

HDFS

 

NameNode

SecondaryNameNode

DataNode

 

 

DataNode

 

 

DataNode

YARN

 

NodeManager

ResourceManager

NodeManager

 

NodeManager

  1. HDFS配置文件:只需配置core-site.xml,hdfs-site.xml这俩个文件就可以了
  2. core-site.xml配置文件 ,就是指定namenode在哪个节点上。

    <!-- 指定HDFS中NameNode的地址 -->

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://主机名1:9000</value>(主机名写bigdata111则就为HDFS的主节点)(9000是端口方便工程师看(以前),也可以是8020端口(现在),因为有俩个版本)

    </property>                                                                                                                                                                                ----------------------------------------------------                                                                                                                                     

    <!-- 指定hadoop运行时产生文件的存储目录 -->(这就是存放的元数据信息)

    <property>

    <name>hadoop.tmp.dir</name>

    <value>/opt/module/hadoop-2.X.X/data/tmp</value>(/data/tmp为临时目录,如果再次开关机数据将会丢失)因此需要指定存放自己数据的文件路径(这是永久的路径)

    </property>

      -------------------------------------------------------                                            

  3. 在hdfs-site.xml配置文件中

    <!--数据冗余数-->

    <property>

    <name>dfs.replication</name>

    <value>3</value>(3设置的就是副本数),如果设置的副本数大于机器的节点数,没有太大意义,会造成资源浪费

    </property>                                                                                                                                                                                 ------------------------------------------------------                 

  4. YARN配置文件:只需配置yarn-site.xml,mapred-site.xml这俩个文件就可以了   。在二版本中,不启动yarn,,不跑mapreduce),以前的一版本可以(因为是分开的)

  5. 在yarn-site.xml   配置文件中                                                               

    <!-- reducer获取数据的方式 -->

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>(通过shuffle来获取数据(翻译过来就叫洗牌的意思))

    </property>                                                                                                                                                                                ------------------------------------------------------                      

    <!-- 指定YARN的ResourceManager(相当于领导主节点)的地址 -->

    <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>主机名1</value>(指定yarn的主节点在哪台机器上)

    </property>                                

      -------------------------------------------------------                                                                                                                               会记录job运行的历史日志(可以先配上)

    <!-- 日志聚集功能使能 -->

    <property>

    <name>yarn.log-aggregation-enable</name>

    <value>true</value>

    </property>

    <!-- 日志保留时间设置7天(秒) -->

    <property>

    <name>yarn.log-aggregation.retain-seconds</name>

    <value>604800</value>

    </property>

     

  6. 在mapred-site.xml配置文件中                                                                                                                                                  yarn是资源调度,mapreduce做计算任务的,(mr要在yarn上运行),指定mr在yarn上运行

    <!-- 指定mr运行在yarn上-->

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    <!--历史服务器的地址-->

    <property>

    <name>mapreduce.jobhistory.address</name>

    <value>主机名1:10020</value>

    </property>

    <!--历史服务器页面的地址-->

    <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>主机名1:19888</value>

    </property>

  7.  

     

    hadoop-env.sh特殊配置,为了让hadoop找到jdk环境变量(要不然会报错,出现找不到路径)默认写的是相对路径,因此要改成自己的绝对路径

     

    export JAVA_HOME=/opt/module/jdk1.8.0_144(注:是自己安装的路径)

     

                                    

     

文件

配置

core-site.xml

 

<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://主机名1:9000</value>

</property>

 

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/module/hadoop-2.X.X/data/tmp</value>

</property>

hdfs-site.xml

<!--数据冗余数-->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!--secondary的地址-->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>主机名1:50090</value>

</property>

<!--关闭权限-->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

yarn-site.xml

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

 

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>主机名1</value>

</property>

<!-- 日志聚集功能使能 -->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!-- 日志保留时间设置7天(秒) -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>

mapred-site.xml

<!-- 指定mr运行在yarn上-->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!--历史服务器的地址-->

<property>

<name>mapreduce.jobhistory.address</name>

<value>主机名1:10020</value>

</property>

<!--历史服务器页面的地址-->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>主机名1:19888</value>

</property>

hadoop-env.sh、yarn-env.sh、mapred-env.sh(分别在这些的文件中添加下面的路径)

 

export JAVA_HOME=/opt/module/jdk1.8.0_144(注:是自己安装的路径)

slaves

bigdata111、bigdata112、bigdata113(自己设置的主机名)

 

    8.开始搭建环境

A. 配置HDFS:

  1. 首先要进入目录:bin和sbin都是可执行命令(绿色的),配置环境变量要把bin和sbin配上(要不然得在bin和sbin下执行)

 2然后进入到/etc/hadoop下,找到配置文件(etc是配置文件)

 3.配置文件:

 4.首先配置HDFS中的进入core-site.xml配置文件 ,就是指定namenode在哪个节点上,这里指定的是bigdata111节点上。

5.在HDFS中,进入配置hdfs-site.xml文件。

B.配置yarn

6.在yarn-site.xml   配置文件中 

 

 7.先改名字:为mapred-site.xml

8.配置mapred-site.xml文件

C:特殊步骤,配置hadoop-env.sh,为了找到java_home环境变量

D:最后全部配置完,首次要格式话namenode.(非常重要首次)

   命令:hadoop namenode -format (可以清空所有的数据)

 

 

为什么要格式化?

NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。

格式化做了哪些事情?

在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dirdfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件

hadoop.tmp.dir 这个配置,会让dfs.name.dirdfs.name.edits.dir会让两个目录的文件生成在一个目录里

E:最后一步jps,查看是否成功

显示成功bigdata111:

 

F:查看web界面:

 

 

 最后:搭建成功。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/843300
推荐阅读
相关标签
  

闽ICP备14008679号