Alibaba Cloud ToolKit可以帮助开发者在IDE中将本地应用程序一键部署到阿里云服务器或自有服务器上,可以在IDE中打开服务器的命令行终端,可以直接上传文件到服务器上,使用该toolkit做开发调试非常的方便,官网给出该toolkit包含三大功能:
1.应用部署
2.内置终端Terminal
3.文件上传
--------------------------------------------------------------------------------------------
本文以在IDEA中使用为例,不考虑eclipse。
一.软硬件要求
JDK1.8
IDEA2018.3或以上版本
二.安装过程
是如果符合第一项要求,请跳过该步骤,否则,请继续:
1.安装IDEA2018.3.3
下载地址:https://www.jetbrains.com/idea/download/#section=windows
双击安装运行,注意,如果之前安装了其他低版本的IDEA,可勾选下图所示选项,保留配置:
安装完成后,请不要打开IDEA,激活IDEA(可网上寻找),如果不幸打开,记得打开是选择从已有配置导入。
注:选择从已有配置导入,导入的包含之前设置的快捷键,maven配置,jdk,sdk,安装的插件(如scala,maven helper,alibaba cloud toolkit等等),项目信息,其他的设置(如隐藏文件)等等。
2.安装scala插件
scala插件需要和IDEA匹配,之前的scala插件是不可以用的。
插件下载地址:https://plugins.jetbrains.com/plugin/1347-scala
要选择和IDEA版本对于的版本,下载完成后安装插件,如下图选择下载的插件,安装完成后需要重启IDEA使插件生效。
3.安装Alibaba Cloud Toolkit
下载地址:https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit
选择下载最新版本,先前的版本功能不全。下载完成后插件的安装和scala插件安装一样,此处略。
三.使用方法
安装完成后工具栏会有一个阿里云的按钮,下述使用不基于阿里云服务器,基于自有服务器。
先配置服务器:
在弹出的窗口中按下述步骤输入主机ip,用户名,密码即可:
添加完成后的界面如下所示:
功能演示如下:
1.上传文件
点击要上传到的主机后的upload按钮,如下:
上传完成后会显示上传成功与否的消息:
紧接着可以在服务器上查看是否有上传的文件。
2.内置命令行终端
点击主机后的Terminal按钮即登录服务器命令行终端,可在上输入各种命令:
3.应用部署
右击要部署的工程:Alibaba Cloud->Deploy to Host,进行部署配置:
配置完成后点击Run即可以完成应用的部署,在Yarn查看应用是否部署成功:
至此应用部署完成。
=========================================================================
以下为update:
修改1-修改应用运行方式,运行命令在shell脚本中
修改运行时的Command配置为:
nohup /home/hades/mms/run.sh > /home/hades/mms/nohup.log 2>&1 &
启动日志再nohup.log中,如要在IDEA中看到启动日志,只需 /home/hades/mms/run.sh即可。
修改2-新增运行脚本run.sh
run.sh脚本内容如下:
#!/bin/bash
echo "******job execution parameter specified,it will use default set if not overwrite..."
##############################################################
app_name='MMS-Measure-Compute'
def_parallel=1
exe_model=-d
yn=1
yjm=1024
ytm=1024
main_class=com.miaoke.flink.entry.Launcher
jar_path=/home/hades/mms/hades-mms-1.0.jar
################################################################
run_string="$exe_model -p $def_parallel -m yarn-cluster -yn $yn -yjm $yjm -ytm $ytm -ynm $app_name -c $main_class $jar_path"
echo "******job execute parameters******$run_string"
echo "******check and kill previous running job..."
job_info=`yarn application --list|grep $app_name|grep "RUNNING"`
if [ -z "$job_info" ];then
echo "******no $app_name running job exists..."
else
application_id=${job_info%$app_name*}
if [ -z "$application_id" ];then
echo "******no $app_name running job exists..."
else
echo "******there is a running job,kill $app_name running job first, applicationId...$application_id"
yarn application -kill $application_id
fi
fi
echo "******change execution user to [root] and execute job..."
sudo su - root << EOF
echo "******run flink CLI program...[RUN COMMAND]-/opt/flink-1.6.1/bin/flink run $run_string"
/opt/flink-1.6.1/bin/flink run $run_string
if [ $? -eq 0 ]; then
echo "******flink CLI programe is successfully START,you can see running details on YARN..."
else
echo "******some error was occured,check the flink or nohup log..."
fi
exit;
EOF
完。