境 使用Eclipse工具,请根据指导完成开发环境配
置。 准备Eclipse与
JDK
准备运行环境 MapReduce的运行环境即MapReduce客户端,请
根据指导完成客户端的安装和配置。 准备Linux客户
端运行环境 获取并导入
样例工程 或者新建工 程
MapReduce提供了不同场景下的样例程序,您可 以导入样例工程进行程序学习。或者您可以根据 指导,新建一个MapReduce工程。
获取并导入样例 工程
阶段 说明 参考文档 根据场景开
发工程
提供了样例工程。
帮助用户快速了解MapReduce各部件的编程接 口。
●
MapReduce
统计样例程 序●
MapReduce
访问多组件 样例程序 编译并运行程序
指导用户将开发好的程序编译并提交运行。 编译并运行程序
查看程序运 行结果
程序运行结果会写在用户指定的路径下。用户还
可以通过UI查看应用运行情况。 查看调测结果
5.2 环境准备
5.2.1 开发环境简介
在进行应用开发时,要准备的开发环境如表5-2所示。同时需要准备运行调测的Linux 环境,用于验证应用程序运行正常。
表5-2 开发环境
准备项 说明
安装Eclipse 开发环境的基本配置。版本要求:4.2。
安装JDK 版本要求:1.8版本。
5.2.2 准备开发用户
开发用户用于运行样例工程。用户需要有组件权限,才能运行样例工程。
前提条件
MRS服务集群开启了Kerberos认证,没有开启Kerberos认证的集群忽略该步骤。
操作步骤
步骤1 登录MRS Manager,在MRS Manager界面选择“系统设置 > 角色管理 > 添加角 色”。
1. 填写角色的名称,例如mrrole。
2. 编辑角色,在“权限”的表格中选择“Yarn > Scheduler Queue > root”,勾选
“Submit”、“Admin”。
3. 在“权限”表格中选择“HBase > HBase Scope”,勾选global的“Create”、
“Read”、“Write”、“Execute”。
4. 在“权限”的表格中选择“HDFS > File System > hdfs://hacluster/ ”,勾选
“Read”、“Write”和“Execute”。
5. 在“权限”的表格中选择“Hive > Hive Read Write Privileges”,勾选default的
“Create”、“Select”、“Delete”、“Insert”。
6. 单击“确定”保存。
步骤2 单击“系统设置 > 用户管理 > 添加用户”,为样例工程创建一个用户。
步骤3 填写用户名,例如test,用户类型为“机机”用户,加入用户组supergroup,设置其
“主组”为supergroup,并绑定角色mrrole取得权限,单击“确定”。
步骤4 在MRS Manager界面选择“系统设置 > 用户管理”,在用户名中选择test,然后在右 侧“操作”列中选择“更多 >下载认证凭据”下载,保存后解压得到用户的
user.keytab文件与krb5.conf文件,用于在样例工程中进行安全认证,如5.2.6-准备
kerberos认证所示。
图5-2 下载认证凭据
----结束
5.2.3 准备 Eclipse 与 JDK
选择Windows开发环境下,安装Eclipse,安装JDK。
步骤1 开发环境安装Eclipse程序,安装要求Eclipse使用4.2或以上版本。
步骤2 开发环境安装JDK程序,安装要求JDK使用1.8版本。
说明
● 若使用IBM JDK,请确保Eclipse中的JDK配置为IBM JDK。
● 若使用Oracle JDK,请确保Eclipse中的JDK配置为Oracle JDK。
● 不同的Eclipse不要使用相同的workspace和相同路径下的示例工程。
----结束
5.2.4 准备 Linux 客户端运行环境
MapReduce的运行环境可以部署在Linux环境下。您可以按照如下操作完成运行环境准 备。
操作步骤
步骤1 确认服务端YARN组件和MapReduce组件已经安装,并正常运行。
步骤2 客户端运行环境已安装1.7或1.8版本的JDK。
步骤3 客户端机器的时间与Hadoop集群的时间要保持一致,时间差小于5分钟。
MRS集群的时间可通过登录主管理节点(集群管理IP地址所在节点)运行date命令查 询。
步骤4 下载MapReduce客户端程序到客户端机器中。
1. 登录MRS Manager系统。
在浏览器地址栏中输入访问地址,地址格式为“https://MRS Manager系统的 WebService浮动IP地址:8080/web”。例如,在IE浏览器地址栏中,输入
“https://10.10.10.172:8080/web”。
2. 选择“服务管理 > 下载客户端”,下载客户端程序到客户端机器。
步骤5 解压缩客户端文件包MRS_Services_Client.tar。安装包为tar格式,执行如下命令解压 两次。
tar -xvf /opt/MRS_Services_Client.tar tar -xvf /opt/MRS_Service_ClientConfig.tar
步骤6 为运行环境设置环境变量,假设安装包解压路径为“MRS_Services_ClientConfig/”。
进入解压文件夹,执行如下命令安装客户端。
sh install.sh {client_install_home}
步骤7 进入客户端安装目录,执行如下命令初始化环境变量。
source bigdata_env
步骤8 将5.2.2-准备开发用户中下载的user.keytab和krb5.conf文件拷贝到Linux环境的“/opt/
conf”目录下,可参考5.4.1-编译并运行程序。
说明
在二次开发过程中,PRINCIPAL需要用到的用户名,应该填写为带域名的用户名,例如创建的用 户为test,域名为HADOOP.COM,则其PRINCIPAL用户名则为[email protected],代码举 例:
conf.set(PRINCIPAL, "[email protected]");
步骤9 执行命令kinit -kt /opt/conf/user.keytab test。
说明
这里的user.keytab文件路径为Linux机器上配置文件的存放路径,后面的test用户名可以更改为 5.2.2-准备开发用户中新建的用户名。
----结束
5.2.5 获取并导入样例工程
MapReduce针对多个场景提供样例工程,帮助客户快速学习MapReduce工程。
以下操作步骤以导入MapReduce样例代码为例。
操作步骤
步骤1 参照样例工程获取地址,下载样例工程到本地。
步骤2 导入样例工程到Eclipse开发环境。
1. 打开Eclipse,选择“File > Import”。显示“Import”窗口,选择Existing Maven Projects,点击“next”按钮。
2. 在“Import Maven Projects”窗口单击“Browse”。显示“Select Root Folder”对话框。
3. 选择样例工程文件夹mapreduce-examples,单击“确定”按钮。
4. 在“Import Maven Projects”窗口单击“Finish”按钮。
步骤3 设置Eclipse的文本文件编码格式,解决乱码显示问题。
1. 在Eclipse的菜单栏中,选择“Window > Preferences”。
弹出“Preferences”窗口。
2. 在左边导航上选择“General > Workspace”,在“Text file encoding”区域,选 中“Other”,并设置参数值为“UTF-8”,单击“Apply”后,单击“OK”,如 图5-3所示。
图5-3 设置 Eclipse 的编码格式
----结束
5.2.6 准备 kerberos 认证
场景说明
在kerberos认证集群环境下,各个组件之间的相互通信不能够简单的互通,而需要在 通信之前进行相互认证,以确保通信的安全性。
用户在提交MapReduce应用程序时,需要与Yarn、HDFS等之间进行通信。那么提交 MapReduce的应用程序中需要写入安全认证代码,确保MapReduce程序能够正常运 行。