XShell7 + Xftp7 + IDEA 打包MapReduce程序到集群运行

参考博客

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

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

IDEA打包MapReduce程序

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

1、编译打包

2、File -> Project Structure -> Artifacts

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

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

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

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

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的目录)即可。

完了直接桌面点击脚本文件。

运行命令

注意:MapReduce程序的main方法中的路径参数 从 args[1] 开始,然后args[2] ... 不然mapreduce程序报错。

# hadoop jar jar包名 全限定名 参数1:对应main方法中的args[0] 参数2:对应main方法中的args[1]
hadoop jar HDFS.jar com/lyh/mapreduce/wordcount2/WordCountRunner.java /wcinput /wcoutput

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/130276.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode 画流程图

文章目录 1、安装插件 draw2、新建文件3、开始画图4、另存为图片 vscode可以画流程图了,只需要安装插件就可以了。 1、安装插件 draw 2、新建文件 3、开始画图 4、另存为图片

Linux编辑器vim

目录 一、vim的几种模式 1、命令模式 2、编辑/插入模式 3、底行模式 ①增加行号 ②分屏操作 ③不退出vim执行命令 4、替换模式 二、vim的常见命令 1、yy命令 2、p命令 3、dd命令 4、u命令 5、Ctrl r命令 6、shirtg命令 7、gg命令 8、shirt6命令 9、shirt4命…

(其他) 剑指 Offer 61. 扑克牌中的顺子 ——【Leetcode每日一题】

❓剑指 Offer 61. 扑克牌中的顺子 难度:简单 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大…

Qt应用开发(基础篇)——组合框容器 QGroupBox

一、前言 QGroupBox继承于QWidget,是一个带有标题的组合框架容器控件。 QGroupBox组合框容器自带一个顶部标题,一个面板。面板内部展示各种各样的部件,标题用来解释这些部件为什么集合在一起,并且支持键盘快捷方式切换部件焦点。比…

Android逆向——脱壳解析

“壳”是一种对程序进行加密的程序,“壳”形象地表现了这个功能。我们可以把被加壳的程序当成食物,而加壳程序就是在外面加上一层坚硬的外壳,防止别人去窃取其中的程序。加壳后的程序依然可以被直接运行。在程序运行时壳的代码先运行&#xf…

【C++】怎么接受未知数量的参数?

2023年9月8日,周五下午 目录 第一种方式:可变参数函数(Variadic Function)头文件使用方法详解va_start宏详解va_arg宏示例程序 第一种方式:可变参数函数(Variadic Function) 可变参数函数(Variadic Function)是一种可以接受不定数量参数的函…

静态代理和动态代理笔记

总体分为: 1.静态代理: 代理类和被代理类需要实现同一个接口.在代理类中初始化被代理类对象.在代理类的方法中调 用被代理类的方法.可以选择性的在该方法执行前后增加功能或者控制访问 2.动态代理: 在程序执行过程中,实用JDK的反射机制,创建代理对象,并动态的指定要…

STM32-HAL库07-软件SPI驱动0.96寸OLED

STM32-HAL库07-软件SPI驱动0.96寸OLED 一、所用材料: STM32VGT6自制控制板 STM32CUBEMX(HAL库软件) MDK5 二、所学内容: 通过HAL库配置四个GPIO输出口,对其进行软件模拟SPI发送规则,进而驱动OLED进行数…

C#__文件操作之FileInfo和DirectoryInfo

// 代码(含注释) class Program{static void Main(string[] args){// FileInfo 文件操作FileInfo myFile new FileInfo("D:\C#编程\文件操作之FileInfo和DirectoryInfo\TextFile1.txt");// 实例方法// myFile.CopyTo("D:\C#编程\文件操作…

企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图

功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外部供…

OpenCV(三十六):霍夫直线检测

1.检测直线的霍夫变换原理 2.检测直线函数HoughLines() 检测直线流程: Step1:将参数空间的坐标轴离散化。 Step2:将图像中每个非0像素通过映射关系求取在参数空间通过的方格 Step3:统计参数空间内每个方格出现的次数,选取次数大于某一值的方格作为表示直线的方格…

Prompt Tuning训练过程

目录 0. 入门 0.1. NLP发展的四个阶段: Prompt工程如此强大,我们还需要模型训练吗? - 知乎 Prompt learning系列之prompt engineering(二) 离散型prompt自动构建 Prompt learning系列之训练策略篇 - 知乎 ptuning v2 的 chatglm垂直领域训练记…

如何剪辑视频?方法来了,零基础也能学会!

“视频怎么剪辑呀,刚刚用录屏软件录制了一段视频,但是录进去了很多不需要的画面,需要进行修改,可是不知道视频怎么剪辑,有没有人知道剪辑视频的方法,推荐一下。” 剪辑视频是一门重要的技能,无…

DAY03_瑞吉外卖——公共字段自动填充新增分类分类信息分页查询删除分类修改分类

目录 1. 公共字段自动填充1.1 问题分析1.2 基本功能实现1.2.1 思路分析1.2.2 代码实现1.2.3 功能测试 1.3 功能完善1.3.1 思路分析1.3.2 ThreadLocal1.3.3 操作步骤1.3.4 代码实现1.3.5 功能测试 2. 新增分类2.1 需求分析2.2 数据模型2.3 前端页面分析2.4 代码实现2.5 功能测试…

为什么5G 要分离 CU 和DU?(4G分离RRU 和BBU)

在 Blog 一文中,5G--BBU RRU 如何演化到 CU DU?_5g rru_qq_38480311的博客-CSDN博客 解释了4G的RRU BBU 以及 5G CU DU AAU,主要是讲了它们分别是什么。但是没有讲清楚 为什么,此篇主要回答why。 4G 为什么分离基站为 RRU 和 BBU…

三维模型3DTile格式轻量化压缩模型变形浅析

三维模型3DTile格式轻量化压缩模型变形浅析 在对三维模型进行轻量化压缩处理的过程中,常常会出现模型变形的现象。这种变形现象多数源于模型压缩过程中信息丢失或误差累积等因素。以下将对此现象进行详细分析。 首先,我们需要了解三维模型轻量化压缩的…

无需编程经验,也能制作租车预约微信小程序,快速上手

现在,制作租车预约微信小程序不再需要编程经验,只需几个简单的步骤,您就可以拥有自己的租车预约微信小程序。在本文中,我们将介绍如何利用乔拓云网后台来制作租车预约微信小程序,并实现您所需的功能。 首先&#xff0c…

postgresql|数据库|数据迁移神器ora2pg的安装部署和初步使用

前言: 有的时候有需求需要迁移Oracle数据库的数据到postgresql,那么,其实可供选择的工具是比较多的,但从迁移效率,准确度这些角度来选择的话,无疑还是GitHub上的开源免费工具ora2pg比较合适的。 ora2pg主…

Python之线程(二)

一、线程同步和互斥锁 同一个资源,多人想用?排队啊! 现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题。 比如:教室里,只有一台电脑,多个人都想使用。天然的解决办法就是,在电脑旁边,大家排队。前一人使用完后,后一人再使用。再比如,上厕所排队。 二、线…

SpringBoot 基于 MongoTemplate 的工具类

一、 什么是MongoDB MongoDB基于分布式文件存储的数据库。由C语言编写。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。 他支持的数据结构非常松散,是类似json的bjson格式,因此…