Saturn Console部署

这一节会介绍如何从零开始安装和部署Saturn Console。

1 部署前准备

1.1 硬件准备

Linux服务器至少1台,服务器数量视乎计划的Saturn Console的集群及ZK集群的大小。

1.2 软件准备

JDK : 1.7+

ZooKeeper: 3.4.6+ (建议使用ZooKeeper 3.4.6 (官网下载链接),更高版本未经验证)

nodejs: 7.8.0+

2 开始部署

2.1 安装ZooKeeper

按照官方文档进行安装。

对于生产环境,推荐使用5台服务器组成的集群(1 Leader + 4 Follower)。

推荐的ZooKeeper配置参看这里

2.2 安装MySQL

当前Saturn支持2个数据库:MySQL和H2。H2主要用于测试,生产环境推荐使用MySQL。MySQL主要用于存储作业配置及配置历史,系统配置,以及namespace及zk集群信息等等。

关于MySQL的版本,没有任何要求。

安装MySQL,遵循MySQL的官方文档进行这里不作说明。

2.3 数据准备

下面操作是针对MySQL,对于H2可以仿照类似的做法。

2.3.1 database创建

数据库的名字可以自行指定。下面是个例子:

CREATE DATABASE saturn CHARACTER SET utf8 COLLATE utf8_general_ci;

2.3.2 schema创建

从这里获取最新的schema.sql。如果希望获得其他版本的schema,可以在源代码的其他tag上获取。

执行schema.sql。

2.4 安装Console

2.4.1 下载

从https://github.com/vipshop/Saturn/releases 中点击最新版本的“Console Zip File”,下载得到saturn-console-{version}-exec.jar,将之放到合适的目录。

本教程以3.x为例。

2.4.2 启动Console

nohup java -DSATURN_CONSOLE_DB_URL=jdbc:mysql://localhost:3306/saturn -DSATURN_CONSOLE_DB_USERNAME=your_username -DSATURN_CONSOLE_DB_PASSWORD=your_password -jar saturn-console-{version}-exec.jar &

访问http://{ip}:9088 即可看到saturn控制台。其中ip指的是console安装的机器的IP。

日志会输出到路径/apps/logs/saturn_console/saturn.console.log

2.4.2.1 JVM参数推荐

注意,如果是在生产环境启动console,建议增加一些JVM启动参数:

JDK 1.7:

-Xmx2G -Xms2G -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+ExplicitGCInvokesConcurrent -Xloggc:${HOME}/gc_zk.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:ErrorFile=${HOME}/hs_err_%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}

JDK 1.8:

-Xmx2G -Xms2G -XX:MetaspaceSize=256m -MaxMetaspaceSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+ExplicitGCInvokesConcurrent -Xloggc:${HOME}/gc_zk.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:ErrorFile=${HOME}/hs_err_%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${HOME}
2.4.2.2 启动参数描述
参数名 是否支持环境变量/JVM参数 描述 是否必须
VIP_SATURN_CONSOLE_CLUSTER 都支持 Console集群id N
SATURN_CONSOLE_DB_URL 都支持 DB 连接url Y
SATURN_CONSOLE_DB_USERNAME 都支持 DB用户名 Y
SATURN_CONSOLE_DB_PASSWORD 都支持 密码 Y
saturn.console.log JVM参数(-D) 日志目录。默认是/apps/logs/saturn_console N
VIP_SATURN_DASHBOARD_REFRESH_INTERVAL_MINUTE 都支持 Dashboard后台刷新频率,单位是分钟。默认值是1。 N
server.port JVM参数(-D) 启动端口,默认9088 N
authentication.enabled JVM参数(-D) 是否启用用户认证。默认为false。详情参阅认证和授权一节 N
authorization.enabled.default JVM参数(-D) 是否默认启用用户鉴权。默认为false。详情参阅认证和授权一节 N
VIP_SATURN_DASHBOARD_NOT_RUNNING_WARN_DELAY_MS_WHEN_JOB_RUNNING 都支持 当job处于running时的job not running告警延时,单位是毫秒。默认值是2小时。 N

使用浏览器访问 http://localhost:9088 即可看到你的Saturn Console!

2.4.3 创建ZK集群

Executor会从ZK获取相应域的作业信息,并上报作业的运行状态到ZK。而一个Console(集群)可以管理多个ZK集群。下面会介绍如何在Console添加zk集群。假设我们要添加的zk集群id为test。

2.4.3.1 在系统配置绑定console与zk集群

在“系统配置”处的CONSOLE_ZK_CLUSTER_MAPPING,绑定console和zk集群,格式为{console_id}:{zk_cluster_id}。如果console启动没有指定VIP_SATURN_CONSOLE_CLUSTER,则使用default。

2.4.3.2 创建zk集群

点击“注册中心菜单”,点击“ZK集群管理”子菜单里面的“添加集群”按钮。输入ZK信息,如下:

添加完成后,会看到zk在线。

Note: 集群ID要用英文,不要使用中文或特殊符号

2.4.4 创建域

域是多个作业的管理单元,域与zk集群进行绑定,两者是多对一的关系。一个域只从属于一个zk集群。

在注册中心的“域管理”页面,添加域(namespace), 同时与zk cluster绑定。

创建完域,下一章会告诉你,如何创建一个Java作业。

2.5 关于Console的集群部署

为了实现Console的高可用性,我们都希望Console有多台服务器所组成。我们只需要在多台不同的服务器的环境变量中指定相同的VIP_SATURN_CONSOLE_CLUSTER即可,至于VIP_SATURN_CONSOLE_CLUSTER的值,由你自行指定,只是一个集群标识而已。

快速学习-Saturn Console部署相关推荐

  1. 快速学习-Saturn Executor部署

    Saturn Executor部署 Executor是作业的执行器.这一节将介绍如何将调试好的作业部署到Executor上面运行.关于如何开发调试作业,见"入门"一章. Execu ...

  2. Saturn Console部署踩坑总结

    照官网的关于  3.1.0  的文档介绍,一步步做,会遇到一些坑,下面做一下总结 1.修改默认的日志输出路径 官网上给的参数是:SATURN_CONSOLE_LOG,其实这个参数是无效的,官网文档应该 ...

  3. 快速学习-Saturn性能测试报告

    Saturn性能测试报告 1. 测试目的 评估zk集群可以负荷的域数量 zk参数调优 2. 测试环境 ZooKeeper Ensemble (5) Version: 3.4.6 server id r ...

  4. 快速学习-Saturn FAQ

    FAQ Q: Executor启动失败怎么办? A: executor启动失败,首先看提示是否参数问题,是否端口重用,如果都不是,根据控制台提示的路径,查看saturn-nohup.out的日志. 日 ...

  5. 快速学习-Saturn用户的认证与授权

    用户的认证与授权 从3.0.1起,Saturn Console支持用户的认证与授权. 1 认证 Saturn3.0.0开始,Console支持用户登录认证.但用户注册功能不在Scope里面,这意味着用 ...

  6. 快速学习-Saturn创建作业

    创建作业 1 登录 使用浏览器访问 saturn.vip.vip.com.如果启用了登录功能(-Dauthentication.enabled=true),会被重定向到CAS进行身份认证. 为了获得最 ...

  7. Saturn Console部署图文示例

    参考:https://vipshop.github.io/Saturn/#/zh-cn/3.0/saturn-console-deployment 1.确保JDK已经安装好,zookeeper和mys ...

  8. 快速学习-Saturn(英文版入门指引)

    Saturn Saturn is a platform created by VIP.com(唯品会) to provide a distributed, fault tolerant and hig ...

  9. 快速学习-Saturn Executor运维

    Executor运维 Saturn 3.0.0致力于让用户做到自运维:一方面为用户trouble shooting提供便利,另外一方面希望作为一站式平台去管理executor. 下面讲讲Saturn自 ...

最新文章

  1. 视频直播技术详解(3)编码和封装
  2. SVN+post-commit 搭建自动同步版本库
  3. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
  4. 14门Linux课程,打通你Linux的任督二脉!
  5. ipv4地址是几位二进制数_几张思维导图,让你清楚的知道ip地址怎么回事?
  6. Redis的哨兵(sentinel)模式
  7. Maven常用命令汇总
  8. 架构 简述负载均衡和CDN技术
  9. 三维几何图形创作方法(Geometry3D)之三
  10. windows11连接无线网后分享热点连接不上
  11. Python使用turtle绘图中设置小乌龟(画笔)旋转的角度turtle.setheading()
  12. 计算机的集成显卡是什么意思,IGD、PEG、PCI的含义,我的电脑是集成显卡该选哪一项...
  13. java int类型能表示的数值范围
  14. Redis 持久化——RDB 详解
  15. 国内银行应用软件项目外包模式探讨
  16. 【QT】Qt Compiler Detection(编译)
  17. android手机通讯录格式转换,手机通讯录小技巧,安卓手机通讯录转iPhone并不难,换机必学...
  18. HTML+CSS常用代码
  19. 基于步态能量图和CNN卷积神经网络的人体步态识别matlab仿真
  20. Parcelable接口

热门文章

  1. UT-890J ( USB -2- RS422/485 Cable )
  2. 怎么使用HTML<table>标签做表格
  3. 无法检测到信息服务器v6,仅 IPv6 不可用,请检查。 IPv6 状态(如何开启)Fail (尝试修复)...
  4. Linux乌班图系统,如何安装和配置mysql
  5. php导出数字0,php导出excel分析(phpexcel-避免数字前面的0消失)
  6. 钉钉---氚云常规表格数据操作 -----记录贴
  7. JXL操作Excel
  8. uniapp开发环境搭建
  9. MIKE 21 教程 1.3 网格搭建界面介绍之网格生成 (Mesh Generator 工具)
  10. php的源码怎么查看,php 查看页面源代码的实现代码(图文)