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

news2024/11/26 16:35:05

参考博客

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

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

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

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

1、编译打包

注意:

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

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

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

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

2、File -> Project Structure -> Artifacts

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

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

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

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

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

运行命令

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Alfred v5.1.2(Mac应用快速启动)

Mac效率办公软件哪个好?Alfred是一款Mac电脑上的快速启动和工作流自动化工具,它可以帮助用户快速访问文件、应用程序、web搜索和系统工具,提高工作效率。以下是Alfred的特点: 快速启动:用户可以通过Alfred快速启动应用…

[k8s] 常见yml配置和详细解释

在 Kubernetes (K8s) 中,常见的 YAML 文件配置包括: 文章目录 PodDeploymentServiceIngressConfigMapSecretVolume访问模式 StatefulSetDaemonSetJob容器的重启策略 ConJob Pod apiVersion: v1 kind: Pod metadata:name: my-pod # Pod 的名称labels:ap…

使用命令行创建一个vue项目卡住不动如何解决

问题 在使用命令去创建一个vue项目, 出现下面卡住不动的一个状态。 解决方案一 首先先ctrlc停止进入创建好的项目文件手动输入npm install 、npm run dev如果npm run dev 的时候 出现 ‘vite’ 相关的错误查看node版本是否是最新的稳定版本node -v查看安装源是否…

国家网络安全周 | 天空卫士CEO刘霖在《中国网信》杂志发表署名文章

由中共中央网络安全和信息化委员会办公室、中华人民共和国国家互联网信息办公室主管的《中国网信》2023年第9期总第21期,在2023年国家网络安全宣传周开幕式时同期发布。《中国网信》杂志致力于宣传解读中央网络安全和信息化委员会及其办公室的重大决策部署和重点工作…

创建HTTP请求的几种方式

一. HTML表单标签创建 form 的重要参数: action: 构造的 HTTP 请求的 URL 是什么. method: 构造的 HTTP 请求的 方法 是 GET 还是 POST (form 只支持 GET 和 POST). input 的重要参数: type: 表示输入框的类型. text 表示文本, password 表示密码, submit 表示提交按钮. name…

青大数据结构【2013】

关键字: 邻接表空间复杂度、求无向图连通分量(BFS、DFS)、B树根节点最小关键字、平均查找长度最小的排序、二叉树排序叶子结点次序不变、不同次序建立二叉排序树及中序遍历、直接插入排序特点、强连通分量、邻接矩阵邻接表、折半查找判定树、…

Blender批量修改名称

假如在Blender里按顺序添加了多个mesh,名字后缀按照数字1,2,3…编号,此时又要插入一个新的mesh,那么这个mesh之后的其它mesh名字都要加1,此时该怎么办呢? 比较简单的办法是把新mesh后面的mesh名称一个一个手动加1&…

软件工程知识总结梳理

🔥🔥宏夏Coding网站,致力于为编程学习者、互联网求职者提供最需要的内容!网站内容包括求职秘籍,葵花宝典(学习笔记),资源推荐等内容。在线阅读:https://hongxiac.com&…

密码学【一】

前言 在区块链的整个体系中大量使用了密码学算法,比如用于 PoW 的哈希算法,用于完整性验证的 Merkle Tree,用于交易签名与验证的数字签名算法,用于隐私保护的零知识证明等等。 可以说密码学是保证区块链安全的基石,而区…

YOLOv5算法改进(17)— 更换损失函数(EIoU、AlphaIoU、SIoU和WIoU)

前言:Hello大家好,我是小哥谈。损失函数(loss function)是机器学习中用来衡量模型预测值与真实值之间差异的函数。它用于度量模型在训练过程中的性能,以便优化模型参数。在训练过程中,损失函数会根据模型的…

C# 扫描并读取图片中的文字(.NET Core)

本文介绍如何通过C# 程序来扫描并读取图片中的文字,这里以创建一个.Net Core程序为例。下面是具体步骤,供参考。 程序测试环境: Visual Studio版本要求不低于2017 图片扫描工具:Spire.OCR for .NET 图片格式:png&…

LCP 50. 宝石补给

文章目录 Tag题目来源题目解读解题思路方法一:模拟 写在最后 Tag 【模拟】【数组】 题目来源 LCP 50. 宝石补给 题目解读 根据 operations 数组将 x 勇士的一半宝石(向下取整)赠送给 y 勇士,最后输出拥有最多宝石的勇士与拥有最…

mac电脑版矢量绘图推荐 Sketch for mac最新中文

Sketch软件特色 1、数字设计工具包 在Sketch中使用暗模式查找焦点。点亮灯光,失去分心,看着你的设计变得生动,让你专注于最重要的事情 - 你的工作。 2、为未来重新设计 Sketch 带来全新外观和更多。完全重新设计的界面使设计过程比以往更加…

【云计算】虚拟私有云 VPC

虚拟私有云 VPC 1.前言1.1 基本介绍1.2 VPC 的作用1.3 VPC 的适用人群 2.VPC 基本概念2.1 VPC 相关基本概念2.2 其他相关基本概念 3.VPC 通信场景3.1 VPC 内部互通3.2 VPC 间互通3.2.1 对等连接3.2.2 Transit Gateway 或者云联网 3.3 访问 Internet3.3.1 Internet 网关3.3.2 NA…

Jmeter系列-监听器Listeners的介绍(9)

简介 用来动态的监控Jmeter执行测试的过程,实时查看测试结果。 JMeter 监听器 查看结果树 查看结果树,显示取样器请求和响应的细节以及请求结果,包括消息头,请求的数据,响应的数据,方便接口调试&#xf…

飞行动力学 - 第27节-短周期模态机理及影响参数 之 基础点摘要

飞行动力学 - 第27节-短周期模态机理及影响参数 之 基础点摘要 1. 短周期的近似2. 短周期特性随重心变化趋势3. 参考资料 1. 短周期的近似 短周期模态仅持续数秒,u几乎不变,故可设 Δ u Δ u ˙ 0 \Delta u \Delta \dot{u} 0 ΔuΔu˙0&#xff0c…

Vue3+ElementUI使用

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><meta name"viewport" content"initial-scale1.0,maximum-scale1.0,minimum-scale1.0,user-scalable0, widthdevice-width"/><!-- 引入样式 --><lin…

Markdown编辑器语法说明

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

数据库计算机三级等级考试--数据库技术相关知识点和笔记

数据库计算机三级等级考试–数据库技术 计算机三级等级考试笔记,是博主通过计算机三级数据库技术考试的相关笔记&#xff0c;此篇博客&#xff0c;不仅适合需要考计算机三级考试的各位考生&#xff0c;也适合在职场处理关于数据库的部分操作&#xff0c;个人认为算是一篇使用性…

C++下基于蚁群算法解决TSP问题

c求tsp问题_蚁群算法-求解TSP问题_PM熊叔的博客-CSDN博客 一、原理 二、代码