舒适的 Hadoop MapReduce 开发环境
环境一览
- Apache Maven
- IntelliJ IDEA
安装 Apache Maven
- 确保已配置好 JAVA 环境,命令行输入
echo %JAVA_HOME%
检查是否有正确输出
- 到 Apache Maven 官网 下载 Binary zip archive 并解压
- 将解压出目录的 bin 目录添加到系统环境变量 PATH 中
- 打开命令行输入
mvn -v
检查是否有 Maven 版本信息等输出
安装 IntelliJ IDEA
- 进入 JetBrains 官网
- 找到 IntelliJ IDEA 下载
- Ultimate 版本包含高级功能,需付费
- Community 版本满足日常使用
创建一个 mapreduce 项目
- 打开 IntelliJ IDEA 后创建新的项目,选择 maven 项目
- 命名 GroupId 和 ArtifactId ,然后完成项目创建,等待 IDEA 打开项目
配置 Maven 项目依赖
- 打开项目根目录的 pom.xml 文件,向其中追加配置信息,完整配置文件参考
1 |
|
- 其中 properties.hadoop-version 为当前所用 hadoop 版本 若有不同可根据需要修改
- 示例所用 JDK 版本 为 1.8 若有不同需修改
- 修改完成后,在 pom.xml 上右击 -> Maven -> Reimport
- 这个过程可能较长,速度与网络有关,请耐心等待
配置 Artifacts 用于 jar 打包
- 打开 Project Structure 选择 Artifacts 点击 + 号 -> JAR -> From modules with dependencies…
- 点击 OK
- 在 src/main/java 目录中编写代码
- 代码编写完成后可以通过 Build -> Build Artifacts… 将程序生成 jar 包
- jar 包默认生成在 out/artifacts/*_jar/ 目录
- 可以通过
java -cp *.jar [<PackageName>.[<SubPackageName>.]...]<MainClassName>
测试程序
将生成的 jar 上传到服务器
Ultimate 版本功能 Deployment
- 选择 Tools -> Deployment -> Configuration…
- 点击 + 号 -> SFTP
请确保服务器/虚拟机中 sshd 服务处于 active (running) 状态”
- 输入服务器/虚拟机 IP 并填入其用户名和密码,可以点击 Test Connection 来测试连接
- 可以在 Mappings 中配置路径,决定之后上传到服务器/虚拟机的那个路径中
- 此时,我们可以在项目目录中右键 -> Deployment,将某个文件或者整个目录上传到服务器/虚拟机中
- 通常,我们只将 jar 包上传到生产环境即可
或者使用 scp 等方式将 jar 上传到服务器/虚拟机
通过
hadoop jar *.jar <InputDir> <OutputDir> <OtherArgs>
来执行 MapReduce 作业