虚拟机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所示

结语

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/4837.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Vision Transformer的图像去雾算法研究与实现(附源码)

基于Vision Transformer的图像去雾算法研究与实现 0. 服务器性能简单监控 \LOG_USE_CPU_MEMORY\文件夹下的use_memory.py文件可以实时输出CPU使用率以及内存使用率&#xff0c;配合nvidia-smi监控GPU使用率 可以了解服务器性能是否足够&#xff1b;运行时在哪一步使用率突然…

第一个vue-cli项目

第一个vue-cli项目 12.1、什么是vue-cli vue-cli官方提供的一个脚手架&#xff0c;用于快速生成一个vue的项目模板&#xff1b;   预先定义好的目录结构及基础代码&#xff0c;就好比咱们在创建Maven项目时可以选择创建一个骨架项目&#xff0c;这个估计项目就是脚手架&…

编写一个函数,输入一个日期,计算其距年底的时间

--编写一个函数&#xff0c;输入一个日期&#xff0c;计算其距年底的时间 create or replace function f_end(i_date varchar2) return number is/*声明四个变量&#xff0c;v_end:存放输入的日期的年底日期 v_date:存放经过转化为日期型的输入字符串 v_minus:存放两个日期之差…

Springboot怎么实现WebSocket通信(二)

前言上一篇文章分享了单机模式下&#xff0c;websocket的基本使用方法&#xff0c;但在实际的业务中&#xff0c;通常是不会这样使用的&#xff0c;大部项目都是分布式部署的&#xff0c;一个工程布署了多个服务节点&#xff0c;前端并不直接请求具体服务节点&#xff0c;而是先…

xijs更新指南(v1.2.1)

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用函数逻辑问题, 帮助开发者更高效的开展业务开发.接下来就和大家一起分享一下v1.2.1 版本的更新内容以及后续的更新方向.1. 添加算法模块分类该模块主要由 WangLei802 贡献, 添加内容如下:添加冒泡排序算法及其…

什么是工程项目管理工作?其特点是什么?

什么是工程项目管理工作&#xff1f;其特点是什么&#xff1f; 工程项目管理是为了实现工程项目的有效、高效和可持续管理而进行的一系列活动。 工程项目的管理就像是驾驭一艘巨大的船只&#xff0c;需要一位经验丰富的船长来领导整个团队。 通过工程项目管理&#xff0c;项…

fiddler(抓包)的用法和HTTP 协议的基本格式

目录 fiddler(抓包)用法&#xff1a; HTTP 协议的基本格式 HTTP请求&#xff1a; 首行 认识HTTP方法 GET和POST的典型区别&#xff1a; 认识请求“报头”&#xff08;header&#xff09; HTTP 响应 HTTP状态码&#xff1a; 状态码的分类&#xff1a; 认识响应 …

python语法基础

&#x1f41f;在本次博客主要想大家介绍一些简单的python语法的注意事项&#xff0c;从代码缩进到注释规则&#xff0c;从标准输入到标准输出&#xff0c;以及位运算符等方面了解python的基础使用方法。那么我们接下来直接开始步入正题&#xff0c;开始我们的python语法的讲解吧…

【SpringCloud】SpringCloud Nacos详解(集群配置)

目录前言一.Nacos集群逻辑图二.Nacos集群搭建1.搭建数据库&#xff0c;初始化数据库表结构2.下载Nacos3.配置Nacos3.启动Nacos4.配置启动nginx5.测试是否成功6.设置服务的nacos地址7.新增一个配置&#xff0c;查看数据看是否进行持久化了前言 在我前面两篇讲的都是单个nacos&a…

c++11 多线程使用

文章目录创建线程异常导致死锁实现两个线程交互的打印奇数和偶数(面试题)创建线程 1.创建线程的方式: 1.拷贝构造禁止了2.允许移动构造3.无参构造后我们可以对对象进行赋值操作4.传递可调用对象(例如包装器,泛函数,lambda,普通函数,静态成员函数) 参数列表 进行创建 2.样例…

第17章_触发器

第17章_触发器 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某公…

JavaEE简单示例——SpringMVC的简单数据绑定

简单介绍&#xff1a; 在前面我们介绍过如何将我们自己创建的类变成一个servlet来处理用户发送的请求&#xff0c;但是在大多数的时候&#xff0c;我们在请求 的时候会携带一些参数&#xff0c;而我们现在就开始介绍我们如何在Java类中获取我们前端请求中携带的参数。首先&…

SpringBoot自定义注解+异步来实现日志管理

一、前言 我们在企业级的开发中&#xff0c;必不可少的是对日志的记录&#xff0c;实现有很多种方式&#xff0c;常见的就是基于AOP注解进行保存&#xff0c;同时考虑到程序的流畅和效率&#xff0c;我们可以使用异步进行保存&#xff01; 二、基础环境 1. 导入依赖 我这里…

C#,码海拾贝(06)——连分式(Continued Fraction)曲线插值算法,《C#数值计算算法编程》源代码升级改进版

一、连分式法 连分式法是一种有理函数逼近法&#xff0c;其基本出发点是&#xff1a;将原型展开成连分式&#xff0c;然后截取前面几个起主要作用的偏系数构成简化模型&#xff0c;连分式法计算简便&#xff0c;拟合精度较高&#xff0c;是一种很有效的传递函数简化法。 Cont…

【Spring Cloud Alibaba】5.创建服务消费者(Feign)

文章目录简介什么是 Feign开始搭建创建项目修改POM文件添加启动类创建 Feign 接口添加Controller添加配置文件启动项目测试访问Nacos访问接口测试负载均衡通过终端启动多个服务提供者实例简介 接下来我们创建一个服务消费者&#xff0c;通过Feign来进行与服务提供者交互&#…

KDZD程控超低频高压发生器

一、产品概述 本产品接合了现代数字变频技术&#xff0c;采用微机控制&#xff0c;升压、降压、测量、保护自动化。由于电子化&#xff0c;所以体积小重量轻、大屏幕液晶显示&#xff0c;清晰直观、且能显示输出波形、打印试验报告。 设计指标符合《电力设备专用测试仪器通用…

SSM—【笔记】1.1Spring

Spring好处 简化开发&#xff0c;降低企业级开发的复杂性框架整合&#xff0c;高效整合其他技术&#xff0c;提高企业级应用开发与运行效率 简化开发&#xff1a;1、IoC、2、AOP[2.1衍生出事务处理 ] 框架整合&#xff1a;MyBatis、Mybatis-plus、Struts、Struts2、Hibernat…

Android开发-Android常用组件-ToggleButton开关按钮 Switch开关

4.7 开关按钮ToggleButton和开关Switch 1.开关按钮ToggleButton 属性名 说明 android:disabledAlpha 设置按钮在禁用时的透明度 android:textOff 按钮没有被选中时显示的文字 android:textOn 按钮被选中时显示的文字 另外&#xff0c;除了这个我们还可以自己写个 selec…

Spring Cloud之一:注册与发现-Eureka工程的创建

系列目录&#xff08;持续更新。。。&#xff09; Spring Cloud&#xff1a;什么是微服务 Spring Cloud之一&#xff1a;注册与发现-Eureka工程的创建 Spring Cloud之二&#xff1a;服务提供者注册到Eureka Server Spring Cloud之三&#xff1a;Eureka Server添加认证 Spr…

SpringBoot(3)整合Mybatis

文章目录一、导入依赖二、编写配置文件三、在启动类上添加注解&#xff0c;表示mapper接口所在位置四、定义mapper接口五、定义mapper.xml映射文件六、service层七、controller层八、修改idea检查代码的严格程度一、导入依赖 <dependency><groupId>org.mybatis.spr…