2019独角兽企业重金招聘Python工程师标准>>>

唯品会分布式调度Saturn的开发文档见:https://vipshop.github.io/Saturn/#/zh-cn/3.0/quickstart

这里面说要安装node.js 8.7.0+跟npm 5.4.2+

但其实node.js 8.7.0就已经包含了npm 5.4.2,首先下载node.js 8.7.0

wget https://nodejs.org/dist/v8.7.0/node-v8.7.0-linux-x64.tar.gz

解压tar -xzvf node-v8.7.0-linux-x64.tar.gz

mv node-v8.7.0-linux-x64 /usr/local/node-8.7

cd /usr/local/node-8.7/

建立软链接

ln -s /usr/local/node-8.7/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

ln -s /usr/local/node-8.7/bin/node /usr/local/bin/node

修改vim /etc/profile

PATH=/usr/local/node-8.7/bin:$PATH

export PATH

保存退出,source /etc/profile

[root@host2 node-8.7]# node -v
v8.7.0
[root@host2 node-8.7]# npm -v
5.4.2

这样我们可以看到node跟npm就装好了。

因为我是从docker启动的,而这里需要有一个docker-compose,这里我们需要来安装docker-compose.

要安装docker-compose需要先安装pip.

yum -y install epel-release

yum -y install python-pip

升级pip

pip install --upgrade pip

查看pip版本号

[root@host2 node-8.7]# pip -V   (这里是大写的V)
pip 18.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

这个时候用pip来安装docker-compose是肯定会报错的

pip install docker-compose

ipapython 4.5.0 requires pyldap>=2.4.15, which is not installed.
ipapython 4.5.0 has requirement dnspython>=1.15, but you'll have dnspython 1.12.0 which is incompatible.

Cannot uninstall 'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

根据提示我们来安装pyldap也一样会报错

pip install pyldap

Cannot uninstall 'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

ipapython 4.5.0 has requirement dnspython>=1.15, but you'll have dnspython 1.12.0 which is incompatible.

Cannot uninstall 'python-ldap'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

根据提示dnspython版本不对,要进行升级

pip install --ignore-installed dnspython

安装yum install python-devel

安装yum install openldap-devel

升级pip install --ignore-installed python-ldap

安装pip install pyldap

现在可以安装docker-compose了

pip install docker-compose --ignore-installed requests

[root@host2 node-8.7]# docker-compose -version
docker-compose version 1.23.1, build b02f130

修改saturn-docker目录下的quickstart-docker.sh

vim quickstart-docker.sh

把docker-compose up改成从后台启动

nohup docker-compose up &

保存退出。

当然我们还要安装docker(如果你没装的话)

yum install docker

修改quickstart-docker.sh为可执行文件

chmod 755 quickstart-docker.sh

运行该文件

./quickstart-docker.sh

我们在浏览器就可以看到管理界面了(端口号9088)

查看docker进程可以看到他启了什么

[root@host1 saturn-docker]# docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                            NAMES
d200d64a2b02        saturn/demo-init        "/saturn-executor/..."   27 hours ago        Up 25 hours                                                          demo-init
0a92685fb26c        saturn/saturn-console   "java -DSATURN_CON..."   27 hours ago        Up 25 hours         0.0.0.0:2181->2181/tcp, 0.0.0.0:9088->9088/tcp   saturn_console
08f66a0247e9        saturn/saturn-db        "docker-entrypoint..."   27 hours ago        Up 25 hours         33060/tcp, 0.0.0.0:3308->3306/tcp                saturn_db

Java开发Job填坑

新建一个maven项目(非springboot项目)

pom

<dependencies><dependency><groupId>com.vip.saturn</groupId><artifactId>saturn-job-api</artifactId><!-- 修改成指定版本 --><version>3.1.0</version></dependency>
</dependencies>
<build><plugins><plugin><groupId>com.vip.saturn</groupId><artifactId>saturn-plugin</artifactId><!-- 版本与saturn-job-api一致 --><version>3.1.0</version></plugin></plugins>
</build>

java类

package com.guanjian;import com.vip.saturn.job.AbstractSaturnJavaJob;
import com.vip.saturn.job.SaturnJobExecutionContext;
import com.vip.saturn.job.SaturnJobReturn;/*** Created by Administrator on 2018/11/5.*/
public class DemoJob extends AbstractSaturnJavaJob {@Overridepublic SaturnJobReturn handleJavaJob(String s, Integer integer, String s1, SaturnJobExecutionContext saturnJobExecutionContext) throws InterruptedException {return new SaturnJobReturn("我是分片" + integer + "处理结果");}
}

Windows开发环境下修改C:\Windows\System32\drivers\etc\hosts

添加192.168.5.129 console的映射(很重要,IP地址为你安装的服务器,教程上没有说)

在linux系统下同样要在/etc/hosts下添加该映射

然后刷新网卡service network restart

添加maven参数

saturn:run -Dnamespace=saturn-it.vip.com -DexecutorName=exec01 -DVIP_SATURN_CONSOLE_URI=http://192.168.5.129:9088

依据教程我就不多说了,可以运行起来

打包:(在Windows CMD命令行下)

E:\saturntest>mvn saturn:zip
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< com.guanjian:saturntest >-----------------------
[INFO] Building saturntest 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] >>> saturn-plugin:3.1.0:zip (default-cli) > package @ saturntest >>>
Downloading from central: https://repo.maven.apache.org/maven2/com/vip/saturn/saturn-job-api/3.1.0/saturn-job-api-3.1.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/com/vip/saturn/saturn-job-api/3.1.0/saturn-job-api-3.1.0.pom (463 B at 241 B/s)
Downloading from central: https://repo.maven.apache.org/maven2/com/vip/saturn/saturn-job-api/3.1.0/saturn-job-api-3.1.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/com/vip/saturn/saturn-job-api/3.1.0/saturn-job-api-3.1.0.jar (16 kB at 16 kB/s)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ saturntest ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ saturntest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ saturntest ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory E:\saturntest\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ saturntest ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ saturntest ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ saturntest ---
[INFO] Building jar: E:\saturntest\target\saturntest-1.0-SNAPSHOT.jar
[INFO]
[INFO] <<< saturn-plugin:3.1.0:zip (default-cli) < package @ saturntest <<<
[INFO]
[INFO]
[INFO] --- saturn-plugin:3.1.0:zip (default-cli) @ saturntest ---

[INFO] Packing the saturn job into a zip file: version:3.1.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 43.362 s
[INFO] Finished at: 2018-11-06T15:41:16+08:00
[INFO] ------------------------------------------------------------------------

此时我们可以看到

在target目录下多了一个zip包。剩下的坑还有待发现(待续)

转载于:https://my.oschina.net/u/3768341/blog/2872467

填坑唯品会分布式调度Saturn相关推荐

  1. 传统行业转型微服务的挖坑与填坑

    原文:传统行业转型微服务的挖坑与填坑 一.微服务落地是一个复杂问题,牵扯到IT架构,应用架构,组织架构多个方面 在多家传统行业的企业走访和落地了微服务之后,发现落地微服务是一个非常复杂的问题,甚至都不 ...

  2. java中的saturn_Saturn分布式调度平台系列:高屋建瓴之设计原理简析

    由于业务系统中使用了Saturn作为分布式调度平台并且计划对其作二次开发,因此看了官方文档及源码,简单做了梳理与总结.Saturn是唯品会开源的一款定时任务调度平台,相对于传统的Spring Batc ...

  3. 主流的分布式调度框架、Elastic-job简介、功能和常用介绍

    主流的分布式调度框架.Elastic-job简介.功能和常用介绍 主流的分布式调度框架 Elastic-job简介 功能 常用 主流的分布式调度框架 elastic-job:由当当网基于quartz ...

  4. 王者归来:分布式调度解决方案 ElasticJob 重启!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 你会误认为 ElasticJob 只是作业管控平台么?创 ...

  5. 一个机械研究生在计算机与机械之间的徘徊与思考-(下)之填坑

    现已研三(上 ),自问自答一下当初问机械研究生(智能制造方向)到底该学什么,主力该放在学术研究上还是系统开发上?先说现状,已签工作(华为IE工程师),也拿了国奖.研一上发一篇小论文,研一下一篇,研二上 ...

  6. 面向大数据的分布式调度

    一.调度 从上个世纪50年代起,调度问题的研究就受到数学.运筹学.工程技术学等领域科学的重视[1],人们主要从数学的角度来研究调度问题,调度问题也同样被定义为"分配一组资源来执行一组任务&q ...

  7. 填坑之PHP的yield和协程在一起的日子里

    首先是,这是我第一次把公众号文章复制粘贴到github来. 其次是,很久很久之前,我挖了一个yield的一个坑,自己挖的坑自己填,不然迟早会把自己埋掉. 最后是,如果想看之前那个坑,请发送" ...

  8. nginx负载均衡两台服务器文件,Nginx之负载均衡 :两台服务器均衡(填坑)

    第一步,两台服务器都要安装好Nginx和Tomcat,我这边的安装的是Nginx 1.16.1 Tomcat9: 第二步,安装完成之后,选择你要做均衡的那台服务器,,打开其Nginx 配置文件,在se ...

  9. 国产最强分布式调度,它回来了

    导读: 调度(Scheduling)在计算机领域是个庞大概念,CPU 调度.内存调度.进程调度等都可称之为调度.它是指在特定的时机分配合理的资源去处理预先确定的任务,用于在适当的时机触发一个包含业务逻 ...

  10. 众里寻TiDB千百度,蓦然回首,这些填坑记录还在灯火阑珊处

    前言 俗话说得好,架构重构一时爽,一直重构一直爽,又到了架构重构的时节:俗话又说了,饱暖思X欲,在产品技术架构稳定运行了好久之后,又迎来了躁动的撩拨,重构之心蠢蠢欲动:俗话最后说了,技术有风险,重构需 ...

最新文章

  1. SQL Server 2008中获取数据库所有表及其字段名称、类型、长度的SQL
  2. python二十三:装饰器 ?
  3. LeetCode——Same Tree(判断两棵树是否相同)
  4. Linux下GCC的安装,GCC链接外部库
  5. Java 的这 100 个坑,我发誓不会再踩了
  6. 深度解读:GAN模型及其在2016年度的进展
  7. 面试精讲之面试考点及大厂真题 - 分布式专栏 03 阿里华为资深HR面试套路全揭晓
  8. pads 文本不能修改_修改PDF文件很难?其实很简单,只是你少了一个好用的PDF编辑器...
  9. POP Animation 和 layoutSubviews 的冲突
  10. 【数学建模】历年全国大学生数学建模竞赛题目+定位分析
  11. 三角矩阵的逆矩阵怎么求_「线性代数」求可逆矩阵P,使得相似矩阵对角化
  12. 四川行无疆电商讲解拼多多电商产品销量如何清零
  13. chmod 755 filename
  14. 鲸探发布点评:8月22日发售《孔子圣迹图》系列数字藏品
  15. 安装nginx--银河麒麟V10(Kylin Linux Advanced Server release V10 (Tercel))操作系统
  16. nowcoder20619 禁书目录
  17. (二)使用Keadm进行部署KubeEdge
  18. 使用笔记:AWTK中文键盘按键字体加大
  19. 论文阅读:A Taxonomy and Evaluation of Dense Light Field Depth Estimation Algorithms
  20. 【阿里云】第一次进行域名注册、备案以及使用全过程

热门文章

  1. Atitit 如何工作积极的心态积极起来
  2. Atitit 设计模式与算法,与流程的关系
  3. paip. JAVA快速开发IDE与JSF技术
  4. 兴业证券:主动偏股型基金评价体系
  5. 【交易技术前沿】券商买方投顾系统建设实践
  6. UBS缘何突然抛弃智能投顾?全球财富管理霸主的数字化转型启示(上)
  7. 如何保障“双11”期间亿万买家和卖家愉快地聊天
  8. 从单体迈向Serverless的避坑指南
  9. oracle undo head,一次悬挂事务的处理思路
  10. 【图像加密】基于matlab GUI Arnold置乱图像加密解密【含Matlab源码 1239期】