CronHub 的安装部署

简介:

一、基础环境

IP10.29.181.32

# mkdir -p /opt/software/tools

# ls /opt/software/tools

apache-ant-1.9.9-bin.tar.bz2   jdk-8u51-linux-x64.tar.gz

apache-tomcat-8.0.24.tar.gz   master.zip

 

二、安装MYSQL

(1)可以使用yum进行安装

# yum -y install mysql-server

# yum -y install php-mysql

(2)可以使用自己编写的源码安装脚本进行安装

# cd /opt/software/tools

# unzip mysql-install.zip

# cd mysql-install

# vim mysql_install.sh

wKiom1jrTK6zhXIOAAAiAnm2EAw794.png-wh_50

更改package_dir为你存放脚本的正确路径

# sh mysql_install.sh

# . /etc/profile

# vim /etc/my.cnf

更改:

innodb_buffer_pool_size = 2G

 

# /etc/init.d/mysqld start启动

# chkconfig mysqld on设置开机自启

# mysqladmin -u root password '1qaz@WSX?'设置登录mysql的用户密码

# mysql -uroot -p登录验证

> select user,host,password from mysql.user;

> delete from mysql.user where user='';删除匿名用户

> grant all privileges on cronhub_manage_system.* to 'cronhub'@'%' identified by '1qaz@WSX?';授权用户可以连接cronhub使用的库

 

建库建表

# cd /opt/software/tools

# unzip master.zip

# mv CronHub-master/ /usr/local/

# cd /usr/local/CronHub-master/WebRoot/download

# mysql -uroot -p < cronhub_manage_system.sql

# mysql -uroot -p

> show databases;--> cronhub_manage_system

> use cronhub_manage_system

> show tables;查看库中生成的表,并清空这些表

 

 

三、安装JDK

# cd /opt/software/tools/

# tar zxvf jdk-8u51-linux-x64.tar.gz

# mkdir /usr/local/java

# mv jdk1.8.0_51/ /usr/local/java/

# vim /etc/profile

添加如下内容:

#set JDK enviroment

JAVA_HOME=/usr/local/java/jdk1.8.0_51

JAVA_BIN=/usr/local/java/jdk1.8.0_51/bin

PATH=$PATH:$JAVA_BIN

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

 

# . /etc/profile

# java -version验证

java version "1.8.0_51"

 

四、修改JAVA WEB中央服务器配置文件,打包

(1)安装ant

# cd /opt/software/tools/

# tar xvf apache-ant-1.9.9-bin.tar.bz2 -C /usr/local/

# vim /etc/profile

添加如下内容:

#set Ant enviroment

export ANT_HOME=/usr/local/apache-ant-1.9.9

export PATH=$PATH:$ANT_HOME/bin

# .  /etc/profile

(2)修改配置文件

# cd /usr/local/CronHub-master/ant

# vim 192.168.101.9.properties

包含application.propertieslog4j.properties两个文件的内容。需要更改为自己的数据库,安装路径等信息。内容如下:

 

db.jdbcurl=jdbc\:mysql\://10.29.181.32\:3306/cronhub_manage_system?useUnicode\=true&characterEncoding\=UTF-8

db.username=cronhub

db.password=1qaz@WSX?

undoReportHttpUrl=http\://10.29.181.32\:8085/record_undo/report.action

serverRootUrl=http\://10.29.181.32\:8085

alertFromUserMail=monitor@66rpg.com

alertFromPassword=YjImayomdhk55nQq

alertHostMail=smtp.exmail.qq.com

alertDestMail={"3004947672@qq.com"\:""}

 

########################log4j

log4j.rootLogger=info, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss}] %p\t| %m%n

 

log4j.logger.Validate=info, validate

log4j.appender.validate=org.apache.log4j.DailyRollingFileAppender  

log4j.appender.validate.File=/usr/local/dispatch_system_tomcat/logs/dispatch_sys/service.log

log4j.appender.validate.DatePattern='.'yyyy-MM-dd'.bak'

log4j.appender.validate.layout=org.apache.log4j.PatternLayout

log4j.appender.validate.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss}] %p\t| %m%n

 

log4j.logger.Error=error, err

log4j.appender.err=org.apache.log4j.DailyRollingFileAppender  

log4j.appender.err.File=/usr/local/dispatch_system_tomcat/logs/dispatch_sys/error.log

log4j.appender.err.DatePattern='.'yyyy-MM-dd'.bak'

log4j.appender.err.layout=org.apache.log4j.PatternLayout

log4j.appender.err.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss}] %p\t| %m%n

 

log4j.logger.DaemonError=error, daemonError

log4j.appender.daemonError=org.apache.log4j.DailyRollingFileAppender  

log4j.appender.daemonError.File=/usr/local/dispatch_system_tomcat/logs/dispatch_sys/daemonError.log

log4j.appender.daemonError.DatePattern='.'yyyy-MM-dd'.bak'

log4j.appender.daemonError.layout=org.apache.log4j.PatternLayout

log4j.appender.daemonError.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss}] %p\t| %m%n

 

log4j.logger.RecordUndoLogger=info, recordUndoLogger

log4j.appender.recordUndoLogger=org.apache.log4j.DailyRollingFileAppender  

log4j.appender.recordUndoLogger.File=/usr/local/dispatch_system_tomcat/logs/dispatch_sys/recordUndoLogger.log

log4j.appender.recordUndoLogger.DatePattern='.'yyyy-MM-dd'.bak'

log4j.appender.recordUndoLogger.layout=org.apache.log4j.PatternLayout

log4j.appender.recordUndoLogger.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss}] %p\t| %m%n

 

log4j.logger.RecordDoneLogger=info, recordDoneLogger

log4j.appender.recordDoneLogger=org.apache.log4j.DailyRollingFileAppender  

log4j.appender.recordDoneLogger.File=/usr/local/dispatch_system_tomcat/logs/dispatch_sys/recordDoneLogger.log

log4j.appender.recordDoneLogger.DatePattern='.'yyyy-MM-dd'.bak'

log4j.appender.recordDoneLogger.layout=org.apache.log4j.PatternLayout

log4j.appender.recordDoneLogger.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss}] %p\t| %m%n

 

log4j.logger.RecordDoneError=info, recordDoneError

log4j.appender.recordDoneError=org.apache.log4j.DailyRollingFileAppender  

log4j.appender.recordDoneError.File=/usr/local/dispatch_system_tomcat/logs/dispatch_sys/recordDoneError.log

log4j.appender.recordDoneError.DatePattern='.'yyyy-MM-dd'.bak'

log4j.appender.recordDoneError.layout=org.apache.log4j.PatternLayout

 

 

(3)运行build.xml进行打包

# cd /usr/local/CronHub-master/ant

# ant -f build.xml

# ls /usr/local/CronHub-master/war/CronhubManageSystem_101.9.war

 

五、部署war包到tomcat,启动

(1)安装tomcat

# cd /opt/software/tools/

# tar zxvf apache-tomcat-8.0.24.tar.gz -C /usr/local/

# cd /usr/local/

# mv apache-tomcat-8.0.24/ dispatch_system_tomcat

 

(2)部署tomcat及启动

一定将之前打好的war包放入webapp/ROOT/

# rm -rf /usr/local/dispatch_system_tomcat/webapps/ROOT/*

# cp /usr/local/CronHub-master/war/CronhubManageSystem_101.9.war \

 /usr/local/dispatch_system_tomcat/webapps/ROOT/

# cd /usr/local/dispatch_system_tomcat/webapps/ROOT/

# jar -xvf CronhubManageSystem_101.9.war解压war

# vim /usr/local/dispatch_system_tomcat/conf/server.xml

更改启动端口80808085

<Connector port="8085" protocol="HTTP/1.1"

# cd /usr/local/dispatch_system_tomcat/bin/

# sh startup.sh启动tomcat

# ps -ef | grep tomcat检测是否启动

# lsof -i :8085

 

(3)访问测试

在浏览器中输入CronHub-01机器的外网ip及应用端口

http://101.37.21.22:8085/

wKiom1jrTQHQumGlAACP1qix1fA326.png-wh_50 

(4)更改页面logo

# cd /usr/local/dispatch_system_tomcat/webapps/ROOT/

# vim index.html

更改如下内容:

......

#top-logo {

        height: 50px;

        line-height: 50px;

        float: left;

        text-align: center;

        width: 279px; /*修改为logo图片width*/

        background: url() no-repeat; /*在这里添加logo图片路径*/

}

<td id="td-top">

                        <div id="top-logo"><big><font color=blue>橙光游戏 * CronHub时间调度系统</font></big></div>

<div id="top-right" style="margin-right:20em;display:none">

                                <div><big><font color=green>运维部</font></big></div>

                         </div>

......

 

在浏览器中输入CronHub-01机器的外网ip及应用端口

http://101.37.21.22:8085/

 

wKioL1jrTQ2TWmkLAACZq0gFxYE293.png-wh_50 

 

六、安装daemon

拷贝daemon端安装脚本/usr/local/CronHub-master/WebRoot/download下的

install_start.sh。默认情况下这个脚本只支持安装centos客户端,经过更改可

以支持ubuntu客户端

 

# cp install_start.sh /home/scripts/拷贝到/home/scripts/

对于除本机外的客户端(10.26.200.227)可以使用如下命令进行:

ansible分发cronhub客户端程序

# ansible 10.26.200.227 -m copy -a 'src=/home/scripts/install_start.sh dest=/home/scripts/install_start.sh mode=644 owner=root'

# ansible 10.26.200.227 -m shell -a "bash /home/scripts/install_start.sh -d /usr/local/daemon -s 2017 -i 10.29.181.32 -p 8085"

 

注释:

# bash /home/scripts/install_start.sh -d /usr/local/daemon -s 2017 -i 10.29.181.32 -p 8085

-d 安装daemon客户端的路径

-s 本地启动的端口,用于与服务的通信

-i 服务端的ip地址

-p 服务端的端口,用于下载安装包

 

# ps -ef | grep jsvc

执行完脚本就会启动,启动后在控制台上查看进程会发现2jsvc进程

安装daemon脚本会对centos加入chkconfiglinux系统启动项;对ununtu

会在/etc/rc.local中添加开机启动项。

七、配置、添加计划任务

(1)增加daemon执行器

wKiom1jrTRvyg7xuAAEw7stu6bY793.png-wh_50 

 

查看状态

wKioL1jrTSex7onXAACWSaSLuiQ099.png-wh_50 

 

(2)添加新任务

wKioL1jrTTOSMOSrAACnmNRXHdA527.png-wh_50 

添加任务的具体内容:

以下是添加 每天凌晨2点重启SVN程序的计划任务

wKiom1jrTT_jjtjHAADn1mC1mVk117.png-wh_50 

检测添加的计划任务

wKiom1jrTUrxgrIAAACzu8jxSLM421.png-wh_50 

(3)执行结果查询

wKioL1jrTVbDzBwSAAEaEQAckf0445.png-wh_50 

八、批量添加

(1)批量添加daemon执行器

# cd /home/scripts/CronHub

# vim info.txt

填入信息如下:

10.27.13.71feed-redis-slave-02

10.26.234.157passport-redis-slave

10.47.134.28rc-rcc-redis-slave-01

# python insert_info.py执行python脚本进行批量添加

(2)批量添加调度任务

# cd /home/scripts/CronHub

# vim list.conf

填入信息如下:

passport-redis-slave redis

chengguang-web-03 web

# python insert_cron.py执行python脚本进行批量添加



本文转自 周新宇1991 51CTO博客,原文链接:http://blog.51cto.com/zhouxinyu1991/1914607,如需转载请自行联系原作者


相关文章
|
缓存 网络协议 网络安全
程序员必知的计算机网络的166个核心概念(上)
程序员必知的计算机网络的166个核心概念
|
物联网 开发者
Wifi-nodeMCU-esp8266 固件库下载与调试工具介绍 | 学习笔记
快速学习 Wifi-nodeMCU-esp8266 固件库下载与调试工具介绍
Wifi-nodeMCU-esp8266 固件库下载与调试工具介绍 | 学习笔记
|
传感器 数据采集 JSON
RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
1329 0
RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器
|
6月前
|
弹性计算 Linux 网络安全
轻量百科:阿里云轻量应用服务器新手指南——详解及使用教程(附优惠价格表)
阿里云轻量应用服务器是面向新手、个人开发者及中小企业的高性价比云服务,支持一键部署WordPress、宝塔等应用镜像,适用于建站、博客、测试等轻负载场景。操作简单、集成防火墙/备份/监控,最低38元/年,含2核2G、200M带宽、不限流量。
|
8月前
|
人工智能 运维 监控
智能体来了:AI Agent 时代技术从业者的焦虑拆解与能力重构指南
本文剖析AI Agent兴起引发的职业焦虑,指出其本质是技术范式从“工具调用”跃迁至“自主系统”的价值重构。文章拆解智能体四大工程能力,定义“AI Agent搭建师”新角色,提出三维转型路径,助力开发者从功能实现者升级为智能系统设计者。(239字)
537 5
|
9月前
|
Linux C语言 C++
C语言Qt编程基础(零基础入门Qt C语言开发指南)
本文介绍如何在C语言中借助C++封装调用Qt实现GUI开发。通过创建C兼容接口,结合Qt库与C主程序,初学者可快速入门C语言Qt编程,掌握跨语言混合开发技巧,为深入学习Qt打下基础。(238字)
|
7月前
|
JavaScript 搜索推荐 前端开发
从提示工程转向 上下文工程,6种让LLM在生产环境中稳定输出的技术
本文系统阐述“上下文工程”(Context Engineering)——生产级AI系统的核心能力。它不依赖提示词优化,而是通过选择性检索、上下文压缩、层次化布局、动态查询重构、记忆注入与工具感知六大技术,精准控制模型在运行时“看到什么、何时看、如何看”,从而根治幻觉、提升准确率、降低Token消耗,让小模型也能稳定输出高质量结果。
907 16
从提示工程转向 上下文工程,6种让LLM在生产环境中稳定输出的技术
|
敏捷开发 人工智能 Devops
敏捷开发工具选型避坑指南:7大痛点解析与高效落地实践
本指南详解敏捷开发核心概念、主流方法论及工具选型,助你科学高效落地敏捷实践。
377 1
|
前端开发 JavaScript 开发者
Async 和 Await 是基于 Promise 实现
【10月更文挑战第30天】Async和Await是基于Promise实现的语法糖,它们通过简洁的语法形式,借助Promise的异步处理机制,为JavaScript开发者提供了一种更优雅、更易于理解和维护的异步编程方式。
535 1
|
域名解析 网络协议 应用服务中间件
网络编程入门如此简单(四):一文搞懂localhost和127.0.0.1
本文将以网络编程入门者视角,言简意赅地为你请清楚localhost和127.0.0.1的关系及区别等。
1003 2
网络编程入门如此简单(四):一文搞懂localhost和127.0.0.1