IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决

这篇具有很好参考价值的文章主要介绍了IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考博客

【MapReduce打包成jar上传到集群运行】http://t.csdn.cn/2gK1d

【Xshell7/Xftp7 解决强制更新问题】http://t.csdn.cn/rxiBG

IDEA打包MapReduce程序(方式一)【轻量级打包】

这里的打包是打包整个项目,后期等学会怎么打包单个指定的mapreduce程序再来更新博客。

1、编译打包

IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决,Hadoop,intellij-idea,mapreduce,数据库

注意:

这个时候已经在 target 目录下打包好了一个jar包:

我们可以直接使用这个来执行 ,而且这个jar包非常的轻量级只有几十KB,但是如果你有一些依赖项是hadoop集群中没有的,那么在这一步结束后,你就接着用我下面的这种方式打包吧:

IDEA打包MapReduce程序(方式二)【连依赖一起打包】

必须在第一步的基础上进行,因为我们的代码总是要经过编译的,不然你修改不编译无效。

2、File -> Project Structure -> Artifacts

IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决,Hadoop,intellij-idea,mapreduce,数据库

3、选择mapreduce程序的运行入口

IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决,Hadoop,intellij-idea,mapreduce,数据库

4、点击 ok  -> build -> build artifacts -> build

生成一个out目录 里面有我们打包好的jar包(默认名称就是我们的项目名.jar)

IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决,Hadoop,intellij-idea,mapreduce,数据库

5、使用Xftp把jar包传到 linux。

两种打包方式集群下运行时的注意事项

1、第一种打包方式(直接package编译打包)

这种方式打包的是我们整个Maven项目的源代码(不包括依赖项),所以我们的集群中必须有相关的依赖,这种方式最轻量级。

在集群下运行的时候,必须指定运行的类的全限定名!

hadoop jar wc.jar com/lyh/mapreduce/wordcount2/WordCountRunner /wcinput /wcoutput

2、第二种方式(build artifacts)

这种不需要指定运行类的全限定名:

hadoop jar wc.jar /wcinput /wcoutput

但就是空间太大,一个wordcount几十MB呢。

XShell7 和 Xftp7 的过期解决办法

XShell.bat

@echo off
color 3e
title Xshell启动器
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

::获取Xshell启动程序路径
::set Xshell="D:\Program Files (x86)\NetSarang\Xshell 7\Xshell.exe"
set Xshell=
::如果上边未设置Xshell变量值,那么会自动去查找当前已安装的Xshell路径
if not defined Xshell (
	for /F "delims=" %%T in ('where Xshell') do set Xshell="%%T"
)
::如果上边两处都没有得到Xshell路径,那么就由用户手动输入
if not defined Xshell (
	echo 请提供Xshell启动程序路径
	set /P Xshell=
)
if not defined Xshell (
	echo 拜拜我不干了!
	exit
)

::在更改系统日期前,先获取系统当前日期
set cTime=%date:~0,4%-%date:~5,2%-%date:~8,2%
::修改系统日期,这里获取Xshell.exe的创建时间作为设置的系统日期
for /F "delims=" %%S in ('dir ^/TC %Xshell% ^| findstr "Xshell.exe"') do set Ftime=%%S
set fctime=%Ftime:~0,4%-%Ftime:~5,2%-%Ftime:~8,2%
date %fctime%
echo 修改系统日期完成

::启动Xshell程序
start "" %Xshell%
echo 等待Xshell启动中
::等待xshell启动完成
timeout /T 10 /NOBREAK
::ping 0.0.0.0 -n 5> nul
echo Xshell启动完成

::恢复系统日期
echo 恢复系统日期
date %cTime%
::ping 0.0.0.0 -n 5> null

::第二部分,为当前脚本创建.lnk快捷方式,放到用户桌面
::把原有的lnk快捷方式删掉,注意有的是在public桌面,有的是在当前user桌面
if exist "%PUBLIC%\Desktop\Xshell 7.lnk" (del /f /q "%PUBLIC%\Desktop\Xshell 7.lnk")
if exist "%USERPROFILE%\Desktop\Xshell 7.lnk" (del /f /q "%USERPROFILE%\Desktop\Xshell 7.lnk")

::由Xshell.bat创建的快捷方式,不存在才创建
set Desktop=%PUBLIC%\Desktop
if exist %Desktop%\Xshell.lnk goto:EOF
::切换到Xshell.bat脚本所在目录
cd /d %~dp0

::创建一个临时的vbs脚本, 写入以下内容.
::创建一个 wscript.shell 对象.
echo set wshell = WScript.CreateObject("WScript.Shell") > create_shortcut.vbs
::在 vbs 脚本中声明快捷方式路径及名称,放到用户桌面
echo file_lnk = "%Desktop%\Xshell.lnk" >> create_shortcut.vbs
::创建一个 shortcut 对象.
echo set shortcut = wshell.CreateShortcut(file_lnk) >> create_shortcut.vbs
::下面开始设置 shortcut 对象的属性.
::1. 将目标路径设置为当前批处理脚本 Xshell7.bat
echo shortcut.TargetPath = "%cd%\Xshell7.bat" >> create_shortcut.vbs
::2. 为 Xshell.bat 设置参数(当然这里不需要)
:: echo shortcut.Arguments = "A B C" >> create_shortcut.vbs
::3. 将 "Xshell.bat所在目录" 设置为起始目录
::   注意这里双写百分号用来避免百分号被转义 (即双写百分号表示单个 "%").
echo shortcut.WorkingDirectory = "%%cd%%" >> create_shortcut.vbs
::4. 添加快捷方式描述 (可选).
echo shortcut.Description = "Powerful TELNET/SSH terminal emulator" >> create_shortcut.vbs
::5. 添加快捷方式图标 (可选).
echo shortcut.IconLocation = %Xshell% >> create_shortcut.vbs
::6. 保存 vbs 脚本.
echo shortcut.Save >> create_shortcut.vbs

::执行vbs脚本.
cscript create_shortcut.vbs
::删除临时的vbs脚本.
del /f /q create_shortcut.vbs
exit

Xftp7.bat

@echo off
color 3e
title Xftp启动器
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

::获取Xftp启动程序路径
set Xftp="D:\Program Files (x86)\NetSarang\Xftp 7\Xftp.exe"
::set Xftp=
::如果上边未设置Xftp变量值,那么会自动去查找当前已安装的Xftp路径
if not defined Xftp (
	for /F "delims=" %%T in ('where Xftp') do set Xftp="%%T"
)
::如果上边两处都没有得到Xftp路径,那么就由用户手动输入
if not defined Xftp (
	echo 请提供Xftp启动程序路径
	set /P Xftp=
)
if not defined Xftp (
	echo 拜拜我不干了!
	exit
)

::在更改系统日期前,先获取系统当前日期
set cTime=%date:~0,4%-%date:~5,2%-%date:~8,2%
::修改系统日期
for /F "delims=" %%S in ('dir ^/TC %Xftp% ^| findstr "Xftp.exe"') do set Ftime=%%S
set fctime=%Ftime:~0,4%-%Ftime:~5,2%-%Ftime:~8,2%
date %fctime%
echo 修改系统日期完成

::启动Xftp程序
start "" %Xftp%
echo 等待Xftp启动中
::等待Xftp启动完成
timeout /T 10 /NOBREAK
::ping 0.0.0.0 -n 5> nul
echo Xftp启动完成

::恢复系统日期
echo 恢复系统日期
date %cTime%
::ping 0.0.0.0 -n 5> null

::第二部分,为当前脚本创建.lnk快捷方式,放到用户桌面
::把原有的lnk快捷方式删掉,注意有的是在public桌面,有的是在当前user桌面
if exist "%PUBLIC%\Desktop\Xftp 7.lnk" (del /f /q "%PUBLIC%\Desktop\Xftp 7.lnk")
if exist "%USERPROFILE%\Desktop\Xftp 7.lnk" (del /f /q "%USERPROFILE%\Desktop\Xftp 7.lnk")

::由Xftp.bat创建的快捷方式,不存在才创建
set Desktop=%PUBLIC%\Desktop
if exist %Desktop%\Xftp.lnk goto:EOF
::切换到Xftp.bat脚本所在目录
cd /d %~dp0

::创建一个临时的vbs脚本, 写入以下内容.
::创建一个 wscript.shell 对象.
echo set wshell = WScript.CreateObject("WScript.Shell") > create_shortcut.vbs
::在 vbs 脚本中声明快捷方式路径及名称,放到用户桌面
echo file_lnk = "%Desktop%\Xftp.lnk" >> create_shortcut.vbs
::创建一个 shortcut 对象.
echo set shortcut = wshell.CreateShortcut(file_lnk) >> create_shortcut.vbs
::下面开始设置 shortcut 对象的属性.
::1. 将目标路径设置为当前批处理脚本 Xftp7.bat
echo shortcut.TargetPath = "%cd%\Xftp7.bat" >> create_shortcut.vbs
::2. 为 Xftp.bat 设置参数(当然这里不需要)
:: echo shortcut.Arguments = "A B C" >> create_shortcut.vbs
::3. 将 "Xftp.bat所在目录" 设置为起始目录
::   注意这里双写百分号用来避免百分号被转义 (即双写百分号表示单个 "%").
echo shortcut.WorkingDirectory = "%%cd%%" >> create_shortcut.vbs
::4. 添加快捷方式描述 (可选).
echo shortcut.Description = "Xftp: Secure file transfer software for MS Windows Platform." >> create_shortcut.vbs
::5. 添加快捷方式图标 (可选).
echo shortcut.IconLocation = %Xftp% >> create_shortcut.vbs
::6. 保存 vbs 脚本.
echo shortcut.Save >> create_shortcut.vbs

::执行vbs脚本.
cscript create_shortcut.vbs
::删除临时的vbs脚本.
del /f /q create_shortcut.vbs
exit

只需要替换脚本中的 XShell7和Xftp7的安装目录(XShell.exe和Xftp的目录)即可。

完了直接桌面点击脚本文件。文章来源地址https://www.toymoban.com/news/detail-733386.html

运行命令

到了这里,关于IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA部署项目到tomcat运行成功但是页面404的两种原因

    当时我遇到的问题就是明明部署成功的项目却连index.jsp都访问不了报404。在网上搜索了很多的答案都没有解决。直到后面我才发现是我部署在tomcat中的项目有问题,如图 正确的操作应该是部署该项目的War包而不是直接将这个项目直接放到Tomcat中的deployment中去。 而WAR包需要在

    2024年02月11日
    浏览(34)
  • idea将普通项目更改为maven项目的两种方式

    今天写demo的时候发现自己建的项目不是maven项目,建时忘记了,demo已经写了很多了,于是找了几种普通项目更改成maven项目的方法。 右键工程文件,新建文件pom.xml,并填写好内容。 在pom.xml 文件上右键 Add as Maven Project。 3.idea自己导入maven。

    2024年02月15日
    浏览(33)
  • [MapReduce程序编写运行打包 ]

    目录 🍀🍁前言: 🍀🍁编写MapReduce程序 🍀🍁代码中提交作业示意。 🍀🍁打包MapReduce程序 🍀🍁使用Eclipse打包MapReduce程序 🍀🍁使用Maven打包MapReduce程序 在pom.xml文件中,添加以下插件配置: 🍀🍁打包第三种方式: 🍀🍁部署MapReduce程序 🍀🍁可以使用hadoop fs命令或者Ha

    2024年02月11日
    浏览(30)
  • IDEA中使用Tomcat的两种方式:集成本地Tomcat&使用Tomcat Maven插件

    在IDEA中创建完一个Maven Web项目,并补齐了目录以后,准备使用Tomcat时,就需要在自己创建的项目中去部署Tomcat,前文已经介绍了如何创建Maven Web,所以这里就不多加赘述,直接讲述部署Tomcat的方法 这种方法比较复杂,但是非常适用于tomcat7以上的高版本,且一定不会报错 首先

    2023年04月08日
    浏览(46)
  • vscode怎么运行程序代码的两种方法

    VSCode要运行程序的代码,大致要分为两种情况而定,一种是前端的代码,另一种是后端的代码。 后端代码 在VSCode中,后端代码的运行,可以从VSCode打开终端,然后使用命令行工具,使用命令来运行后端代码程序,比如Python的就可以使用命令:python file.py;Golang就可以使用:

    2024年04月17日
    浏览(28)
  • Java 获取小程序码的两种方式

    目前小程序推出了自己的识别码,小程序码, 圆形的码看起来比二维码好看。 本文总结微信小程序的获取小程序二维码的接口开发。官方地址 主要内容摘抄自微信小程序的API文档,java接口开发是自己总结开发。 通过后台接口可以获取小程序任意页面的二维码,扫描该二维

    2024年02月14日
    浏览(27)
  • IDEA引入本地jar包的两种方法(idea程序引入和maven)

    公司买的第三方物联网设备,对接数据信息,需要引入他们自己的jar包进行开发。 1.打开idea找到项目结构 2.继续点击模块 3.继续点击+ 4.然后选择需要导入的jar包,点击完成,引用,就可以了 1.找到jar包所在文件夹,打开命令行界面cmd 2.运行命令 文件名称(文件地址)path-to-fi

    2024年04月10日
    浏览(37)
  • 在linux环境下编译运行OpenCV程序的两种方法

    原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了。 在谷歌和上StackOverFlow查看相关问题解答之后,我下面就介绍Command Line和CMake两种方式。 首先我先粘上我测试的代码吧,文件名为

    2024年02月16日
    浏览(25)
  • 微信小程序中的两种页面跳转方式

    方式一(声明式导航): 利用navigator/navigator url:要跳转页面的地址 open-type:要打开的页面的类型 (不在底部导航中添加的为非导航页面,在的为导航页面)  非导航页面跳转过去后左上角会出现返回箭头,导航页面则没有 index页面   home页面  方式二(编程式导航): 通过触摸事件

    2024年01月19日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包