`
文章列表
#!/bin/bash ip=$1 currpath=$2 hostip=$3 //本机ip if [ -z "$hostip" ] || [ "$ip" != "$hostip" ];then ssh ${ip} $currpath/base/annotationCol.sh "/etc/ssh/sshd_config" "AuthorizedKeysFile\ " ssh ${ip} $currpath/base/annotationCol.sh "/etc/ssh/sshd_co ...
#!/bin/bash filename=$1 key=$2 #sed -i '2,5s/'"$key"'.*/#/' $filename sed -i 's/^'"$key"'/#&/' $filename
#!/bin/bash gname=$1 uname=$2 password=$3 echo "==========$gname,$uname,$password======" #userdel $uname isUserExist=` cat /etc/passwd|grep $uname|wc -l ` isGroupExist=` cat /etc/group|grep $gname|wc -l ` if [ $isGroupExist -eq 0 ];then echo "groupadd $gname" groupadd $gname fi i ...
#!/bin/bash ip=$1 uname=$2 password=$3 filepath=/usr/$uname/.ssh/id_rsa.pub if [ $uname = "root" ];then filepath=/root/.ssh/id_rsa.pub fi echo "===========resrsa====================" expect <<EOF spawn ssh-copy-id -i $filepath $uname@$ip expect { "*yes/no"    { s ...
#!/bin/bash echo "===========genrsa====================" expect <<EOF spawn ssh-keygen -t rsa expect { "*id_rsa):"    { send "\n"; exp_continue } "*(y/n)?" { send "y\n" exp_continue } "*passphrase):" { send "\n" ex ...
最近在做一套自动化脚本,有时候需要远端触发java程序的执行。 但是通过ssh登陆之后会发现找不到JAVA_HOME 我的JAVA_HOME是定义在/etc/profile 里面的 略做研究之后发现结果如下: /etc/profile: 当用户登录时,该文件被执行. /etc/bashrc: 当bash shell被打开时,该文件被执行. ssh作为non-login方式进入,当然就无法触发/etc/profile的执行了。 所以应该设置到/etc/bashrc里面去. 微博不能转载,所以这里记录一下,备份 摘自http://blog.codeconch.com/archives/397 ...
#!/bin/bash processExist=`ps aux|grep mongo|grep -v "grep" ` MONGODB_PATH="/opt/mongodb/mongos" MONGODB_DATA="/opt/mongodb" mongod_lock=$MONGODB_DATA/data/configsvr/mongod.lock shard1_lock=$MONGODB_DATA/data/shard1/mongod.lock shard2_lock=$MONGODB_DATA/data/shard2/mongo ...
1、定义一个队列缓存池: private static List<Queue> queueCache = new LinkedList<Queue>(); 2、定义队列缓冲池最大消息数,如果达到该值,那么队列检入将等待检出低于该值时继续进行。 private Integer offerMaxQueue = 2000; 3、定义检出线程,如果队列缓冲池没有消息,那么检出线程会线程等待中 new Thread(){ public void run(){ while(true){ String ip = null; try ...

redis队列测试

 
做了一个测试,redis队列,在2000个线程同时并发处理四万个简单消息时,推入队列会报错; redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 从队列里面拿消息时,完全没问题,不报错;(可能是消息内容比较简单) 如果消息检入或者检出出错,做setnx锁,会严重限制速度;应该有容错错失,比如把异常的消息重新放入缓冲中,再进行一次推入或出列操作 机器的问题,吞吐量 入队时吞吐量是40000/66338 s 大概也有每秒六七千; 出队时吞吐量是40000/6 ...
import java.util.HashSet; import java.util.Properties; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; /**这里不用<context:property-placehol ...
最近开了一个新项目,想用全注解式开发,在整合框架的时候遇到struts2.0 采用注解配置的时候action死活进不去, 报这错: There is no Action mapped for namespace [/login] and action name [login] associated with context path [/toJsp]. - [unknown location]  不才我在想会不会是导入的包错了?然后一个一个检查,然后又想是不是写错了字,最后发现是struts2,如果用注解调用action的时候,那些action的类一定要写在action包下 //packa ...
每次遇到JedisConnectionException这个异常,jedispool就崩溃了,总结问题:有可能是阿里云的服务器老是会掉线,掉线这个问题不止一次遇见了,但也有可能是其它问题;这个问题很严重;为了系统有更好的容灾性,然后就有下面的歪招了; 下面是源码 import org.apache.log4j.Logger; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.Transaction; import redis.clients.je ...
网上说了一大堆关于zookeeper选举,参差不齐,貌似没有啥代码可以copy,把自己也给绕进去了,这里结合一些网上的看法,自己写了代码,关于zookeeper的。 思路大概是这样: 1、每个节点进来查询是否有任务发布路径,如果没有,创建任务发布路径,自己成为领导;这个过程加锁,所以集群只有一个领导。 2、每个应用都可以发布任务。把命令写在发布路径的data里;所有应用监听到发布路径修改,执行任务类型;每个任务监听到任务后,会失去监听,那么再监听回任务发布路径,实现无限监听; 3、所有节点监听到领导挂了,再选举一个节点做为领导,具有容灾性质; zookeeper要结合分布式内存存储工具(像m ...
zookeeper存储是树状结构,如/path1/path2(这里path1必须是PERSISTENT,否则path2不能创建), 节点有三种状态: 1、EPHEMERAL临时节点,server删除后该节点也会删除,但是我测试的时候,如果将server强制删除,EPHEMERAL节点会延迟删除; 2、PERSISTENT节点,这个是持久保存的节点。 3、SEQUENTIAL节点,自动标号的节点 如果父节点有子节点,父节点将不能删除。 watch是zookeeper最核心的一个功能; watch = true; 监听某path1节点目录下是否创建删除子节点 zookeeper.getChild ...
1、支持同个页面多个form表单验证 2、支持两种验证提示方式。 在form 标签添加vanadiumType='multi'||vanadiumType='default'||vanadiumType='alert' 3、支持js提交验证 if(Vanadium.validForm("a_form")){ form.submit(); } 需要验证的标签只需要在input标签里面写 class=':number; :min_length;10'
Global site tag (gtag.js) - Google Analytics