方式
以下主要有两种方式调用 HADOOP。
- 通过在 windows 上面安装 hadoop 来进行,通过 windows 的 hadoop 对远程集群进行提交
- 通过 idea 的发布功能,将编译好的 jar 提交至远程集群运行
- 本地运行
使用的 hadoop 版本为 2.6.5
通过 windows 的运行 HADOOP 向集群提交
1. 下载 hadoop 到 windows,并解压到指定位置
2. 设置 JAVA_HOME:
设置 etc/hadoop/hadoop-env.cmd 里面的 JAVA_HOME,记住一定要加双引号,不然会因为空格的原因会找不到 JAVA_HOME
set JAVA_HOME="H:\Program Files\Java\jdk1.8.0_131"
3 设置环境变量
HADOOP_HOME:D:\work\hadoop
HADOOP_BIN_PATH:%HADOOP_HOME%\bin
HADOOP_PREFIX:%HADOOP_HOME%
在Path加上
%HADOOP_HOME%\bin
%HADOOP_HOME%\sbin
设置完成以后,在 CMD 里面测试一下,hadoop 命令是否正常。
4. 配置远程参数
在 run 里面配置好你要链接的远程集群的参数
这里我是把 ip 地址配在修改了 C:\Windows\System32\drivers\etc\hosts 里面的。设定完了记得 CMD 里运行 ipconfig /flushdns ,并且重启 IDEA。
并且远程的权限也要关闭
5. 下载 windwos 下面运行需要的包
hadoop2.6 x64,解压里面的全部内容放到 HADOOP_HOME 的 bin 目录下。
6. 将自己的程序打包成 jar
这里我是用的 maven 打的包,打完包之后是这样
7.运行
在 idea 自带的命令栏里面输入启动命令,windows 上面的 hadoop 会根据 4 里面的配置,将程序提交至远程集群
hadoop jar ./target/hadoopname.jar top.blazh.hadooptest.MyRM /user/cent1/input/input /user/cent1/output
运行完成之后可以在远程查看结果
通过 idea 上面的发布工具及 SSH 工具
1. 设置 SSH
idea 菜单栏 > 工具 >satrt SSH session
填写你的登陆信息,就能够在 idea 自带的终端窗口命令操作远程 linux
2. 设置 IDEA 的发布地址
idea 菜单栏 > 工具 >Deployerment>Configuration
设置登陆信息,下面的 Web sever Url 可以不设
Root path 是指你发布到远程服务上面的根路径
3. 上传你编译好的 jar 至远程服务器
在 idea 里面右键 jar 包 >Upload to xxx
这样就可以轻松的把 jar 上传至 2 设置的 Root path 目录下,记住还是保持有相对与项目的路径结构
配合 1 的 ssh,直接操控远程服务器运行
本地运行
1. 设置 jar 的 Artifacts
只需要把编译输出目录加进来
2. 设置运行参数
主要类填 org.apache.hadoop.util.RunJar
程序参数分别是
- Artifacts jar 的输出路径
- 运行类名字
- 输入路劲(相对于项目)
- 输出路劲(相对于项目)
同时我们也要在项目里面建立 input 文件夹,并且里面放上些数据。不要建立 output!运行的时候程序会自动建立,不然会报错
3. 修改运行程序
因为是本地运行,所以程序需要稍微改动一下
4. 运行
运行 2 建立的应用程序。
结果会输出到 output 里面
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于