一、 任务描述
以ubuntu环境为基础,练习Hadoop伪分布部署,部署成功后对信息进行整理并填写工作任务报告。
二、任务目标
学会hadoop伪分布式配置,理解伪分布式配置的配置文件
三、 任务环境
本次环境是:Ubuntu16.04 + jdk1.8.0_73 + hadoop-2.7.3
四、任务分析
Hadoop伪分布式配置是在没有多台计算机节点的情况下,对hadoop的分布式存储和计算进行模拟安装和配置。通过在一台计算机节点上解压hadoop安装压缩包后,然后进行hadoop相关文件进行配置,让Hadoop的核心进程都运行在同一台机器上并实现对数据存储和计算的测试支持。此时的配置环境并没有达到真实的分布式存储和分布式计算。
五、任务实施
步骤1、解压Hadoop压缩包
右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal
】命令打开终端。在终端中输入命令【cd /simple/soft
】进入软件包的所在文件夹中,并通过【ls
】命令查看文件夹下所有软件。如图1所示。
图1 进入软件所在目录
在simple目录下执行解压命令解压Hadoop的tar包。如图2所示
图2 解压hadoop的tar包
♥ 知识链接
html表单
HTML的表单用于收集用户的输入,表单中包含很多表单元素,指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。< input>元素是最重要的表单元素。
步骤2、配置Hadoop文件
进入到到配置文件所在的目录下,并通过【ls
】命令查看。如图3所示
图3 查看目录下文件
在当前目录下执行命令:【vim hadoop-env.sh
】,按i键之后进入编辑状态,找到【#export JAVA_Home=…
】,把注释符号“#“去掉,
修改java的安装目录为本机的安装目录: 【export JAVA_HOME=/simple/jdk1.8.0_73
】。如图4所示
图4 设置Hadoop的JAVA_HOME
在当前目录下执行【vim core-site.xml
】并修改配置文件core-site.xml的 内容如下(实际修改不需要写中文注释,主机名查看虚拟机的主机名)。
1. <property> 2. <name>fs.defaultFS</name> 3. <value>hdfs://localhost:9000</value> 4. </property> 1. <property> 2. <name>hadoop.tmp.dir</name> 3. <value>/simple/hadoop-2.7.3/tmp</value> 4. </property>
在当前目录下执行【vim hdfs-site.xml
】,修改配置文件hdfs-site.xml
1. <property> 2. <name>dfs.replication</name> 3. <value>1</value> 4. </property> 1. <property> 2. <name>dfs.name.dir</name> 3. <value>/simple/hadoop-2.7.3/hdfs/name</value> 4. </property> 1. <property> 2. <name>dfs.data.dir</name> 3. <value>/simple/hadoop-2.7.3/hdfs/data</value> 4. </property>
在当前目录下查看是否有配置文件mapred-site.xml。目录下默认情况下没有该文件,可通过执行如下命令:【mv mapred-site.xml.template mapred-site.xml
】修改一个文件的命名,然后执行编辑文件命令:【vim mapred-site.xml
】并修改该文件内容
1. <property> 2. <name>mapreduce.framework.name</name> 3. <value>yarn</value> 4. </property>
在$HADOOP_HOME/etc/hadoop目录下执行【vim yarn-site.xml
】并修改配置文件内容如下
1. <property> 2. <name>yarn.resourcemanager.hostname</name> 3. <value>localhost</value> 4. </property> 1. <property> 2. <name>yarn.nodemanager.aux-services</name> 3. <value>mapreduce_shuffle</value> 4. </property>
执行命令【vim /etc/profile
】。把hadoop的安装目录配置到环境变量中。如图5所示。
图5 配置环境变量
然后使用命令让配置文件生效:【source /etc/profile
】。如图6所示
图6 使配置文件生效
格式化namenode。在任意目录下执行如下命令进行格式化:【hdfs namenode -format
】 或者 【hadoop namenode -format
】 。
(搭建后第一次格式化namenode,实际上就是在namenode上开辟一块儿命名空间。这样hdfs就可以挂载在这个命名空间下,namenode负责管理,datanode负责存储。) 如图7所示
图7 格式化namenode
HDFS是分布式系统,所以启动HDFS时,会启动配置的各个服务器节点,包括本机,在启动过程中是通过ssh远程操作的,所以在不做特殊配置下,每次启动到节点(包括本机)相关操作时,都要输入密码,如果想避免每次都输入密码,可执行下面命令设置本机免密【cd ~/.ssh】进入该目录下,查看目录下文件应该是空的(如果不设置免密,每次启动服务需要输入密码vncpassoword)
使用命令【ssh-keygen -t rsa
】生成公钥和私钥。默认在家目录(~/.ssh/
)会生成两个文件:
id_rsa: 私钥
id_rsa.pub:公钥
然后用命令【cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
】将公钥导入到认证文件。如图8所示
图8
启动hadoop, 首先启动hdfs:start-dfs.sh
(第一次启动服务时会出现Are you sure you want to continue connecting(yes/no)?,请输入yes) 。如图9所示
图9 启动hdfs
启动yarn:start-yarn.sh
。如图10所示
图10 启动yarn
♥ 知识链接
HDFS和YARN
1)HDFS是一个分布式文件系统,具有高容错的特点,它可以部署在廉价的通用硬件上,提供高吞吐率的数据访问,适合那些需要处理海量数据集的应用程序。
2)YARN是Hadoop 2.0的资源管理器。它是一个通用的资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
六、 任务测试
启动之后,在任意目录下执行jps命令验证进程是否正常启动。如图11所示
图11 jps查看已启动进程
测试hdfs和yarn(推荐火狐浏览器),首先在浏览器地址栏中输入: http://localhost:50070 (HDFS管理界面)。如图12所示
图12 查看HDFS管理界面
在浏览器的地址栏中输入: http://localhost:8088 (MR管理界面)(本IP为自己虚拟机上面的IP,端口不变)。如图13所示
图13 查看MR管理界面