参考: Oracle Grid Engine qsub命令 SGE - qsub使用范例 SGE作业基本用法 qsub是最为稳定的底层任务投递系统,就是把一个脚本投递到集群的计算节点上运行. 注意,只有登录节点才有资格投递任务,计算节点没有权限投递任务,只能执行,所以千万不要在投递的脚本内嵌套投递,会报错的. 下面是我最为常用的投递命令: qsub -cwd -l vf=5g -P 任务单元 -q 队列名 先逐条解释: -cwd: 就是 current working directory,从当前…
之前看到过高手写的一个monitor,用python面向对象实现的,依赖几个核心的python包,drmaa,zodb,理论上来说解决了所有的任务投递问题. 但是在复杂的集群环境下还是会经常出问题,这就是更复杂的调试了,需要对集群环境有深刻的认识. 这里不搞那么复杂的东西,就是在一个单一的PBS集群里写一个monitor,智能的投递任务. 但是我现在这个集群有几个非常不智能的地方,需要我克服: 1. 每个任务的内存.cpu和运行时间受限,必须要根据内存和cpu来指定投递的节点类型:需要用户估计内…
SGE怎样工作: 1. 接受用户投放的任务 2. 在任务运行以前,将任务放到一个存储区域 3. 发送任务到一个执行设备,并监控任务的运行 4. 运行结束写回结果并记录运行日志 常用的SGE命令: 1. 投递任务到指定队列all.q 方法一: qsub -cwd -l vf=*G -q all.q *.sh 方法二: qsub -cwd -S /bin/bash -l vf=*G -q all.q *.sh -cwd 表示在当前路径下投递,sge的日志会输出到当前路径. -l vf=*G 任务的预…
1.sge提交脚本qsub 1.qsub work.sh work.sh 不能以数字开头 2.qsub work.sh  默认工作路径为/home/username 3.qsub -cwd work.sh  为当前路径 -wd 为指定路径! 4.qsub -cwd -l vf=*G -q all.q *.sh -cwd 表示在当前路径下投递,sge的日志会输出到当前路径.  -l vf=*G 任务的预估内存,内存估计的值应稍微大于真实的内存,内存预估偏小可能会导致节点跑挂. -q 指定要投递到的…
转自http://biancheng.dnbcw.info/linux/417992.html 命令: qsub   -  submit a batch job to Grid Engine. qsh    -  submit an interactive X-windows session to Grid Engine. qlogin -  submit an interactive login session to Grid Engine. qrsh   -  submit an inter…
目录 0. 一些基本概念 1. 常见的几种资源管理和调度系统 2. SGE常见指令 2.1 提交任务 2.2 查看任务 2.3 删除任务 2.4 挂起/恢复任务 2.5 更改任务属性 0. 一些基本概念 计算机集群:高性能集群(High Performance Computing,简称HPC)是一组松散或紧密连接在一起工作的计算机.由于这些计算机协同工作,在许多方面它们可以被视为单个系统.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了…
转载:http://www.zilhua.com/2222.html http://gridscheduler.sourceforge.net/htmlman/ SGE作业调度系统的简介 一.常见的几种作业调度系统 Condor是一个资源管理和作业调度系统,是来自Wisconsin-Madison大学的研究项目.充分利用工作站的空闲时间是Condor的最显著特征.Condor管理的机群由网络中的工作站组成,工作站可以自愿加入或退出.Condor监测网络中所有工作站的状态,一旦某台计算机被认为空闲…
在开发业务系统时,某些业务场景需要消息定时发送或延时发送(类似:飞信的短信定时发送需求),这时候就需要用到activemq的消息延时投递,详细的文档可参考官网说明,本文只介绍二种常用的用法: 注:本文采用spring的JmsTemplate来发送消息 步骤1.首先要修改activemq.xml配置文件,启用延时投递 <broker xmlns="http://activemq.apache.org/schema/core" ... schedulerSupport="t…
1.前言 本文的上篇<IM消息送达保证机制实现(一):保证在线实时消息的可靠投递>中,我们讨论了在线实时消息的投递可以通过应用层的确认.发送方的超时重传.接收方的去重等手段来保证业务层面消息的不丢不重. 但实时在线投递针对的是消息收发双方都在线的情况(如当发送方用户A发送消息给接收方用户B时,用户B是在线的),那如果消息的接收方用户B不在线,系统是如何保证消息的可达性的呢?这就是本文要讨论的问题.(本文同步发布于:http://www.52im.net/thread-594-1-1.html)…
Oracle Grid Engine 作业调度系统的简介(目前为止我用过PBS和SGE) SGE作业调度系统学习笔记 SGE作业调度 USE of Sun Grid Engine(SGE) 待续~…
Message Delivery Semantics At most once -- Messages may be lost but are never redelivered(消息可能丢失但不会重复投递) At least once -- Messages are never lost but may be redelivered(消息不会丢失但可能重复投递) Exactly once -- this is what people actually want, each message is…
本系列是学习SpringBoot整合RabbitMQ的练手,包含服务安装,RabbitMQ整合SpringBoot2.x,消息可靠性投递实现等三篇博客. 学习路径:https://www.imooc.com/learn/1042 RabbitMQ消息中间件极速入门与实战 项目源码:https://github.com/ZbLeaning/Boot-RabbitMQ 设计一个消息可靠性投递方案,服务结构如下: 组成: Sender+Confirm Listener :组成消息的生产者 MQ Bro…
可靠性投递: 首先需要明确,效率与可靠性是无法兼得的,如果要保证每一个环节都成功,势必会对消息的收发效率造成影响.如果是一些业务实时一致性要求不是特别高的场合,可以牺牲一些可靠性来换取效率. 要保证消息的可靠性投递,首先需要从以下几方面来确保,其次考虑其他的原因: 1.确保消息发送到RabbitMQ服务器(发送). 可能因为网络或者Broker的问题导致①失败,而生产者是无法知道消息是否正确发送到Broker的.有两种解决方案,第一种是Transaction(事务)模式,第二种Confirm(确…
1.qsub.sh for i in `ls`;do if [ -d $i ];then cd $i if [ -f *.sh ];then qsub -cwd -pe smp -q asm.q,all.q *sh fi cd .. fi done 2.…
RabbitMQ 可靠投递 标签: RabbitMQ shovel-plugin ConfirmCallback RabbitMQ消息投递 背景 confirmCallback 确认模式 returnCallback 未投递到 queue 退回模式 shovel-plugin 跨机房可靠投递 背景 在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景.RabbitMQ 为我们提供了两个选项用来控制消息的投递可靠性模式. rabbitmq 整个消息投递的路径为: p…
Apache Hbase安装及运行 安装hbase1.4,确保在这之前hadoop是正常运行的.设置相应的环境变量, export HADOOP_HOME=/u01/hadoop export HBASE_HOME=/u01/hbase export PATH=$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin 启动hbase ./start-hbase.sh 确保hadoop, hbase能正常启动,如有问题,可自行搜索文档解决. [oracle@ol66 bin]$…
项目地址 https://github.com/xiangyuecn/DKIM-Smtp-csharp 主要支持 对邮件进行DKIM签名,支持带附件 对整个邮件内容(.eml文件)的DKIM签名进行验证 对MailMessage.SmtpClient进行了一次封装,发送邮件简单易用,进行DKIM签名后直接投递到对方服务器(无需己方邮件服务器) DKIM签名.验证规则 对于DKIM的签名和验证规则,QQ邮箱的<DKIM指引>这个文章已经写的足够详细,就不搬运了. 还不行还可以去参考DKIM.Ne…
小结: 1.Exactly-Once 是指发送到消息系统的消息只能被消费端处理且仅处理一次,即使生产端重试消息发送导致某消息重复投递,该消息也在消费端也只被消费一次. 消息队列 RocketMQ > 开发指南 > SDK 参考(TCP 版) > Java SDK > Exactly-Once 投递语义 Exactly-Once 投递语义 Exactly-Once 投递语义_Java SDK_SDK 参考(TCP 版)_开发指南_消息队列 RocketMQ-阿里云 https://h…
GoldenGate可以实时将RDBMS的数据投递到HDFS中,在前面的文章中,已经配置过投递到kafka, mongodb等数据平台,本文通过OGG for bigdata的介质中自带的示例演示实时将数据写入到HDFS文件系统. 安装hadoop 安装hadoop3.0.0,设置相应的环境变量 export HADOOP_HOME=/u01/hadoop export PATH=$PATH:$HADOOP_HOME/bin 启动hadoop bin/hadoop namenode -forma…
Oracle GoldenGate是Oracle公司的实时数据复制软件,支持关系型数据库和多种大数据平台.从GoldenGate 12.2开始,GoldenGate支持直接投递数据到Kafka等平台,而不用通过Java二次开发.在数据复制过程中,GoldenGate充当Kafka Producer的角色,从关系 型数据库解析增量数据,再实时往Kafka平台写入.当前最新的GoldenGate版本是12.3.1.1.1. 从下图可以看出,GoldenGate不仅支持Kafka投递,也支持其它大数据…
ES 2.x ES 2.x安装 下载elasticSearch 2.4.5, https://www.elastic.co/downloads/elasticsearch 解压下载后的压缩包,启动ES ./elasticsearch [2017-12-26 11:46:31,662][INFO ][node ] [Doctor Dorcas] version[2.4.5], pid[4424], build[c849dd1/2017-04-24T16:18:17Z] [2017-12-26 11…
Apache Flume Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合,最后存储到一个中心化数据存储系统中,方便进行数据分析.事实上flume也可以收集其他信息,不仅限于日志.包括端口数据.JMS.命令行等输出数据. 架构 Flume主要的组件包括source(数据源),数据中间存储(channel),sink数据目标存储. 可实现多种拓扑架构,如级联数据传输. 可以多对一做数据集中 也可以一对多做数据分发 Flume支持的组件 Source…
简介 GoldenGate是一款可以实时投递数据到大数据平台的软件,针对apache cassandra,经过简单配置,即可实现从关系型数据将增量数据实时投递到Cassandra,以下介绍配置过程. Cassandra安装 解压apache-cassandra-3.11.1-bin.tar.gz到 /opt/cassandra sudo mkdir /var/lib/cassandra sudo mkdir /var/log/cassandra sudo chown hadoop /var/lo…
mongodb安装 安装 linux下可使用apt-get install mongodb-server 或 yum install mongodb-server 进行安装. 也可以在windows上安装mongodb,只要网络连通,数据就可以从关系型数据库投递到mongodb.详细安装文档可网络搜索. 启动mongodb 先创建一个数据目录 mkdir /opt/mongodb-data 然后启动DB服务, --rest是启动restful web mongod --dbpath /opt/m…
很早之前,OGG只支持部署在数据库主机上,这叫本地化部署.而现在OGG支持远端部署,即OGG软件不安装在数据库主机上,而是安装在单独的机器上,负责数据抽取和投递. 这样做的好处: l 易于管理 - 在单独的服务器上运行Oracle GoldenGate时,您可以更好的管理OGG,降低对生产数据库的影响,比如硬件升级升级,性能调整,软件修补和升级等操作变得更易于管理,风险更低.另一方面,从长远来看,您需要集中管理来监督所有复制操作,将Oracle GoldenGate安装与数据库服务器进行混合,使…
正常情况下:consumer 消费完消息后,会发送"标准确认"给 broker,这个确认对象以 MessageAck 类表征: // 省略其他代码.类中定义了各种确认的类型 public class MessageAck extends BaseCommand { public static final byte DATA_STRUCTURE_TYPE = CommandTypes.MESSAGE_ACK; public static final byte DELIVERED_ACK_…
[说明] IocpTask是基于Iocp引擎的多线程任务投递和处理单元,可以方便的把任务进行投递到IOCP线程进行统一调度和处理,是模仿QDAC-QWorker的处理方式,支持D7以上的版本. [使用方法] 使用上很简单,下面解释一种比较全面的方法: procedure PostATask(pvTaskWork:TOnTaskWork; pvTaskData:Pointer = nil; pvRunInMainThread:Boolean = False; pvRunType:TRunInMai…
1.SendMessage:发送消息给指定的窗口过程:直到窗口过程处理了消息才返回. 2.PostMessage:将消息放入消息队列(与指定窗口创建的线程相关)中:无需等待消息处理,立即返回.   不能发送WM_QUIT消息,此消息只能由PostQuitMessage函数发送. 3.PostThreadMessage:发送消息给指定线程的消息队列:无需等待线程处理消息,立即返回.   此函数发送的消息和窗口是无关的.我们只需指定线程ID就OK了,但要保证线程已创建,否则会失败. 4.GetMes…
上一篇最后提到了mandatory这个参数,对于设置mandatory参数个人感觉还是很重要的,尤其在RabbitMQ镜像队列发生故障转移时. 模拟个测试环境如下: 首先在集群队列中增加两个镜像队列的策略: 对于ha-promote-on-shutdown这个参数,可以参考文档,其作用就是当集群中master出现故障时强制进行故障转移从而选出新的master节点,这里的master出现故障表示的是人为的故障比如通过命令行rabbitmqctl.bat start_app之类的关闭RabbitMQ…
消息发布者向RabbitMQ进行消息投递时默认情况下是不返回发布者该条消息在broker中的状态的,也就是说发布者不知道这条消息是否真的抵达RabbitMQ的broker之上,也因此会发生消息丢失的情况. 对此,RabbitmQ提供了两种解决方案(以官方提供的SDK为例) 1.通过AMOP提供的事务机制: C#代码: try { channel.TxSelect(); channel.BasicPublish("yu.exchange", "yu.1", props…