XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
xxl-job需要的提前安装好以下环境:jdk、maven、mysql
宝塔安装mysql8.0
yum -y install jdk*
yum install maven -y
安装jdk
#没有源的需要先配置jdk源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
#有jdk源跳过上面
yum -y install jdk*
yum list installed |grep java
yum list installed |grep jdk
yum search java | grep -i --color jdk
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version
下载源码包Releases · xuxueli/xxl-job · GitHub

tar -zxvf xxl-job-2.3.1.tar.gz

# vi xxl-job-admin/src/main/resources/application.properties
server.port=8080 # 页面访问端口,根据实际需要求该
spring.datasource.username=root # 连接数据库的用户名密码
spring.datasource.password=password
# vi xxl-job-admin/src/main/resources/logback.xml
<property name="log.path" value="/home/xxl-job-2.3.1/xxl-job-admin.log"/>
# vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
server.port=8081 # 根据需要修改9527
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin # 如果admin改了端口此处也要改
xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler # 执行器运行日志文件存储磁盘路径
# vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/logback.xml
<property name="log.path" value="/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log"/>
在解压目录下执行,/home/xxl-job-2.3.1
# mvn package

看到success就打包成功了
启动服务
#nohup java -jar xxl-job-admin/target/xxl-job-admin-2.3.1.jar > /dev/null 2> /dev/null &
#nohup java -jar xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.1.jar > /dev/null 2> /dev/null &
访问:http://xxx:8080/xxl-job-admin
XXL-JOB的集群部署非常简单,只需要注意两点:
网络的时间时间服务器上的时间同步的方法
1.安装ntpdate工具# yum -y install ntpdate
2.设置系统时间与网络时间同步# ntpdate cn.pool.ntp.org
3.将系统时间写入硬件时间# hwclock --systohc
操作到这里,一个基本的调度中心集群就搭建好了。
需要注意的是,XXL-JOB的集群并不是分片集群,不管部署多少台,同一时间执行调度任务的只会有一台。
集群部署纯粹只是为了处理单点故障问题。
1.同样安装jdk,maven,在节点上配置好服务器同步时间,开放9999端口
3.把xxl-job下载包拷贝到另一台集群节点/home/目录下解压
cd /home/xxl-job-2.3.1/
3.编辑配置文件
vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<contextName>logback</contextName>
<property name="log.path" value="/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
</configuration>
指定了日志目录:/home/xxl-job-2.3.1/logs/xxl-job-executor-sample-springboot.log
创建日志目录:
cd /home/xxl-job-2.3.1
mkdir /home/xxl-job-2.3.1/logs/
说明:日志地址不可不用改,当前机子只有/home目录下空间大点,所以才进行了修改
配置后台地址:
vi xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
# web port
server.port=9527
# no web
#spring.main.web-environment=false
# log config
logging.config=classpath:logback.xml
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://192.168.100.11:8080/xxl-job-admin
### xxl-job, access token
xxl.job.accessToken=default_token
### xxl-job executor appname
xxl.job.executor.appname=xxl-job-data-center
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### xxl-job executor server-info
xxl.job.executor.ip=
xxl.job.executor.port=9999
### xxl-job executor log-path
xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler
### xxl-job executor log-retention-days
xxl.job.executor.logretentiondays=30
配置job后台地址:xxl.job.admin.addresses=http://192.168.100.11:8080/xxl-job-admin
192.168.100.11 是xxl-job后台地址
指定日志目录:xxl.job.executor.logpath=/home/xxl-job-2.3.1/logs/jobhandler
mkdir /home/xxl-job-2.3.1/logs/jobhandler
4.打包
#cd /home/xxl-job-2.3.1/
# mvn package
5.启动节点服务加入守护进程
#nohup java -jar xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.1.jar > /dev/null 2> /dev/null &
#ps -ef|grep xxl-job
加入开机服务
cd /home/xxl-job-2.3.1/
创建开机脚本
vi startup.sh
#!/bin/bash
nohup java -jar xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/xxl-job-executor-sample-springboot-2.3.1.jar > /dev/null 2> /dev/null &
chmod 777 startup.sh
cd /etc/rc.d
vi rc.local 在最后面加入内容,保存
cd /home/xxl-job-2.3.1/
sh /home/xxl-job-2.3.1/startup.sh
chmod +x /etc/rc.d/rc.local
可以reboot重启后,使用ps -ef | grep xxl-job查看是否成功
加入守护进程
vi xxljob.sh
chmod +x xxljob.sh
#!/bin/bash
#by yuanzelin8
#2023-02-09
#xxl-job守护进程;
port=`ps -ef|grep xxl-job|wc -l`
if [ $port -lt 2 ]; then
cd /home/xxl-job-2.3.1
/bin/sh /home/xxl-job-2.3.1/startup.sh
echo "启用成功";
fi
6.在后台添加节点注册

我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub