车享网 国企
陆金所
http://www.chinadep.com/
杨洋,达达运维岗位,面试时间26号周二上午10:00。面试地址:上海市浦东南路1036号隆宇大厦6楼
wiwidi
面试职位:OPS运维工程师
面试时间:2016年4月26日(周二)上午14:00
面试地址:上海市徐汇区漕东支路81号漕河泾实业大厦9楼(地铁1号线漕宝路站下,3号口出)
联系电话:021-6283 8830、14782288717(蔡丽莹)
地 图:
ele.me
iqiyi
车享网 国企
陆金所
http://www.chinadep.com/
杨洋,达达运维岗位,面试时间26号周二上午10:00。面试地址:上海市浦东南路1036号隆宇大厦6楼
wiwidi
面试职位:OPS运维工程师
面试时间:2016年4月26日(周二)上午14:00
面试地址:上海市徐汇区漕东支路81号漕河泾实业大厦9楼(地铁1号线漕宝路站下,3号口出)
联系电话:021-6283 8830、14782288717(蔡丽莹)
地 图:
ele.me
iqiyi
一些机器不要公钥登陆,在每次连的时候提示密码
Host kong Hostname 192.168.1.200 User jpuyy Port 22 PreferredAuthentications password
服务端,例如 sftp 可以允许密码登录的话
Match user jpuyy address 192.168.1.0/24
PasswordAuthentication yes
# also since we want only sftp
ForceCommand internal-sftp
CentOS 下使用 yum 安装。为了平滑升级
yum update nginx
安装完成之后
/etc/init.d/nginx upgrade
提示失败,nginx_error.log 中出现
[alert] 10690#0: execve() failed while executing new binary process "nginx" (2: No such file or directory)
原因是之前启动没有使用 /usr/sbin/nginx -c /etc/nginx/nginx.conf 启动,而是通过环境变量里的 nginx 启动的。这样的话只能想办法把这台踢出集群,然后
/etc/init.d/nginx restart
参考:https://groups.google.com/forum/#!topic/openresty/HiV3c-JwTZ4
rediscluster 配置的过量,浪费了资源。不够时又加加资源
查看当前 rediscluster 的主从关系,并记下来 hash 值。
redis-cli -c cluster nodes
现在先进行扩容,192.168.11.3:6379 是当前 cluster 的一个 master 节点。
添加 192.168.22.3:6379,从节点 192.168.22.4:6379
查看 cluster 状态
redis-trib.rb info 192.168.11.3:6379
添加,默认为 master
redis-trib.rb add-node 192.168.22.3:6379 192.168.11.3:6379
添加 –slave, 主动找没有 slave 的 master 节点
redis-trib.rb add-node --slave 192.168.22.4:6379 192.168.11.3:6379
查看 cluster nodes
redis-cli -c cluster nodes
接下来确定哪些 master 的 slots 迁到新加的实例,找到新加的 master hash 值为 e0d88661607192a4ffac1b74412c6cd6d0932067
从已有 slot 里分配 100 个 slots 到 e0d88661607192a4ffac1b74412c6cd6d0932067
redis-trib.rb reshard --from 32f38c9e5e42f6a66e67abdd540cce72e4bf399c --to e0d88661607192a4ffac1b74412c6cd6d0932067 --slots 100 --yes 192.168.11.3:6379
如果遇到失败,进行 fix
redis-trib.rb fix 192.168.11.3:6379
反复几次,并查看可以达到迁移目的。
总是 fix 特别烦,写个有限循环搞定。
for i in $(seq 20); do redis-trib.rb reshard --from 32f38c9e5e42f6a66e67abdd540cce72e4bf399c --to e0d88661607192a4ffac1b74412c6cd6d0932067 --slots 100 --yes 192.168.11.3:6379 || redis-trib.rb fix 192.168.11.3:6379; done
缩容即是把里面的 slots 移到其他实例里,然后删除 node 对应的 hash
redis-trib.rb del-node 192.168.11.3:6379 e0d88661607192a4ffac1b74412c6cd6d0932067
查看当前实例是否还在提供服务
redis-cli monitor
当缩容或扩容完之后,如果 slots 的数量差的多的话, 可以对整个集群 rebalance
redis-trib.rb rebalance 192.168.11.3:6379
同样的如果中间中断,就 fix
redis-trib.rb fix 192.168.11.3:6379
到最后会提示
*** No rebalancing needed! All nodes are within the 2.0% threshold.
查看整个集群的情况
#redis-cli -c cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:12 cluster_size:6 cluster_current_epoch:46 cluster_my_epoch:40 cluster_stats_messages_sent:912305 cluster_stats_messages_received:912227
ok,到这里结束。
查看一个进程的 io 读写
每秒钟输出一次
-d 参数:
打印 I/O 信息,2.6.20及以后内核才支持。kB_rd/s 每秒读的 kB 数,kB_wr/s 每秒写的 kB 数,kB_ccwr/s 每秒取消写入磁盘的 kB 数。
-l 参数:
打印详细信息
pidstat -dl 1 -p 29866
seq 5 会打印 1-5 的数字,一个数字一行
1 2 3 4 5
seq 22 27 打印 22-27 数字
22 23 24 25 26 27
seq -w 00 05 打印 00-05
00 01 02 03 04 05
同理
seq -w 000 005 打印 000-005
000 001 002 003 004 005