IDEA 调用 HADOOP

本贴最后更新于 2427 天前,其中的信息可能已经渤澥桑田

方式

以下主要有两种方式调用 HADOOP。

  1. 通过在 windows 上面安装 hadoop 来进行,通过 windows 的 hadoop 对远程集群进行提交
  2. 通过 idea 的发布功能,将编译好的 jar 提交至远程集群运行
  3. 本地运行

使用的 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 里面配置好你要链接的远程集群的参数
5cde1d6f793f404bbeb7b78585e5bf85-image.png
这里我是把 ip 地址配在修改了 C:\Windows\System32\drivers\etc\hosts 里面的。设定完了记得 CMD 里运行 ipconfig /flushdns ,并且重启 IDEA。
并且远程的权限也要关闭
fa81b2f30fe84912aad10d68953dee8b-image.png

5. 下载 windwos 下面运行需要的包

hadoop2.6 x64,解压里面的全部内容放到 HADOOP_HOME 的 bin 目录下。

6. 将自己的程序打包成 jar

这里我是用的 maven 打的包,打完包之后是这样
ef0ae7dcdd4c453784ef5f1d315a415b-image.png

7.运行

在 idea 自带的命令栏里面输入启动命令,windows 上面的 hadoop 会根据 4 里面的配置,将程序提交至远程集群

hadoop jar ./target/hadoopname.jar  top.blazh.hadooptest.MyRM  /user/cent1/input/input /user/cent1/output

运行完成之后可以在远程查看结果
16789b767ceb4d5bb566bbdb2174ab46-image.png

通过 idea 上面的发布工具及 SSH 工具

1. 设置 SSH

idea 菜单栏 > 工具 >satrt SSH session
1e21580ce4d5473ca0b55cb50547720b-image.png
填写你的登陆信息,就能够在 idea 自带的终端窗口命令操作远程 linux
74c5dac74a604a8e92927479d467e319-image.png

2. 设置 IDEA 的发布地址

idea 菜单栏 > 工具 >Deployerment>Configuration
设置登陆信息,下面的 Web sever Url 可以不设
Root path 是指你发布到远程服务上面的根路径
a3f3b4dd77b1410ba831bcda886bb06b-image.png

2aa6ab1ae70c41c6a9bc213723fcbb04-image.png

3. 上传你编译好的 jar 至远程服务器

在 idea 里面右键 jar 包 >Upload to xxx
这样就可以轻松的把 jar 上传至 2 设置的 Root path 目录下,记住还是保持有相对与项目的路径结构
配合 1 的 ssh,直接操控远程服务器运行

本地运行

1. 设置 jar 的 Artifacts

只需要把编译输出目录加进来
5d4a011da70f47c4a63213cc108a7469-image.png

2. 设置运行参数

主要类填 org.apache.hadoop.util.RunJar

52c08a1ddbbb4196a5a94d676ac4fd36-image.png

程序参数分别是

  1. Artifacts jar 的输出路径
  2. 运行类名字
  3. 输入路劲(相对于项目)
  4. 输出路劲(相对于项目)
    b93757cc997743978411681ff28c27c2-image.png

同时我们也要在项目里面建立 input 文件夹,并且里面放上些数据。不要建立 output!运行的时候程序会自动建立,不然会报错
6811375ddf094b418799fdd27a36d10f-image.png

3. 修改运行程序

因为是本地运行,所以程序需要稍微改动一下
69a2b3df39834400811fd2b5ac295370-image.png

4. 运行

运行 2 建立的应用程序。
结果会输出到 output 里面
6237e97888214e3d8fecf6e5137f8e1e-image.png

  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖 • 1 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    82 引用 • 122 回帖 • 614 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...