大数据学习第三章-Hadoop运行环境搭建

1.Hadoop运行环境搭建

1.1 虚拟机网络设置

1.进入 Linux 系统查看本机的主机名。通过 hostname 命令查看。
[root@localhost ~]# hostname
localhost.localdomain
2. 如果此时需要修改主机名则可以按照如下的方式进行修改

范例1:临时修改主机名称为Hadoop01 hostname hadoop01 重启之后失效
范例2:永久修改主机名称为Hadoop01
在这里插入图片描述
[hadoop01@hadoop01 ~]$vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop01
保存wq
3. 在修改完主机名称之后,需要编辑/etc/hosts 文件需要把主机名称与IP地址(虚拟机的ip地址)进行映射
在这里插入图片描述
vi /etc/hosts 在该文件下添加如下内容
192.168.28.128 hadoop01

1.2 关闭防火墙

1)service iptables stop 关闭防火墙

2)chkconfig iptables off 永久关闭防火墙启动

3)chkconfig iptables --list 查看防火墙开机启动状态

1.3 规划软件安装目录

在这里插入图片描述
1)创建安装包的保存目录,以及安装目录

mkdir -p /opt/software 保存软件的安装包

mkdir -p /opt/app 软件的安装了路径

2.安装jdk环境

2.1 首先先把jdk的安装包上传到software 文件夹下,之后解压缩对其安装到app目录
tar -zvxf jdk-8u181-linux-x64.tar.gz -C /opt/app
2.2 配置JDK环境变量
首先获取JDK的安装路径
[hadoop@hadoop01 jdk1.8.0_181]$ pwd
/opt/soft/jdk1.8.0_181
接下来打开 /etc/profile 文件进行环境变量的设置

vi /etc/profile

在 profie 文件末尾添加 jdk 路径:

#JAVA_HOME

export JAVA_HOME=/data/jdk1.8.0_181
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

保存后推出 :wq
完成以上的操作之后,配置文件并不能立即生效,需要使用到如下命令,使配置文件立即生效

[hadoop@hadoop01 jdk1.8.0_181]$ source /etc/profile

之后测试JDK环境变量是否配置成功,使用如下命令输出JDK的版本信息

[hadoop@hadoop01 jdk1.8.0_181]$ java -version
java version “1.8.0_181”
Java™ SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot™ 64-Bit Server VM (build 25.181-b13, mixed mode)

如果能看到如上的信息,说明JDK的环境变量已经配置成功

3. 安装Hadoop环境

1.下载Hadoop linux安装包
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
(同jdk一样解压缩到/opt/app/)
在这里插入图片描述
解压成功之后,hadoop的安装目录结构如下:

bin:Hadoop最基本的管理脚本和使用脚本所在目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用hadoop

etc:Hadoop配置文件所在目录,包括core-site.xml, hdfs-site.xml, mapred-site.xml等从hadoop1.0继承而来的配置文件和yarn-site.xml等hadoop 2.0新增的配置文件

include:对外提供的编程酷头文件(具体动态库和静态库在lib目录中),这些头文件均是用c++定义的,通常用于c++程序访问hdfs或者编写mapreduce程序

lib:该目录包含了Hadoop对外提供的的编程动态库和静态库,与include目录中的头文件结合使用。

libexec:各个服务对应的shell配置文件所在目录,可用于配置日志输出目录,启动参数(比如JVM参数)等基本信息。

sbin:Hadoop管理脚本所在目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本

share:Hadoop各个模块编译后的jar包所在目录
2.使用chown 命令修改用户与用户组权限
在这里插入图片描述
chown -R hadoop:hadoop /opt/soft/hadoop-2.7.2/
3.完成了以上的配置之后,我们接下来首先需要配置如下文件
hadoop-env.sh: 用于hadoop的环境变量配置文件

export JAVA_HOME=/opt/soft/jdk1.8.0_181
在这里插入图片描述
到这一步,说明基本的运行环境已经搭建完成了

4.运行官方案例

Hadoop的运行模式,分为以下几种:

1) 本地模式(默认模式)

不需要启用单独进程,直接可以运行,测试和开发时使用。

2)伪分布模式

等同于完全分布式,只有一个节点。

3)完全分布式模式

多个节点一起运行。

4.1 本地运行Hadoop官方案例Grep

对于这个案例来说,主要的作用就是,在一堆文件中与规定的正则表达式进行匹配,把匹配成功的单词出现的次数,进行统计
对于这个案例来说,主要的作用就是,在一堆文件中与规定的正则表达式进行匹配,把匹配成功的单词出现的次数,进行统计

 在hadoop根目录下创建一个文件夹input
  $ mkdir input
  将hadoop的xml配置文件复制到input
  $ cp etc/hadoop/*.xml input
  执行share目录下的mapreduce程序
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
  查看输出结果
  $ cat output/*

以上为官网上给出的案例代码

从以上的案例代码可以得出,首先需要创建一个目录,用于存放需要统计的文件,而对于统计结果的保存目录则不用以前创建,注意:Hadoop中输出结果的目录是不能提前存在的

4.2 运行官方wordcount案例

1) 在hadoop根目录中创建用于保存统计文件的wcinput目录

[hadoop@hadoop01 hadoop-2.7.2]$ mkdir wcinput

  1. 在 wcinput 文件下创建一个 wordcount.txt 文件

[hadoop@hadoop01 wcinput]$ vi worldcount.txt

hello   java    world   input
hadoop  hive    zookeeper       java
world   input   hello   hadoop
hbase   zookeeper       sqoop
  1. 执行wordcount案例程序

[hadoop@hadoop01 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

4) 查看结果

[hadoop@hadoop01 hadoop-2.7.2]$ cat wcoutput/part-r-00000
hadoop 2
hbase 1
hello 2
hive 1
input 2
java 2
sqoop 1
world 2
zookeeper 2

4.3 伪分布式运行Hadoop案例

4.3.1 启动 HDFS 并运行 MapReduce 程序

对于伪分布式安装来说,需要配置自定义的配置文件,用于启动hdfs,以及yarn

  1. 配置core-site.xml 配置文件,内容如下
<configuration>
	<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:8020</value>
</property>

<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/app/hadoop-2.7.2/data/tmp</value>
 </property>
</configuration>

配置HDFS的对外的访问路径,并且配置hadoop临时保存目录

2 ) 配置hdfs-site.xml 配置文件


<configuration>
	<property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

以上的配置,把hdfs 文件块的副本复制的数量设置1 由于在伪分布式环境中,必须设置为1

完成以上的步骤,就可以对HDFS 文件进行格式化操作,命令如下

[hadoop@hadoop01 hadoop-2.7.2]$ bin/hadoop namenode -format

INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name
has been successfully formatted.

出现如上的信息,说明格式化成功

格式化成功之后,就可以分别启动,HDFS 的相关进程

1) 启动namenode

sbin/hadoop-daemon.sh start namenode
  1. 启动 datanode
sbin/hadoop-daemon.sh start datanode

启动namenode 与 datanode之后,可以通过web的方式进行访问(前提必须关闭防火墙)

http://10.0.153.228:50070/explorer.html#/

完成以上的操作之后,就可以通过操作HDFS 进行文件的上传并且在HDFS文件系统上对文件进行分析

4.3.2 在Yarn上运行MapReduce程序

首先需要在mapred-site.xml 配置文件,配置如下信息

<configuration>
	<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

接下来在yarn-site.xml 配置文件进行如下配置

<configuration>

 <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
  </property>

</configuration>

配置完以上的配置之后,可以使用如下命令启动yarn的进行

  1. resoucemanager
[hadoop@hadoop01 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
  1. nodemanager
[hadoop@hadoop01 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

启动成功之后,可以通过jps 查看进程是否启动成功

[hadoop@hadoop01 hadoop-2.7.2]$ jps
5139 Jps
29783 DataNode
29497 NameNode
4766 ResourceManager
5039 NodeManager

执行jps命令之后,可以发现进程中存在ResourceManager与NodeManager两个进程
启动成功之后,就可以通过web浏览器的方式进行查看

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页