1.下载zeus

阿里在github上已经不维护zeus了,在网上找到一个别人贡献的

https://github.com/michael8335/zeus2

下载下来

通过shell

rz命令上传到服务器

解压:> unzip zeus2-master.zip

将解压的文件夹移动到自己设定的目录:

> mv zeus2-master /zeus

2.配置zeus

1)切换到zeus目录,创建日志目录

>cd /zeus

>mkdir logs

>mkdir hdfs-upload-dir

>mdir run_job_dir

2)修改配置文件antx.properties

目录:

/zeus/web/src/main/filter/antx.properties

#环境配置,用来标记环境,可以配合Environment使用
zeus.env=test-env
zeus.loggingRoot=/zeus/logs
zeus.loggingLevel=warn
#任务执行文件夹,每次任务都会在此文件夹下新建一个临时文件夹
zeus.localdata.dir=/zeus/run_job_dir
#此处必须是hdfs路径,所有的上传附件都会存放在下面路径上
zeus.hdfsLibPath=/zeus/hdfs-upload-dir
#环境配置,如果是在一个集群中,需要配置城同一个名称
zeus.schedule.group=test-env
#Scheduler 与 Worker 通信的端口
zeus.connect.port=9887
#hadoop jobtracker地址,填写ip+port 或者 domain+port
zeus.jobtracker=192.168.1.166:50030 #zk配置非必选,可以为空,此处的zk是用来通知任务的成功失败事件的
zeus.zookeeper.host=

  

3)将配置文件antx.properties 拷贝到用户主目录

> cp antx.properties ~

4)配置highcharts的位置,修改/zeus/web/pom.xml文件

>cd /zeus/web/

>vi pom.xml

将local.highcharts修改如下:

<local.highcharts>/zeus/web/libs/highcharts-1.4.0.jar</local.highcharts>

5)配置zeus数据库连接信息:persistence.xml

>cd /zeus/web/src/main/resources

>vi persistence.xml

数据库ip地址、数据库名、用户名、密码改成自己的

6)创建dos2unix命令 
> yum install dos2unix.x86_64 -y

7)下载maven。安装,配置环境变量

8)进入zeus目录

> cd /zeus

>mvn clean:clean 成功

>mvn package -Dmaven.test.skip=true 成功

把/zeus/web/target/zeus-web.war 拷贝到/apache-tomcat/webapps/下

>cd /apache-tomcat/bin

>startup.sh 启动tomcat

报错:

Hive Schema version 0.12.0 does not match metastore's schema version 2.3.0 Metastore is not upgraded or corrupt

zeus源码里引入的

hive-metastor,hive-exec,hive-common包都是0.12.0版本

想着自己安装的hive是2.3.4版本

找了maven仓库没有2.3.4版本,就把0.12.0改成2.3.0

再重新打包,启动

报错:

java.lang.NoClassDefFoundError: org/datanucleus/PersistenceNucleusContext,找不到这个类,就在maven仓库上找datanucleus的3.2.1版本,jar包下载下来,看了下,确实没有这个类,看5.0.3还是5.0.1版本有这个类,就在zeus上把版本改了,重新编译打包,tomcat部署启动,

又报错

org.datanucleus.util.Localiser.getInstance(Ljava/lang/String;Ljava/lang/Clas

意思是Localiser.getInstance没有这个带string的构造方法,去刚下载的5.0.1的包看了确实没有,又去maven 仓库看了3.x的版本有这个,但却没PersistenceNucleusContext类,真是矛盾,好像行不通啊

先放下linux这边

直接在window本地调试下,eclipse中导入zeus源码,直接在server中加入zeus-web,启动,不报错,但在浏览器访问,不行,访问不了

看了web.xml配置 

<welcome-file-list>
  <welcome-file>platform.html</welcome-file>
</welcome-file-list> 

首页是 platform.html

但源码中没有找到

先在cmd中进入zeus源码目录,clean,package

将zeus2-master/web/target/zeus-web.war

放到tomcat8/webapps下

启动tomcat

访问成功

那为什么本地可能,一样的代码放到linux上编译打包部署各种错呢?

还是把这个代码关于logs ,run_job_dir,hdfs-upload-dir相关目录从windows修改成linux上路径

继续放到linux上去编译打包,都没问题

tomcat中运行,又报错

Hive Schema version 0.12.0 does not match metastore's schema version 2.3.0 Metastore is not upgraded or corrupt

还是一样的问题

这次在网上搜了下,说是把hive的mysql库version表中版本由2.3.0改成我引入包的版本0.12.0

SCHEMA_VERSION由原来的2.3.0改成0.12.0

重启tomcat,不报刚才的错了,又出现新的错:

Could not instantiate bean class [com.taobao.zeus.store.CliTableManager]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "0s"

解决:找到/hive/conf/hdfs-site.xml文件,把里面配置的参数带s的,都把s去掉。

继续重启tomcat,不报错了,浏览器访问也OK了

搭建好了,怎么调度任务呢?

如下图,在调度中心中创建一些任务分组,分组创建好了,我新建了一个从mysql到hive抽取数据的任务,抽取data_user表,名字就叫data_user,

定时表达式:每天3点执行。

脚本:ssh -p 22  root@master sh /dump 1

解释:通过ssh远程连接执行sh命令

ssh -p 端口 用户@ip sh 你要执行的命令

我因为zeus和datax,hive,hadoop装在一台机器上,直接用机器名master,而且做了免密登录。

dump是一个shell脚本,去调用datax命令的,并且传递参数1表示任务号是1,任务放在/datax/job下 ,1.json任务

#!bash
. /etc/profile export DATAX_HOME=/datax if [ $# == 2 ]; then
today=$2
else
today=`date -d -1days '+%Y-%m-%d'`
fi
if test $? -ne 0
then
exit 11
fi cd $DATAX_HOME/bin
python datax.py ../job/$1.json

点击手动执行任务,结果报错(日志在当初安装部署zeus时创建的日志目录里,我放在/zeus/logs下,zeus部署在/tomcat/webapps下)

打日志调试,发现写channel里写不了,报错,代码跟踪下来,发现从context里获取的channel为空,所以channel.write(sm)报错了。

但是context.setServerChannel(future.getChannel());这里明明是有值的,不为空。

断续查找,发现配置了端口9887

而且分布式锁通信,用到了这个端口

于是在服务器上,查看下这个端口

>lsof -i:9887  发现9887这个端口好多,会不会占用太多了卡住了,一口气全kill

把日志什么的删除掉,tomcat重启,再手动执行,竟然执行成功了。

zeus部署的更多相关文章

  1. HBase零基础高阶应用实战(CDH5、二级索引、实践、DBA)

    HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件 ...

  2. nginx下面部署fast-cgi和C++【原】

    1.cgi文件的代码 #include "fcgi_stdio.h" #include <stdlib.h> #include <stdio.h> int ...

  3. lamp的动静分离部署

    一.lamp分离部署工作图 二.LAMP的安装与配置 1.环境准备 2.对 PHP 服务器进行部署 #以下为安装PHP及其依赖 [root@php ~ ]# .tar.gz -C /usr/src [ ...

  4. docker实战部署Javaweb项目

    一.部署环境说明 docker服务版本:version 18.09.0nginx服务版本:version: nginx/1.15.10redis服务版本:version: redis/5.0.3tom ...

  5. 转-Zeus资源调度系统介绍

    摘要: 本文主要概述阿里巴巴Zeus资源调度系统的背景和实现思路. 本文主线:问题.解决方案.依赖基础知识.工程实践.目标.经验分享.立足企业真实问题.常规解决策略,引出依赖的容器技术.实践方案,所有 ...

  6. 01 . OpenResty简介部署,优缺点,压测,适用场景及用Lua实现服务灰度发布

    简介 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 ...

  7. 高并发Flask服务部署

    高并发Flask服务部署 AI模型持久化 OOP: 利用面向对象思想,实现算法在内存上的实例化及持久化.即一次模型加载,多次请求调用. class ocr_infer_class(threading. ...

  8. [原]CentOS7.2部署node-mapnik

    转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...

  9. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

随机推荐

  1. C# WindowService 安装和卸载

    安装脚本 install.bat 内容 @echo 安装WindowService%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil ...

  2. DOTS概述

    Unity数据导向技术栈有三个主要部分:Unity实体 - 组件 - 系统(ECS),Unity C#作业系统和Unity Burst编译器. 实体 - 组件 - 系统概述 ECS提供了一种游戏设计方 ...

  3. Leetcode之动态规划(DP)专题-121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock)

    Leetcode之动态规划(DP)专题-121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock) 股票问题: 121. 买卖股票的最佳时机 122. 买卖股票的最 ...

  4. IDEA 2019.2破解激活教程(激活到2089年8月,亲测有效,持续更新中...)

    本来笔者这边是有个正版激活码可以使用的,但是,2019.9月3号的时候,一些小伙伴反映这个注册码已经失效了,于是拿着自己的 IDEA, 赶快测试了一下,果不其然,已然是不能用了. 好在,笔者又找到了新 ...

  5. Linux 安装 openoffice

    1 说明 本文档采用rpm包方式安装,操作系统为centos 2 下载openoffice rpm包 创建nginx源码包存放目录 mkdir /usr/local/src/openoffice cd ...

  6. gdb移植(设备端本地版本)

    Gdb下载地址:http://ftp.gnu.org/gnu/gdb/ ncurse下载地址:http://ftp.gnu.org/pub/gnu/ncurses/ 目录结构如下: ├── insta ...

  7. Oracle-DQL 7- 集合操作

    集合操作: --将查询结果看作是一个集合,可以将多个查询结果之间用集合操作找出特点的数据--很多的集合操作可以使用条件的组合进行代替,集合操作的效率高于条件组合--某些复杂的查询结果只能通过集合操作得 ...

  8. linux用户和组 之 用户管理

    一. linux 用户和组的基本介绍 1.linux下 有三种用户: 1. root: 权限最大的. 2. 系统用户: UID小于1000的.系统服务管理用户,一般是不允许登录系统的.(比如mysql ...

  9. 【NOIP2015普及组】 推销员(纪中数据-标准)

    题目 [题目描述] 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 i 家住户到入口的距离为 ...

  10. Invoker(小DP)

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=6739 尽量让他们连起来. 思路: 直接dp,其中一个状态是以什么结尾. #define IOS ios_b ...