Hadoop-Hadoop伪分布部署

第一部分 Hadoop伪分布模式平台搭建

项目1 环境准备3

项目2 JDK的安装4

2.1 实习说明4

2.2 实习规划4

2.3 操作步骤4

项目4 Hadoop的安装8

3.1 实习说明8

3.2 实习规划8

3.3 操作步骤8

3.4 总结和思考23

项目4 Hadoop的使用25

4.1 实习说明25

4.2 基本命令26

第一部分 Hadoop伪分布模式平台搭建

项目1 环境准备
伪分布式环境:

1、系统环境:

[root@localhost ~]# uname -a

Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# cat /etc/centos-release

CentOS Linux release 7.4.1708 (Core)

2、JDK版本:

jdk-8u131-linux-x64.tar.gz

3、zookeeper版本:

zookeeper-3.4.9.tar.gz

4、hadoop版本:

hadoop-2.7.3.tar.gz

项目2 JDK的安装
2.1 实习说明
2.1.5 实习条件

※ 一台独立PC机或虚拟机

※ 内存2G以上,磁盘空间40G以上

※ 已安装CentOS 7.4操作系统 IP:192.168.10.88

2.2 实习规划
2.2.2 软件版本

※ 选用JDK 8的131版本,软件包名jdk-8u131-linux-x64.tar.gz

2.3 操作步骤
2.3.1 新建admin用户(admin/admin)

useradd admin

passwd admin

2.3.2 卸载原有JDK

★ 该项的所有操作步骤需要使用root用户进行。

① 分别使用命令“rpm -qa|grep java”和“rpm -qa|grep jdk”搜索当前系统中所有已经安装的JDK及相关软件包。

② 使用命令“rpm -e 软件包名”依次删除所有搜索到的当前系统中已经安装的JDK及相关软件包。

③ 若软件包因为存在依赖关系导致使用上面的命令无法进行删除,可以使用命令“yum remove 软件名”进行删除,这里只需要输入软件包前面部分的软件名即可,不需要输入完整的软件包名,删除过程中会提示是否同时删除与当前软件相关联的存在依赖关系软件包,输入“y”然后按回车键即可。

2.3.3 安装配置JDK

★ 该项的所有操作步骤需要使用admin用户进行。

su - admin

① JDK软件包“jdk-8u131-linux-x64.tar.gz”存放于用户家目录的“setups”目录下,该目录为事先自行创建并将实训相关软件包从优盘拷贝至该目录下。

mkdir -p /home/admin/setups

② 使用命令“mkdir ~/java”在家目录下创建用于存放JDK相关文件的目录,并使用命令“cd ~/java”进入该目录。

③ 使用命令“tar -xzvf ~/setups/jdk-8u131-linux-x64.tar.gz”将软件包解压解包到“java”目录下,解压解包出来的目录名称为“jdk1.8.0_131”。

④ 配置JDK相关的环境变量,需要修改用户的配置文件“.bash_profile”,该文件位于用户家目录下,是隐藏文件,使用命令“vi ~/.bash_profile” 对配置文件进行修改,在文件末尾添加以下内容:

#java environment

JAVA_HOME=/home/用户家目录/java/jdk1.8.0_131(该路径以JDK软件包实际解压解包的路径为准)

CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAHOME/lib/tools.jar:JAVA_HOME/lib/dt.jar

PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH(保证此项输入正确,否则可能会导致所有命令无法使用)

export JAVA_HOME CLASSPATH PATH(必须按照前面的定义顺序书写)

vi ~/.bash_profile

#java environment

JAVA_HOME=/home/admin/java/jdk1.8.0_131

CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAHOME/lib/tools.jar:JAVA_HOME/lib/dt.jar

PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

export JAVA_HOME CLASSPATH PATH

⑤ 使用命令“source ~/.bash_profile”使新配置的环境变量立即生效。

⑥ 使用命令“echo $JAVA_HOME”、“echo $CLASSPATH”、“echo $PATH”查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确。

⑦ 使用命令“java”、“javac”、“java -version”、“javac -version”验证JDK的安装配置是否成功。

项目4 Hadoop的安装
4.1 实习说明
4.1.1 实习目的

※ 掌握伪分布模式的整合平台中Hadoop的伪分布模式的安装

4.1.5 实习条件

※ 一台独立PC机或虚拟机

※ 内存2G以上,磁盘空间40G以上

※ 已安装CentOS 7.4操作系统

※ 已安装JDK

4.2 实习规划
4.2.2 软件版本

※ 选用Hadoop的2.7.3版本,软件包名hadoop-2.7.3.tar.gz

4.2.3 服务节点规划

※ Hadoop的伪分布模式实际上是在单台主机上使用多个进程模拟多类不同的服务节点。

※ Hadoop有HDFS的主节点和数据节点以及MapReduce的主节点和任务节点总共4类服务节点,伪分布模式下只需要满足每类服务节点至少有1个即可。

4.3 操作步骤
★ 该项的所有操作步骤需要使用admin用户进行。

su - admin

4.3.1 Hadoop基本安装配置

① Hadoop软件包“hadoop-2.7.3.tar.gz”存放于用户家目录的“setups”目录下,该目录为事先自行创建并将实训相关软件包从优盘拷贝至该目录下。

② 使用命令“mkdir ~/hadoop”创建用于存放Hadoop相关文件的目录,并使用命令“cd ~/hadoop”进入该目录。

③ 使用命令“tar -xzvf ~/setups/hadoop-2.7.3.tar.gz”将软件包解压解包到“hadoop”目录下,解压解包出来的目录名称为“hadoop-2.7.3”。

④ 配置Hadoop相关的环境变量,需要修改用户的配置文件“.bash_profile”,该文件位于用户家目录下,是隐藏文件,使用命令“vi ~/.bash_profile” 对配置文件进行修改,在文件末尾添加以下内容:

#hadoop environment

HADOOP_HOME=/home/用户家目录/hadoop/hadoop-2.7.3(该路径以Hadoop软件包实际解压解包的路径为准)

PATH= H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH(确保此项输入正确,否则可能会导致所有命令无法使用)

export HADOOP_HOME PATH(必须按照前面的定义顺序书写)

vi ~/.bash_profile

#java environment

JAVA_HOME=/home/admin/java/jdk1.8.0_131

CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAHOME/lib/tools.jar:JAVA_HOME/lib/dt.jar

PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

export JAVA_HOME CLASSPATH PATH

#zookeeper environment

ZOOKEEPER_HOME=/home/admin/zookeeper/zookeeper-3.4.9

PATH= Z O O K E E P E R H O M E / b i n : ZOOKEEPER_HOME/bin: ZOOKEEPERHOME/bin:PATH

export ZOOKEEPER_HOME PATH

#hadoop environment

HADOOP_HOME=/home/admin/hadoop/hadoop-2.7.3

PATH= H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH

export HADOOP_HOME PATH

⑤ 使用命令“source ~/.bash_profile”使新配置的环境变量立即生效。

⑥ 使用命令“echo $HADOOP_HOME”、“echo $PATH”查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确。


使用命令“hadoop”、“hadoop version”验证Hadoop的安装配置是否成功。

4.3.2 配置本机免密码登录

① 使用命令“ssh-keygen -t rsa”生成本机系统当前登录用户admin用户的公钥和私钥文件,生成过程中会提示输入相关设置信息,可以不用输入,全部回车键直接跳过即可。

② 生成的公钥和密钥文件位于当前用户家目录下的“.ssh”目录下,该目录由之前执行的命令自动生成,且为隐藏目录,使用命令“cd ~/.ssh”进入密钥对的存放目录。

③ 使用命令“cp id_rsa.pub authorized_keys”利用公钥文件生成免密码登录文件。

④ 使用命令“ssh localhost”进行免密码的本地主机登录,第一次登录时可能出现提示信息,输入“yes”后按回车键,另外第一次使用时也可能会提示输入密码,正确输入密码之后完成第一次登录。

⑤ 再次使用命令“ssh localhost” 进行免密码的本地主机登录,若可以进行正常的免密码登录则表示配置成功,若依然提示输入密码则表示配置失败,需要删除用户家目录下的“.ssh”目录后重新执行整个过程。

4.3.3 Hadoop伪分布模式配置

① 使用命令“cd ~/hadoop”进入Hadoop相关文件的目录,使用命令“mkdir tmp name data”分别创建Hadoop的临时文件目录“tmp”、HDFS的元数据文件目录“name”、HDFS的数据文件目录“data”。

② Hadoop的配置文件位于其软件目录的“etc/hadoop”目录下,使用命令“cd ~/hadoop/hadoop-2.7.3/etc/hadoop”进入该目录。

③ 编辑配置文件“hadoop-env.sh”,使用命令“vi hadoop-env.sh”对配置文件进行修改,找到配置项“JAVA_HOME”所在行,将其改为以下内容:

export JAVA_HOME=/home/用户家目录/java/jdk1.8.0_131(该路径以JDK软件包实际解压解包的路径为准)

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

vi hadoop-env.sh

找到配置项“JAVA_HOME”所在行,修改为:

export JAVA_HOME=/home/admin/java/jdk1.8.0_131

④ 编辑配置文件“core-site.xml”,使用命令“vi core-site.xml”对配置文件进行修改,找到标签“”所在的位置,在其中添加如下蓝色部分的内容:

fs.defaultFS

hdfs://localhost:9000

hadoop.tmp.dir

/home/用户家目录/hadoop/tmp

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

vi core-site.xml

找到标签“”所在的位置,在其中添加如下红色部分的内容:

fs.defaultFS

hdfs://localhost:9000

hadoop.tmp.dir

/home/admin/hadoop/tmp

⑤ 编辑配置文件“hdfs-site.xml”,使用命令“vi hdfs-site.xml”对配置文件进行修改,找到标签“”所在的位置,在其中添加如下蓝色部分的内容:

dfs.namenode.name.dir

/home/用户家目录/hadoop/name

dfs.datanode.data.dir

/home/用户家目录/hadoop/data

dfs.replication

1

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

vi hdfs-site.xml

找到标签“”所在的位置,在其中添加如下红色部分的内容:

dfs.namenode.name.dir

/home/admin/hadoop/name

dfs.datanode.data.dir

/home/admin/hadoop/data

dfs.replication

1

⑥ 使用命令“cp mapred-site.xml.template mapred-site.xml”由模板文件生成配置文件“mapred-site.xml”。

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

cp mapred-site.xml.template mapred-site.xml

⑦ 编辑配置文件“mapred-site.xml”,使用命令“vi mapred-site.xml”对配置文件进行修改,找到标签“”所在的位置,在其中添加如下蓝色部分的内容:

mapreduce.framework.name

yarn

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

vi mapred-site.xml

找到标签“”所在的位置,在其中添加如下红色部分的内容:

mapreduce.framework.name

yarn

⑧ 编辑配置文件“yarn-env.sh”,使用命令“vi yarn-env.sh”对配置文件进行修改,找到配置项“JAVA_HOME”所在行,将其改为以下内容:

export JAVA_HOME=/home/用户家目录/java/jdk1.8.0_131(该路径以JDK软件包实际解压解包的路径为准)

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

vi yarn-env.sh

找到配置项“JAVA_HOME”所在行,将其改为以下内容:

export JAVA_HOME=/home/admin/java/jdk1.8.0_131

⑨ 编辑配置文件“yarn-site.xml”,使用命令“vi yarn-site.xml”对配置文件进行修改,找到标签“”所在的位置,在其中添加如下蓝色部分的内容:

yarn.nodemanager.aux-services

mapreduce_shuffle

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

vi yarn-site.xml

找到标签“”所在的位置,在其中添加如下红色部分的内容:

yarn.nodemanager.aux-services

mapreduce_shuffle

4.3.4 Hadoop伪分布模式格式化和启动

① 使用命令“hadoop namenode -format”对HDFS进行格式化,若格式化过程中没有报错则表示格式化成功。

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

hadoop namenode -format

② 使用命令“start-dfs.sh”启动HDFS文件系统。

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

start-dfs.sh

③ 使用命令“jps”查看Java进程信息,若有名为“NameNode”、“SecondaryNameNode”、“DataNode”的三个进程,则表示HDFS文件系统启动成功。

④ 使用命令“start-yarn.sh”启动YARN资源管理器,即MapReduce功能。

cd ~/hadoop/hadoop-2.7.3/etc/hadoop

start-yarn.sh

⑤ 使用命令“jps”查看Java进程信息,若有名为“ResourceManager”、 “NodeManager”的两个进程,则表示YARN资源管理器启动成功。

4.3.5 Hadoop伪分布模式验证

① 使用命令“hadoop fs -mkdir -p /user/当前登录用户的用户名”在Hadoop中创建当前登录用户自己的目录。

hadoop fs -mkdir -p /user/admin

② 使用命令“hadoop fs -ls -R /”查看HDFS中的所有文件和目录的结构。

hadoop fs -ls -R /

③ Hadoop的示例程序包位于其软件目录的“share/hadoop/mapreduce”目录下,使用命令“cd ~/hadoop/hadoop-2.7.3/share/hadoop/mapreduce”进入该目录。

④ 示例程序包的包名为“hadoop-mapreduce-examples-2.7.3.jar”,使用命令“hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 2 1000”来运行使用蒙地卡罗法计算PI的示例程序。 “pi”参数之后的第一个参数是指运行map的次数,第二个参数是指每个map任务的取样个数。

cd ~/hadoop/hadoop-2.7.3/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.7.3.jar pi 2 10000

web端:

查看程序执行进度:

ResourceManager状态查看:

1、打开浏览器查看集群状态、日志信息等:

http://192.168.10.88:8088/

http://192.168.10.88:8088/cluster

2、打开浏览器查看整个集群的HDFS状态:

http://192.168.10.88:50070/

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

4.4 总结和思考
4.4.1 常见问题解决

① 若节点进程“NameNode”启动失败,可以使用命令“hadoop namenode”单独启动进程来查看启动信息的详细内容,也可以在目录“Hadoop软件目录/logs”中通过NameNode的日志文件来查看启动信息的详细内容,日志文件的后缀名为“.log”,文件名中包含“namenode”关键字的为对应节点进程的日志文件。

② 若节点进程“SecondaryNameNode”启动失败,可以使用命令“hadoop secondarynamenode”单独启动进程来查看启动信息的详细内容,也可以在目录“Hadoop软件目录/logs”中通过SecondaryNameNode的日志文件来查看启动信息的详细内容,日志文件的后缀名为“.log”,文件名中包含“secondarynamenode”关键字的为对应节点进程的日志文件。

③ 若节点进程“DataNode”启动失败,可以使用命令“hadoop datanode”单独启动进程来查看启动信息的详细内容,也可以在目录“Hadoop软件目录/logs”中通过DataNode的日志文件来查看启动信息的详细内容,日志文件的后缀名为“.log”,文件名中包含“datanode”关键字的为对应节点进程的日志文件。

④ 若节点进程“ResourceManager”启动失败,可以使用命令“yarn resourcemanager”单独启动进程来查看启动信息的详细内容,也可以在目录“Hadoop软件目录/logs”中通过ResourceManager的日志文件来查看启动信息的详细内容,日志文件的后缀名为“.out”,文件名中包含“resourcemanager”关键字的为对应节点进程的日志文件。

⑤ 若节点进程“NodeManager”启动失败,可以使用命令“yarn nodemanager”单独启动进程来查看启动信息的详细内容,也可以在目录“Hadoop软件目录/logs”中通过NodeManager的日志文件来查看启动信息的详细内容,日志文件的后缀名为“.log”,文件名中包含“nodemanager”关键字的为对应节点进程的日志文件。

⑥ 若修改了配置文件的内容,需要将创建的目录“tmp”、“name”、“data”中的内容清空,并重新进行HDFS的格式化之后,再启动Hadoop服务。

项目4 Hadoop的使用
4.1 实习说明
4.1.1 实习目的

※ 掌握Hadoop的基本使用操作

4.1.2 实习项目

※ Hadoop的基本命令

※ Hadoop的使用练习

4.1.3 实习要求

※ 熟悉Hadoop的基本命令

※ 正确完成练习内容

4.1.4 实习时长

※ 1课时

4.1.5 实习条件

※ 一台独立PC机或虚拟机

※ 已完成Hadoop平台搭建

4.1.6 设备分配

※ 每人一台独立PC机或虚拟机

4.2 基本命令
① 命令基本格式:hadoop fs 命令参数

② 本地系统文件操作路径格式:file:///系统目录或文件路径

③ 远程HDFS文件操作路径格式:hdfs://Hadoop访问路径:端口号/HDFS目录或文件路径

★ 以下命令皆是Hadoop基本操作中的命令参数。

④ 命令“ls”用于查看指定目录或文件的详细信息,使用方法“hadoop fs -ls 目录或文件路径”,其中“目录或文件路径”可以为多个,中间用空格隔开。

⑤ 命令“cat”用于查看指定文本类文件的内容,使用方法“hadoop fs -cat 文件路径”,其中“文件路径”可以为多个,中间用空格隔开。

⑥ 命令“mkdir”用于根据指定的路径创建目录,使用方法“hadoop fs -mkdir 目录路径”,其中“目录路径”可以为多个,中间用空格隔开。

⑦ 命令“touchz”用于创建0字节的空文本文件,使用方法“hadoop fs -touchz 文件路径”,其中“文件路径”可以为多个,中间用空格隔开。

⑧ 命令“cp”用于将目录或文件从源路径复制到目标路径,使用方法“hadoop fs -cp 源目录或文件路径 目标目录路径”,其中“源目录或文件路径”可以为多个,中间用空格隔开。

⑨ 命令“mv”用于将目录或文件从源路径移动到目标路径,使用方法“hadoop fs -mv 源目录或文件路径 目标目录路径”,其中“源目录或文件路径”可以为多个,中间用空格隔开。

※ 该命令不能用于在不同的文件系统之间移动文件。

⑩ 命令“rm”用于删除指定的目录或文件,使用方法“hadoop fs -rm 目录或文件路径”,其中“目录或文件路径”可以为多个,中间用空格隔开。

⑪ 命令“put”用于从系统本地文件系统中复制目录或文件到目标文件系统路径,使用方法“hadoop fs -put 本地源目录或文件路径 目标目录路径”,其中“本地源目录或文件路径”可以为多个,中间用空格隔开。

⑫ 命令“get”用于从源文件系统复制目录或文件到系统本地文件系统路径,使用方法“hadoop fs -get 源目录或文件路径 本地目标目录路径”,其中“源目录或文件路径”可以为多个,中间用空格隔开。

⑬ 命令“chgrp”用于设置目录或文件的所属组,使用方法“hadoop fs -chgrp 组名 目录或文件路径”,其中“目录或文件路径”可以为多个,中间用空格隔开。

⑭ 命令“chown”用于设置目录或文件的所属用户,使用方法“hadoop fs -chown 用户名 目录或文件路径”,其中“目录或文件路径”可以为多个,中间用空格隔开。

⑮ 命令“chmod”用于设置目录或文件的权限,使用方法“hadoop fs -chmod 权限编码 目录或文件路径”,其中“目录或文件路径”可以为多个,中间用空格隔开。

※ 权限编码同Linux系统命令“chmod”中的权限编码。

猜你喜欢

转载自blog.csdn.net/dgssd/article/details/109188511
今日推荐