千家信息网

开发人员学Linux(14):CentOS7安装配置大数据平台Hadoop2.9.0

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,1.前言"大云物移"是当年很火热的一个话题,分别指大数据、云计算、物联网和移动互联网,其中大数据领域谈论得多就是Hadoop。当然Hadoop不代表大数据,而是大数据处理领域的一个比较有名的开源框架而
千家信息网最后更新 2025年12月01日开发人员学Linux(14):CentOS7安装配置大数据平台Hadoop2.9.0

1.前言

"大云物移"是当年很火热的一个话题,分别指大数据、云计算、物联网和移动互联网,其中大数据领域谈论得多就是Hadoop。当然Hadoop不代表大数据,而是大数据处理领域的一个比较有名的开源框架而已,通常说的大数据包含了大数据的存放、大数据的分析处理及大数据的查询展示,本篇提到的Hadoop只不过是在其中的大数据的分析处理环节起作用,Apache提供了一个开源全家桶,包括了Hadoop、HBase、Zookeeper、Spark、Hive及Pig等一些框架。不过限于篇幅,本篇只介绍Hadoop的伪分布式部署,包括MapReduce和HDFS。

2.准备

JDK文件:jdk-8u131-linux-x64.tar.gz

官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Hadoop文件:hadoop-2.9.0.tar.gz

官方下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz

3.安装

3.1安装Oracle JDK

3.1.1卸载Open JDK

虽然Open JDK是JDK的开源实现,不过个人还是比较喜欢Oracle JDK,可能觉得它出身更正统一些吧。因此首先检查服务器上是否安装了Open JDK,运行命令:

rpm -qa | grep jdk

如果服务器已经安装了Open JDK,采用下面的方式卸载掉Open JDK,如下图所示:

3.1.2安装Oracle JDK

可能有些人对Oracle JDK感觉到有点别扭,至少本人就是如此,当年Sun公司推出了Java但由于经营不善被Oracle收购,所以以前经常说的Sun JDK现在改口称Oracle JDK了。将前文提及的JDK安装包下载至/root目录下。

按照下面的方式来安装:

cd /root

tar -zxf /root/jdk-8u131-linux-x64.tar.gz -C /usr/local

这样一来JDK就安装在/usr/local/jdk1.8.0_131目录下了。

下面就对环境变量进行设置,因为在Linux中存在着交互式shell和非交互式shell,交互式shell顾名思义就是在与用户的交互过程中执行的shell,通常是通过SSH登录到Linux系统之后输入shell脚本或命令等待用户输入或者确认然后执行的shell,而非交互式shell则是无需用户干预的shell,如一些service的启动等。交互式shell从/etc/profile中读取所有用户的环境变量设置,非交互式shell则从/etc/bashrc中读取所有用户的环境变量设置。因此可能会出现在交互式环境下执行shell脚本没有问题,在非交互式环境下执行shell脚本则会出现找不到环境变量配置信息的问题。

为保险起见,我们在/etc/profile和/etc/bashrc都配置Java相关的环境变量,将添加的内容放在原文件的末尾,添加的内容如下:

export JAVA_HOME=/usr/local/jdk1.8.0_131

export JRE_HOME=/usr/local/jdk1.8.0_131

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin


可以通过tail查看修改后的文件:

[root@hadoop ~]# tail /etc/profile -n 5


export JAVA_HOME=/usr/local/jdk1.8.0_131

export JRE_HOME=/usr/local/jdk1.8.0_131

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

[root@hadoop ~]# tail /etc/bashrc -n 5


export JAVA_HOME=/usr/local/jdk1.8.0_131

export JRE_HOME=/usr/local/jdk1.8.0_131

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

[root@hadoop ~]# source /etc/profile

[root@hadoop ~]# source /etc/bashrc

[root@hadoop ~]# java -version

java version "1.8.0_131"

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

[root@hadoop ~]#

注意,要想让我们的配置马上生效,应该执行source /etc/profile和source /etc/bashrc来立即读取更新后的配置信息。


3.2安装Hadoop

将前文提及的Hadoop安装包下载至/root目录下。

通过如下命名安装Hadoop:

[root@hadoop ~]# cd /root

[root@hadoop ~]# tar -zxf /root/hadoop-2.9.0.tar.gz -C /usr/local

这样一来,Hadoop2.9.0就安装在/usr/local/hadoop-2.9.0目录下,我们可以通过如下命令查看一下:

[root@hadoop ~]# /usr/local/hadoop-2.9.0/bin/hadoop version

Hadoop 2.9.0

Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 756ebc8394e473ac25feac05fa493f6d612e6c50

Compiled by arsuresh on 2017-11-13T23:15Z

Compiled with protoc 2.5.0

From source with checksum 0a76a9a32a5257331741f8d5932f183

This command was run using /usr/local/hadoop-2.9.0/share/hadoop/common/hadoop-common-2.9.0.jar

[root@hadoop ~]#

毕竟每次执行hadoop的时候带着这么一长串命令不是很方便,尤其是需要手动输入的时候,我们依然可以借鉴配置JAVA环境参数的方式将Hadoop相关的环境参数配置到环境变量配置文件source /etc/profile和source /etc/bashrc中,在两个文件的末尾分别增加如下配置:

export HADOOP_HOME=/usr/local/hadoop-2.9.0

export HADOOP_INSTALL=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin


添加完内容保存,最后别忘了执行如下命令刷新环境变量信息:

[root@hadoop ~]# source /etc/profile

[root@hadoop ~]# source /etc/bashrc

这时候再执行hadoop的相关命令就无需带路径信息了,如下:

[root@hadoop ~]# hadoop version

Hadoop 2.9.0

Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 756ebc8394e473ac25feac05fa493f6d612e6c50

Compiled by arsuresh on 2017-11-13T23:15Z

Compiled with protoc 2.5.0

From source with checksum 0a76a9a32a5257331741f8d5932f183

This command was run using /usr/local/hadoop-2.9.0/share/hadoop/common/hadoop-common-2.9.0.jar


4.配置

4.1用户配置

为便于管理和维护,我们单独创建一个系统账户用来运行hadoop有关的脚本和任务,这个系统账户名为hadoop,通过以下脚本创建:

useradd hadoop -s /bin/bash -m

上面的命令创建了名为hadoop的用户和用户组,并且nginx用户无法登录系统(-s /sbin/nologin限制),可以通过id命令查看:

[root@hadoop ~]# id hadoop

uid=1001(hadoop) gid=1001(hadoop) groups=1001(hadoop)

通过上面的命令创建的用户是没有密码的,需要用passwd来设置密码:

[root@hadoop ~]# passwd hadoop

Changing password for user hadoop.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.


因为有时候需要hadoop这个用户执行一些高权限的命令,因此给予它sudo的权限,打开/etc/sudoers文件,找到"root ALL=(ALL) ALL"那一行,在下面添加一行:

hadoop ALL=(ALL) ALL

然后保存文件(记住如果是用vim等编辑器编辑,最终保存的时候要使用":wq!"命令来强制保存到这个只读文件)。修改的结果如下图所示:

4.2免登录配置

虽然在本篇讲述的是Hadoop的伪分布式部署,但是中间还有一些分布式的操作,这就要求能够用ssh来登录,注意这里的ssh不是Java里面的SSH(Servlet+Spring+Hibernate),这里讲的SSH是Secure Shell 的缩写,是用于Linux服务器之间远程登录的服务协议。

如果当前是用root用户登录,那么就要切换为hadoop用户:

[root@hadoop hadoop]# su hadoop

[hadoop@hadoop ~]$ cd ~

[hadoop@hadoop ~]$ pwd

/home/hadoop

可以看出hadoop用户的工作路径为/home/hadoop,然后我们用ssh登录本机,第一次登录的时候会提示是否继续登录,然后输入"yes",接着会提示我们输入当前用于ssh登录的用户(这里是hadoop)的在对应服务器上的密码(这里是localhost),输入正确密码后就可以登录,然后在输入"exit"退出登录,如下所示:

[hadoop@hadoop ~]$ ssh localhost

hadoop@localhost's password:

Last login: Sat Dec 2 11:48:52 2017 from localhost

[hadoop@hadoop ~]$ rm -rf /home/hadoop/.ssh

[hadoop@hadoop ~]$ ssh localhost

The authenticity of host 'localhost (::1)' can't be established.

ECDSA key fingerprint is aa:21:ce:7a:b2:06:3e:ff:3f:3e:cc:dd:40:38:64:9d.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

hadoop@localhost's password:

Last login: Sat Dec 2 11:49:58 2017 from localhost

[hadoop@hadoop ~]$ exit

logout

Connection to localhost closed.

经过上述操作后,创建了这个目录/home/hadoop/.ssh和该目录下的known_hosts文件。

这样每次登录都会提示输入密码,但在Hadoop运行过程中会通过shell无交互的形式在远程服务器上执行命令,因此需要设置成免密码登录才行。我们需要通过通过如下命令创建密钥文件(一路回车即可):

[hadoop@hadoop ~]$ cd /home/hadoop/.ssh/

[hadoop@hadoop .ssh]$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/hadoop/.ssh/id_rsa.

Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.

The key fingerprint is:

19:b3:11:a5:6b:a3:26:03:c9:b9:b3:b8:02:ea:c9:25 hadoop@hadoop

The key's randomart image is:

+--[ RSA 2048]----+

| ... |

| o |

| = |

| . o B |

| = S |

|. o o . |

|oEo.o o |

|+.+o + |

|==. |

+-----------------+

然后将密钥文件的内容添加到authorized_keys文件,同时授予600的权限。

[hadoop@hadoop .ssh]$ cat id_rsa.pub >> authorized_keys

[hadoop@hadoop .ssh]$ chmod 600 authorized_keys

这时,再使用ssh localhost命令就不需要输入密码了,如下:

[hadoop@hadoop .ssh]$ ssh localhost

Last login: Sat Dec 2 11:50:44 2017 from localhost

[hadoop@hadoop ~]$ exit

logout

Connection to localhost closed.

注意:在本系列的第9篇关于git用户免密码登录时也讲到了类似的操作,而且当时也讲了git文件传输也是使用ssh协议的。

4.3hadoop的配置

4.3.1更改hadoop安装目录的所有者

首先检查一下/usr/local/hadoop-2.9.0这个hadoop的安装目录的所有者和用户组是否是hadoop,如果不是就需要通过chown来设置:

[hadoop@hadoop .ssh]$ ls -lh /usr/local/hadoop-2.9.0

total 128K

drwxr-xr-x. 2 root root 194 Nov 14 07:28 bin

drwxr-xr-x. 3 root root 20 Nov 14 07:28 etc

drwxr-xr-x. 2 root root 106 Nov 14 07:28 include

drwxr-xr-x. 3 root root 20 Nov 14 07:28 lib

drwxr-xr-x. 2 root root 239 Nov 14 07:28 libexec

-rw-r--r--. 1 root root 104K Nov 14 07:28 LICENSE.txt

-rw-r--r--. 1 root root 16K Nov 14 07:28 NOTICE.txt

-rw-r--r--. 1 root root 1.4K Nov 14 07:28 README.txt

drwxr-xr-x. 3 root root 4.0K Nov 14 07:28 sbin

drwxr-xr-x. 4 root root 31 Nov 14 07:28 share

下面是更改owner和group的命令:

[hadoop@hadoop .ssh]$ sudo chown -R hadoop:hadoop /usr/local/hadoop-2.9.0


We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:


#1) Respect the privacy of others.

#2) Think before you type.

#3) With great power comes great responsibility.


[sudo] password for hadoop:

再次查看,就可以看到命令执行成功了。

[hadoop@hadoop .ssh]$ ls -lh /usr/local/hadoop-2.9.0

total 128K

drwxr-xr-x. 2 hadoop hadoop 194 Nov 14 07:28 bin

drwxr-xr-x. 3 hadoop hadoop 20 Nov 14 07:28 etc

drwxr-xr-x. 2 hadoop hadoop 106 Nov 14 07:28 include

drwxr-xr-x. 3 hadoop hadoop 20 Nov 14 07:28 lib

drwxr-xr-x. 2 hadoop hadoop 239 Nov 14 07:28 libexec

-rw-r--r--. 1 hadoop hadoop 104K Nov 14 07:28 LICENSE.txt

-rw-r--r--. 1 hadoop hadoop 16K Nov 14 07:28 NOTICE.txt

-rw-r--r--. 1 hadoop hadoop 1.4K Nov 14 07:28 README.txt

drwxr-xr-x. 3 hadoop hadoop 4.0K Nov 14 07:28 sbin

drwxr-xr-x. 4 hadoop hadoop 31 Nov 14 07:28 share

4.3.2更改hadoop的配置

hadoop的配置文件存放于/usr/local/hadoop-2.9.0/etc/hadoop目录下,主要有几个配置文件:

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

其中,后两个主要是跟YARN有关的配置。

将core-site.xml更改为如下内容:

fs.defaultFS

hdfs://localhost:9000

然后再将hdfs-site.xml更改为如下内容:

dfs.replication

1

5.检验配置

5.1NameNode格式化

经过上面的配置,Hadoop是配置成功了,但是并不能工作,还需要进行初始化操作,因为我们已经配置了Hadoop的相关环境变量,因此我们可以直接执行如下命令:

hdfs namenode -format

如果没有问题的话,可以看到如下输出:

其中有一句:" INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted."

5.2开启 NameNode 和 DataNode 守护进程

通过start-dfs.sh命令开启NameNode 和 DataNode 守护进,第一次执行时会询问是否连接,输入"yes"即可(因为已经配置了ssh免密码登录),如下所示(请注意一定要用创建的hadoop用户来运行,如果不是hadoop请记得用su hadoop命令来切换到hadoop用户):

[hadoop@hadoop hadoop]$ start-dfs.sh

17/12/02 13:54:19 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Starting namenodes on [localhost]

localhost: starting namenode, logging to /usr/local/hadoop-2.9.0/logs/hadoop-hadoop-namenode-hadoop.out

localhost: starting datanode, logging to /usr/local/hadoop-2.9.0/logs/hadoop-hadoop-datanode-hadoop.out

Starting secondary namenodes [0.0.0.0]

The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.

ECDSA key fingerprint is aa:21:ce:7a:b2:06:3e:ff:3f:3e:cc:dd:40:38:64:9d.

Are you sure you want to continue connecting (yes/no)? yes

0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop-2.9.0/logs/hadoop-hadoop-secondarynamenode-hadoop.out

17/12/02 13:54:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

然后我们可以通过jps这个java提供的工具来查看启动情况:

[hadoop@hadoop hadoop]$ jps

11441 Jps

11203 SecondaryNameNode

10903 NameNode

11004 DataNode

若启动成功会出现上述的进程,如果没有NameNode和DataNode进程请检查配置情况,或者通过/usr/local/hadoop-2.9.0/logs下的日志来查看配置错误。

这时可以在浏览器中输入http://localhost:50070/查看NameNode和DataNode的信息以及HDFS的信息,界面如下:

如果虚拟机采用了桥接模式,也可以在虚拟机外查看,像本人所使用的CentOS7,需要注意两点:

1.在/etc/sysconfig/selinux文件中将"SELINUX=enforcing"改为" SELINUX=disabled";

2.通过执行systemctl disable firewalld来禁用防火墙。

5.3执行WordCount程序

Hadoop中的WordCount如同其它编程语言中的Hello World程序一样,就是通过一个简单的程序来程序是如何编写的。

5.3.1 HDFS简介

要想运行WordCount就需要使用HDFS,HDFS是Hadoop的基石。可以这么理解,Hadoop要处理大量的数据文件,这些数据文件需要一个可靠的方式来存储,在即使出现一些机器的硬盘损坏的情况下,数据文件中保存的数据仍然不会丢失。在数据量比较小的时候,磁盘阵列(Redundant Arrays of Independent Disks,RAID)可以做到这一点,现在是HDFS用软件的方式实现了这个功能。

HDFS也提供了一些命令用于对文件系统的操作,我们知道Linux本身提供了一些对文件系统的操作,比如mkdir、rm、mv等,HDFS中也提供同样的操作,不过执行方式上有一些变化,比如mkdir命令在HDFS中执行应该写成 hdfs dfs -mkdir,同样的,ls命令在HDFS下执行要写成hdfs dfs -ls。

下面是一些HDFS命令:

级联创建HDFS目录:hdfs dfs -mkdir -p /user/haddop

查看HDFS目录:hdfs dfs -ls /user

创建HDFS目录:hdfs dfs -mkdir /input

查看HDFS目录:hdfs dfs -ls /

删除HDFS目录:hdfs dfs -rm -r -f /input

删除HDFS目录:hdfs dfs -rm -r -f /user/haddop

级联创建HDFS目录:hdfs dfs -mkdir -p /user/hadoop/input

注意:在HDFS中创建的目录也仅支持在HDFS中查看,在HDFS之外(比如在Linux系统中的命令行下)是看不到这些目录存在的。重要的事情多重复几遍:请按照本文中的3.2节提示将Hadoop安装路径信息配置到环境变量中。

5.3.2执行WordCount程序

首先将工作路径切换到Hadoop的安装目录:/usr/local/hadoop-2.9.0

接着在HDFS中创建目录:hdfs dfs -mkdir -p /user/hadoop/input

然后指定要分析的数据源,可以将一些文本数据放到刚刚创建的HDFS系统下的input目录下,为了简单起见,这里就直接将hadoop安装路径下的一些用于配置的xml放在input目录下:

hdfs dfs -put /usr/local/hadoop-2.9.0/etc/hadoop/*.xml /user/hadoop/input

这时可以通过HDFS查看:

[hadoop@hadoop ~]$ hdfs dfs -ls /user/hadoop/input

17/12/17 10:27:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Found 8 items

-rw-r--r-- 1 hadoop supergroup 7861 2017-12-17 10:26 /user/hadoop/input/capacity-scheduler.xml

-rw-r--r-- 1 hadoop supergroup 884 2017-12-17 10:26 /user/hadoop/input/core-site.xml

-rw-r--r-- 1 hadoop supergroup 10206 2017-12-17 10:26 /user/hadoop/input/hadoop-policy.xml

-rw-r--r-- 1 hadoop supergroup 867 2017-12-17 10:26 /user/hadoop/input/hdfs-site.xml

-rw-r--r-- 1 hadoop supergroup 620 2017-12-17 10:26 /user/hadoop/input/httpfs-site.xml

-rw-r--r-- 1 hadoop supergroup 3518 2017-12-17 10:26 /user/hadoop/input/kms-acls.xml

-rw-r--r-- 1 hadoop supergroup 5939 2017-12-17 10:26 /user/hadoop/input/kms-site.xml

-rw-r--r-- 1 hadoop supergroup 690 2017-12-17 10:26 /user/hadoop/input/yarn-site.xml

当然,也可以在Hadoop提供的Web界面下查看,在浏览器输入网址http://localhost:50070/explorer.html然后输入HDFS下的文件路径,如下图所示:

然后执行MapReduce作业,命令如下:

hadoop jar /usr/local/hadoop-2.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

这个作业的作用的将/user/hadoop/input/这个HDFS目录下的文件中包含有dfs开头的单词找出来并统计出现的次数,如果程序执行没有错误,我们将会在/user/hadoop/output/这个HDFS目录下看到两个文件:

hdfs dfs -ls /user/hadoop/output

17/12/17 10:41:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Found 2 items

-rw-r--r-- 1 hadoop supergroup 0 2017-12-17 10:36 /user/hadoop/output/_SUCCESS

-rw-r--r-- 1 hadoop supergroup 29 2017-12-17 10:36 /user/hadoop/output/part-r-00000

我们用如下命令在HDFS中查看:

hdfs dfs -cat /user/hadoop/output/*

17/12/17 10:42:57 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

1 dfsadmin

1dfs.replication

也可以将其从HDFS文件系统中取出来放在本地:

[hadoop@hadoop ~]$ hdfs dfs -get /user/hadoop/output /home/hadoop/output

上面的命令就是将HDFS文件路径/user/hadoop/output中的所有内容都拷贝到/home/hadoop/output下,这是就可以用熟悉的Linux命名查看文件内容了。


注意:

1、在程序执行时,/user/hadoop/output这个HDFS目录不能存在,否则再次执行时会报错,这是可以重新指定输出目录或者删除这个目录即可,如执行hdfs dfs -rm -f -r /user/hadoop/output命令。

2、如果需要关闭Hadoop,请执行stop-dfs.sh命名即可。

3、Hadoop的NameNode和DataNode节点的格式化成功执行一次之后,下次执行时不必执行。

5.4启用YARN模式

YARN,全称是Yet Another Resource Negotiator,YARN是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性。上述通过 tart-dfs.sh 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务调度。

要想使用YARN,首先要通过mapred-site.xml来配置,默认情况在/usr/local/hadoop-2.9.0/etc/hadoop是不存在这个文件的,但是有一个名为mapred-site.xml.template的模板文件。

首先将其改名为mapred-site.xml:

cp /usr/local/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template /usr/local/hadoop-2.9.0/etc/hadoop/mapred-site.xml

然后修改文件内容如下:

mapreduce.framework.name

yarn


同样将同一目录下的yarn-site.xml文件内容修改如下:

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

至此,可以通过start-yarn.sh来启动YARN和通过stop-yarn.sh来停止YARN了。


启动YARN:

请在确定已经正确执行过start-dfs.sh后再执行执行如下命令:

start-yarn.sh

为了能在Web中查看任务运行情况,需要开启历史服务器,执行如下命令:

mr-jobhistory-daemon.sh start historyserver

这时可通过jps查看启动情况:

[hadoop@hadoop ~]$ jps

7559 JobHistoryServer

8039 DataNode

8215 SecondaryNameNode

8519 NodeManager

8872 Jps

8394 ResourceManager

7902 NameNode

启动YARN之后是可以在Web界面中查看任务的执行情况的,网址是http://localhost:8088/,界面如下:

6.总结

本篇主要讲述了如何在CentOS7下部署Hadoop,包括了Hadoop运行的支持组件以及Hadoop的配置,并简单介绍了一下HDFS这个分布式文件系统的命令及用法,最后通过运行简单的MapReduce示例来演示如何运行MapReduce程序。


声明:本文首发于本人个人微信订阅号:zhoujinqiaoIT,其后会同时在本人的CSDN、51CTO及oschina三处博客发布,本人会负责在此四处答疑。

文件 命令 目录 配置 用户 数据 登录 环境 输入 内容 系统 运行 变量 密码 交互式 程序 信息 情况 服务 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 临床的病人数据库怎么建立 在校大学生有必要学网络安全 税务系统网络安全手册 银行项目软件开发公司 如何控制vb数据库 软件开发 策划书 成都大图网络技术怎么样 激战2服务器推荐 物业管理软件开发环境写哪些 欧洲卡车模拟私人服务器 审计局 网络安全 计划 扬农国家网络安全 安卓模拟器 服务器 自己的服务器能设置静态ip吗 大华服务器刷机按f几 上海封闭式网络技术培训 医疗器械网络安全指导 陕西教育网络安全和信息化 网络安全还是做开发 网络安全异常预警技术现状 网络安全风险监测指标 软件开发中的工匠精神 虚拟机登录不了ftp服务器 如何培养网络技术的大学生 计算机网络技术人员有什么用 房产税和房地产数据库 工业革命科技革命互联网革命 华为手机zdb数据库怎么打开 国外买域名解析到国内服务器 服务器连接错误请重装系统
0