虚拟机centos7配置Hadoop单节点伪分布配置教程

系列文章目录

centos7配置静态网络常见问题归纳_张小鱼༒的博客-CSDN博客

centos7克隆虚拟机完成后的的一些配置介绍_张小鱼༒的博客-CSDN博客


文章目录

目录

系列文章目录

文章目录

前言

一、前期准备

二、Hadoop介绍

2.1、Apache Hadoop

2.2、Cloudera Hadoop

2.3、Hortonworks Hadoop

2.4、Hadoop1与Hadoop2的区别

2.5、大数据技术生态体系

三、虚拟机环境准备

1.  克隆虚拟机                                                      

2.    修改克隆虚拟机的静态IP

3、修改主机名和映射

4、关闭防火墙

5、配置centos用户具有root权限

6、在/opt目录下创建文件夹

四、配置jdk过程

1.    卸载现有JDK

2.    用SecureCRT工具将JDK导入到opt目录下面的software文件夹下面

3、在Linux系统下的opt目录中查看软件包是否导入成功

4、解压JDK到/opt/module目录下

5、配置JDK环境变量

7、 测试JDK是否安装成功

五、安装Hadoop过程

1、Hadoop下载地址:

2、用SecureCRT工具将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面

3、进入到Hadoop安装包路径下

4、解压安装文件到/opt/module下面

5、查看是否解压成功

6、将Hadoop添加到环境变量

7、  测试是否安装成功

​编辑

8、 重启(如果Hadoop命令不能用再重启)

9、Hadoop目录结构

9.1、查看Hadoop目录结构

​编辑

9.2、重要目录

六、配置Hadoop本地模式

6.1、官方Grep案例

​编辑

6.2、官方WordCount案例

七、配置Hadoop伪分布式模式

7.1、 启动HDFS并运行MapReduce程序

八、其余yarn和mapreduce的配置

1.    分析

2.    执行步骤      

(1)配置集群

(2)启动集群

(3)集群操作

(4)配置历史服务器

(5)配置日志的聚集

结语


前言

本文主要介绍centos7配置Hadoop单节点伪分布式配置的步骤,以下是配置过程演示

!!!文档说明:后期的命令前面的#不包含在命令当中,命令是#后面的!!!

一、前期准备

配置之前需要下载上传jdk和Hadoop的压缩包到我们的虚拟机,可以使用辅助软件进行上传。

二、Hadoop介绍

Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

Apache版本最原始(最基础)的版本,对于入门学习最好。

Cloudera在大型互联网企业中用的较多。

Hortonworks文档较好。

2.1、Apache Hadoop

官网地址:http://hadoop.apache.org/releases.html

下载地址:Index of /dist/hadoop/common

2.2、Cloudera Hadoop

官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。

(2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support

(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。

(4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持。

(5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。

2.3、Hortonworks Hadoop

官网地址:https://hortonworks.com/products/data-center/hdp/

下载地址:https://hortonworks.com/downloads/#data-platform

(1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。

(2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码。

(3)雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。

(4)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。

(5)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。

(6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元。

2.4、Hadoop1与Hadoop2的区别

2.5、大数据技术生态体系

 

图中涉及的技术名词解释如下:

1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

2)Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

(2)高吞吐量:即使是非常普通的硬件,Kafka也可以支持每秒数百万的消息。

(3)支持通过Kafka服务器和消费机集群来分区消息。

(4)支持Hadoop并行数据加载。

4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

7)HBase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

10)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

11)Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。

12)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

三、虚拟机环境准备

1.  克隆虚拟机                                                      

2.    修改克隆虚拟机的静态IP

命令:vim  /etc/sysconfig/network-scripts/ifcfg-ens33

【此处修改时以root用户进入(  su root  )】

BOOTPROTO="static"【修改为静态】

ONBOOT="yes"

IPADDR=192.168.215.203【此处选择你自己的IP段】

NETMASK=255.255.255.0

GATEWAY=192.168.215.2【查看你的默认网关】

DNS1=192.168.215.2【添加一个备用网址】

3、修改主机名和映射

1)修改主机名

 vim /etc/sysconfig/network

    编辑修改:

        HOSTNAME=hadoop203【此处你自己定义】

2)修改映射

vim /etc/hosts

 配置内容:

       192.168.2.203  hadoop203

【配置伪分布式时记得把对应的映射关系加上】

4、关闭防火墙

vim  /etc/selinux/config

SELINUX=disabled

 # chkconfig iptables off

# chkconfig ip6tables off

# service iptables stop

5、配置centos用户具有root权限

此处小编创建虚拟机时就是centos的用户,这里主要看你的是什么用户名

# visudocentos7版本的直接用这个命令】

--#vi /etc/sudoers   注意:该命令无法保存

修改 /etc/sudoers 文件,找到下面一行(91),在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root    ALL=(ALL)     ALL

centos  ALL=(ALL)     ALL

 

或者配置成采用sudo命令时,不需要输入密码

## Allow root to run any commands anywhere

root      ALL=(ALL)     ALL

hadoop   ALL=(ALL)     NOPASSWD:ALL

修改完毕,现在可以用hadoop帐号登录,然后用命令 sudo ,即可获得root权限进行操作

6、在/opt目录下创建文件夹

(1)在/opt目录下创建module、software文件夹【此处不用root用户】

[hadoop@hadoop101 opt]$ sudo mkdir module

[hadoop@hadoop101 opt]$ sudo mkdir software

(2)修改module、software文件夹的所有者为centos

[hadoop@hadoop101 opt]$ sudo chown  centos:centos  module/ software/

[hadoop@hadoop101 opt]$ ll

总用量 8

drwxr-xr-x. 2 hadoop hadoop 4096 1  17 14:37 module

drwxr-xr-x. 2 hadoop hadoop 4096 1  17 14:38 software

四、配置jdk过程

1.    卸载现有JDK

(1)查询是否安装Java软件:

[hadoop@hadoop101 opt]$ rpm -qa | grep java

(2)如果安装的版本低于1.7,卸载该JDK:

[hadoop@hadoop101 opt]$ sudo rpm -e 软件包

(3)查看JDK安装路径:

[hadoop@hadoop101 ~]$ which java

/opt/module/jdk1.8.0_144/bin/java

2.    用SecureCRT工具将JDK导入到opt目录下面的software文件夹下面

如图2-28所示

图2-28  导入JDK

“alt+p”进入sftp模式,如图2-29所示

图2-29 进入sftp模式

选择jdk1.8拖入,如图2-30,2-31所示

图2-30 拖入jdk1.8

图2-31 拖入jdk1.8完成

3、在Linux系统下的opt目录中查看软件包是否导入成功

[hadoop@hadoop101 opt]$ cd software/

[hadoop@hadoop101 software]$ ls

hadoop-2.7.2.tar.gz  jdk-8u144-linux-x64.tar.gz

4、解压JDK到/opt/module目录下

[hadoop@hadoop101 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

5、配置JDK环境变量

       (1)先获取JDK路径

[hadoop@hadoop101 jdk1.8.0_144]$ pwd

/opt/module/jdk1.8.0_144

       (2)打开/etc/profile文件

[hadoop@hadoop101 software]$ sudo vi /etc/profile

在profile文件末尾添加JDK路径

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/binjavabin目录直接找到,加到path下】

      

 

       (3)保存后退出    :wq

       (4)让修改后的文件生效

[hadoop@hadoop101 jdk1.8.0_144]$ source /etc/profile

7、 测试JDK是否安装成功

[hadoop@hadoop101 jdk1.8.0_144]# java -version

java version "1.8.0_144"

         注意:重启(如果java -version可以用就不用重启)

[hadoop@hadoop101 jdk1.8.0_144]$ sync

[hadoop@hadoop101 jdk1.8.0_144]$ sudo reboot

五、安装Hadoop过程

1、Hadoop下载地址:

Index of /dist/hadoop/common/hadoop-2.7.2

2、用SecureCRT工具将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面

切换到sftp连接页面,选择Linux下编译的hadoop jar包拖入,如图2-32所示

 

图2-32 拖入hadoop的tar包

 

图2-33 拖入Hadoop的tar包成功

3、进入到Hadoop安装包路径下

[hadoop@hadoop101 ~]$ cd /opt/software/

4、解压安装文件到/opt/module下面

[hadoop@hadoop101 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

5、查看是否解压成功

[hadoop@hadoop101 software]$ ls /opt/module/

hadoop-2.7.2

6、将Hadoop添加到环境变量

       (1)获取Hadoop安装路径

[hadoop@hadoop101 hadoop-2.7.2]$ pwd

/opt/module/hadoop-2.7.2

       (2)打开/etc/profile文件

[hadoop@hadoop101 hadoop-2.7.2]$ sudo vi /etc/profile

在profile文件末尾添加JDK路径:(shitf+g)

##HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-2.7.2

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存后退出   :wq

 (4)让修改后的文件生效

[hadoop@ hadoop101 hadoop-2.7.2]$ source /etc/profile

7、  测试是否安装成功

[hadoop@hadoop101 hadoop-2.7.2]$ hadoop version

Hadoop 2.7.2

 

8、 重启(如果Hadoop命令不能用再重启)

[hadoop@ hadoop101 hadoop-2.7.2]$ sync

[hadoop@ hadoop101 hadoop-2.7.2]$ sudo reboot

9、Hadoop目录结构

9.1、查看Hadoop目录结构

[hadoop@hadoop101 hadoop-2.7.2]$ ll

总用量 52

drwxr-xr-x. 2 hadoop hadoop  4096 5  22 2017 bin

drwxr-xr-x. 3 hadoop hadoop  4096 5  22 2017 etc

drwxr-xr-x. 2 hadoop hadoop  4096 5  22 2017 include

drwxr-xr-x. 3 hadoop hadoop  4096 5  22 2017 lib

drwxr-xr-x. 2 hadoop hadoop  4096 5  22 2017 libexec

-rw-r--r--. 1 hadoop hadoop 15429 5  22 2017 LICENSE.txt

-rw-r--r--. 1 hadoop hadoop   101 5  22 2017 NOTICE.txt

-rw-r--r--. 1 hadoop hadoop  1366 5  22 2017 README.txt

drwxr-xr-x. 2 hadoop hadoop  4096 5  22 2017 sbin

drwxr-xr-x. 4 hadoop hadoop  4096 5  22 2017 share

9.2、重要目录

(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本

(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件

(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)

(4)sbin目录:存放启动或停止Hadoop相关服务的脚本【集群的启动命令】

(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例

六、配置Hadoop本地模式

Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。

Hadoop官方网站:Apache Hadoop

本地运行模式

6.1、官方Grep案例

1.    创建在hadoop-2.7.2文件下面创建一个input文件夹

[hadoop@hadoop101 hadoop-2.7.2]$ mkdir input

2.    将Hadoop的xml配置文件复制到input

[hadoop@hadoop101 hadoop-2.7.2]$ cp etc/hadoop/*.xml input

3.    执行share目录下的MapReduce程序

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'【前面配置path不写bin直接写hadoop即可】

4.    查看输出结果

[hadoop@hadoop101 hadoop-2.7.2]$ cat output/*

 

查看刚才单结点运行的结果

删除刚才验证的文件夹input和putput文件夹

6.2、官方WordCount案例

1.    创建在hadoop-2.7.2文件下面创建一个wcinput文件夹

[hadoop@hadoop101 hadoop-2.7.2]$ mkdir wcinput

2.    在wcinput文件下创建一个wc.input文件

[hadoop@hadoop101 hadoop-2.7.2]$ cd wcinput

[hadoop@hadoop101 wcinput]$ touch wc.input

3.    编辑wc.input文件

[hadoop@hadoop101 wcinput]$ vi wc.input

在文件中输入如下内容

hadoop yarn

hadoop mapreduce

hadoop

hadoop

保存退出::wq

4.    回到Hadoop目录/opt/module/hadoop-2.7.2

5.    执行程序

[hadoop@hadoop101 hadoop-2.7.2]$ hadoop jar

 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

6.    查看结果

[hadoop@hadoop101 hadoop-2.7.2]$ cat wcoutput/part-r-00000

hadoop 2

hadoop  2

mapreduce       1

yarn    1

七、配置Hadoop伪分布式模式

7.1、 启动HDFS并运行MapReduce程序

1.    分析

       (1)配置集群

       (2)启动、测试集群增、删、查

       (3)执行WordCount案例

2.    执行步骤

(1)配置集群

(a)配置:hadoop-env.sh  【路径:/opt/module/hadoop-2.7.2/etc/hadoop】

Linux系统中获取JDK的安装路径:

[hadoop@hadoop101 ~]# echo $JAVA_HOME

/opt/module/jdk1.8.0_144

修改JAVA_HOME 路径:

export JAVA_HOME=/opt/module/jdk1.8.0_144

 

(b)配置:core-site.xml

<!-- 指定HDFSNameNode的地址 -->

<property>

<name>fs.defaultFS</name>

    <value>hdfs://hadoop101:9000</value>

</property>

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

<property>

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

   <value>/opt/module/hadoop-2.7.2/data/tmp</value>

</property>

 

(c)配置:hdfs-site.xml

<!-- 指定HDFS副本的数量 -->

<property>

   <name>dfs.replication</name>

   <value>1</value>

</property>

(2)启动集群

(a)格式化NameNode(第一次启动时格式化,以后就不要总格式化)

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format

              (b)启动NameNode

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

              (c)启动DataNode

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

(3)查看集群

(a)查看是否启动成功

[hadoop@hadoop101 hadoop-2.7.2]$ jps

13586 NameNode

13668 DataNode

13786 Jps

注意:jpsJDK中的命令,不是Linux命令。不安装JDK不能使用jps

(b)web端查看HDFS文件系统

http://hadoop101:50070/dfshealth.html#tab-overview

注意:如果不能查看,看如下帖子处理

hadoop 50070 无法访问问题解决汇总 - 大数据和AI躺过的坑 - 博客园

(c)查看产生的Log日志

   注意:启动时产生logs文件夹

  说明:在企业中遇到Bug时,经常根据日志提示信息去分析问题、解决Bug

当前目录:/opt/module/hadoop-2.7.2/logs

[hadoop@hadoop101 logs]$ ls

hadoop-hadoop-datanode-hadoop.hadoop.com.log

hadoop-hadoop-datanode-hadoop.hadoop.com.out

hadoop-hadoop-namenode-hadoop.hadoop.com.log

hadoop-hadoop-namenode-hadoop.hadoop.com.out

SecurityAuth-root.audit

[hadoop@hadoop101 logs]# cat hadoop-hadoop-datanode-hadoop101.log

d)思考:为什么不能一直格式化NameNode,格式化NameNode,要注意什么?

注意:格式化时产生data文件夹

[hadoop@hadoop101 hadoop-2.7.2]$ cd data/tmp/dfs/name/current/

[hadoop@hadoop101 current]$ cat VERSION

clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

[hadoop@hadoop101 hadoop-2.7.2]$ cd data/tmp/dfs/data/current/

[hadoop@hadoop101 current]$ cat VERSION

clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

注意:格式化NameNode,会产生新的集群id,导致NameNodeDataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。(先关闭namenodedatanode进程)

(4)操作集群

              (a)在HDFS文件系统上创建一个input文件夹

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/hadoop/input

              (b)将测试文件内容上传到文件系统上

[hadoop@hadoop101 hadoop-2.7.2]$bin/hdfs dfs -put wcinput/wc.input /user/hadoop/input/

              (c)查看上传的文件是否正确

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -ls  /user/hadoop/input/

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat  /user/hadoop/ input/wc.input

              (d)运行MapReduce程序

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop jar

share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hadoop/input/ /user/hadoop/output

              (e)查看输出结果

命令行查看:

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/hadoop/output/*

浏览器查看,如图2-34所示

关闭集群:

打开web页面:http://192.168.215.203:50070

八、其余yarn和mapreduce的配置

1.    分析

       (1)配置集群在YARN上运行MR

       (2)启动、测试集群增、删、查

       (3)在YARN上执行WordCount案例

2.    执行步骤      

(1)配置集群

              (a)配置yarn-env.sh

配置一下JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

(b)配置yarn-site.xml

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

<property>

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

     <value>mapreduce_shuffle</value>

</property>

<!-- 指定YARNResourceManager的地址 -->

<property>

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

<value>hadoop101</value>

</property>

             

(c)配置:mapred-env.sh

配置一下JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

              (d)配置: (对mapred-site.xml.template重新命名为) mapred-site.xml

[hadoop@hadoop101 hadoop]$ mv mapred-site.xml.template mapred-site.xml

[hadoop@hadoop101 hadoop]$ vi mapred-site.xml

<!-- 指定MR运行在YARN -->

<property>

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

     <value>yarn</value>

</property>

 

(2)启动集群

(a)启动前必须保证NameNode和DataNode已经启动

(b)启动ResourceManager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager

(c)启动NodeManager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

3)集群操作

(a)YARN的浏览器页面查看,如图2-35所示

http://hadoop101:8088/cluster

 Web页面:http://192.168.215.203:8088/cluster

图2-35 YARN的浏览器页面

              (b)删除文件系统上的output文件

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/hadoop/output

              (c)执行MapReduce程序

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop jar

 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hadoop/input  /user/hadoop/output

              (d)查看运行结果,

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/hadoop/output/*

(4)配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

1.    配置mapred-site.xml

[hadoop@hadoop101 hadoop]$ vi mapred-site.xml

在该文件里面增加如下配置。

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

<property>

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

<value>hadoop101:10020</value>

</property>

<!-- 历史服务器web端地址 -->

<property>

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

    <value>hadoop101:19888</value>

</property>

 

2.    启动历史服务器

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

3.    查看历史服务器是否启动

[hadoop@hadoop101 hadoop-2.7.2]$ jps

4.    查看JobHistory

http://hadoop101:19888/jobhistory

Web页面:http://192.168.215.203:19888/jobhistory

(5)配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。

日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager ResourceManagerHistoryManager

开启日志聚集功能具体步骤如下:

  1. 配置yarn-site.xml

[hadoop@hadoop101 hadoop]$ vi yarn-site.xml

在该文件里面增加如下配置。

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

<property>

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

<value>true</value>

</property>

<!-- 日志保留时间设置7 -->

<property>

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

<value>604800</value>

</property>

  1. 关闭NodeManager 、ResourceManager和HistoryManager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop resourcemanager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh stop historyserver

  1. 启动NodeManager 、ResourceManager和HistoryManager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

  1. 删除HDFS上已经存在的输出文件

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/hadoop/output

  1. 执行WordCount程序

[hadoop@hadoop101 hadoop-2.7.2]$ hadoop jar

 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/hadoop/input /user/hadoop/output

  1. 查看日志,如图2-37,2-38,2-39所示

结语

最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS 9 目前还没有正式发布,因此无法在 CentOS 9 上安装 Hadoop,不过你可以在 CentOS 7 上进行安装。以下是安装步骤: 1. 安装 Java 首先需要安装 Java,可以使用以下命令安装 OpenJDK: ``` sudo yum install java-1.8.0-openjdk-devel ``` 2. 下载 Hadoop 可以前往 Hadoop 官网 http://hadoop.apache.org/releases.html 下载最新版本的 Hadoop。选择稳定版本,下载后解压到指定目录。例如: ``` cd /opt sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz sudo tar -xvzf hadoop-3.3.1.tar.gz ``` 3. 配置环境变量 为了方便使用,可以将 Hadoop 的 bin 目录添加到系统环境变量中。可以在 /etc/profile 文件中添加以下内容: ``` export HADOOP_HOME=/opt/hadoop-3.3.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后执行以下命令使配置生效: ``` source /etc/profile ``` 4. 配置 Hadoop 进入 Hadoop配置目录,编辑 core-site.xml 文件,添加以下内容: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 编辑 hdfs-site.xml 文件,添加以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop-3.3.1/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-3.3.1/hdfs/datanode</value> </property> </configuration> ``` 编辑 yarn-site.xml 文件,添加以下内容: ``` <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` 5. 格式化 Hadoop 文件系统 执行以下命令格式化 Hadoop 文件系统: ``` hdfs namenode -format ``` 6. 启动 Hadoop 执行以下命令启动 Hadoop: ``` cd $HADOOP_HOME sbin/start-all.sh ``` 以上步骤基本完成了在 CentOS 7 上安装和启动 Hadoop 的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小鱼༒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值