复制

hbase:用于实现版本文件及配置同步的两个shell脚本

落爺英雄遲暮 提交于 2020-04-07 03:26:15
复制master节点上的版本内容到所有slaves节点上 注意: 1:版本目录做了软链接,如 ln -s hbase-0.94.6 hbase 2: 要根据实际情况,将/usr/local/修改为hbase所在的目录 #!/bin/bash # copy a new release of HBase from the masternode to all slave nodes # Rsyncs HBase files across all slaves. Must run on master. # Assumes all files are located in /usr/local if [ "$#" != "2" ]; then echo "usage: $(basename $0) <dir-name> <ln-name>" echo " example: $(basename $0) hbase-0.1 hbase" exit 1 fi SRC_PATH="/usr/local/$1/conf/regionservers" for srv in $(cat $SRC_PATH); do echo "Sending command to $srv..."; rsync -vaz --exclude='logs/*' /usr/local/$1 $srv:/usr/local/

MySQL数据库复制概论

丶灬走出姿态 提交于 2020-04-07 02:39:48
每当我们讨论一项(新的)领域技术的时候,最好的方式通常是首先抛出一些问题,这些问题大致分为三类:诶?这项技术又是什么玩意(What)?这项技术为什么会存在?我们已经有那么多解决方案(Method)了,我们问什么要用它(Why)?如果这项技术那么好且我们正好有场景可以用到这项技术,且能使我们的系统得到很乐观的优化,那么我们怎么用呢(How)?大概已经有同学觉得这些问题很熟悉了,是的,这就是黄金全法则提出的三个问题,对于每种新鲜事物我们首先基于这三个问题去了解,更有利于弄清楚事情的本质,端正态度去了解,而不是因为新,因为大家都说好,才要去了解……。说了那么多前奏,我们可以开始了,今天我们就带着黄金圈法则提出的三个问题去看看MySQL数据库复制这项领域技术,然后再结合实际应用扩展一些问题,本文也仅仅是结合自己了解的皮毛以抛砖引玉的态度和大家一起分享。 WHAT? MySQL复制使得一台Mysql数据库服务器的数据被拷贝到其他一台或者多台数据库服务器,前者通常被叫做Master,后者通常被叫做Slave。 MySQL复制示意图 复制的结果是集群(Cluster)中的所有数据库服务器得到的数据理论上都是一样的,都是同一份数据,只是有多个copy。MySQL默认内建的复制策略是异步的,基于不同的配置,Slave不一定要一直和Master保持连接不断的复制或等待复制,我们指定复制所有的数据库

jquery+flash(zclip)实现点击复制到剪切板

匆匆过客 提交于 2019-12-03 07:44:31
jQuery- zclip 是一个 复制 内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题。jQuery-zclip插件需要Flash的支持,使用时记得电脑安装Adobe Flash Player。 加载jQuery和zClip,地址请根据各自的存放地址做相应修改。 <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.zclip.min.js"></script> js实现点击复制的代码(本地测试无法使用,上传到服务器测试) $(function(){ $('#copy_input').zclip({ path: 'js/ZeroClipboard.swf', copy: function(){ //复制内容 return $('#mytext').val(); }, afterCopy: function(){ //复制成功 $("<span id='msg'/>").insertAfter($('#copy_input')).text('复制成功'); } }); }); 需要注意 如果是复制的内容来自输入框input、textarea等,copy对象使用: copy:

Android模拟器的常用命令

穿精又带淫゛_ 提交于 2019-12-01 17:02:18
经常用到的工具一般在Android SDK的tools目录下,而最新的SDK Tools r12将最常用的adb.exe放在了platform-tools文件夹下。 这里把platform-tools文件夹下的adb.exe、AdbWinApi.dll与AdbWinUsbApi.dll三个文件拷贝到tools目录下。 首先打开DOS窗口,将目录定位到tools下: 1、列出当前可用的SDK版本: android list target 2、创建Android虚拟机: android create avd -n <name> -t <targetID> [-<option> <value>] ... 例如,我们输入android create avd -n Android1.5 -t 1并回车(这里的1就是上图中的id),出现以下提示: 提示是否自定义硬件配置。如果直接回车或者输入n再回车,则会创建默认的模拟器: 3、启动一个Android模拟器: emulator -avd <avd_name> 例如,启动在上篇博文中创建的模拟器: 4、查询当前运行的模拟器实例数量: adb devices 首先有一个模拟器已经启动,然后在命令行输入:adb devices,显示如下: 5、计算机与模拟器之间互相复制文件: 从计算机复制到模拟器:adb push 从模拟器复制到计算机:adb

Redis复制实现原理

别等时光非礼了梦想. 提交于 2019-12-01 09:48:06
摘要 我的前一篇文章《 浅析Redis复制 》已经介绍了Redis复制相关特性,这篇文章主要在理解Redis复制相关源码的基础之上介绍Redis复制的实现原理。 Redis复制实现原理 应用场景化 为了更好地表达与理解,我们先举个实际应用场景例子来看看Redis复制是怎么工作的,我们先启动一台master: $ ./redis-server --port 8000 然后启动一个redis客户端和上面那台监听8000端口的Redis实例连接: $ ./redis-cli -p 8000 我们向redis写一个数据: 127.0.0.1:8000> set msg doni OK 127.0.0.1:8000> get msg "doni" 于是我们可以假设以下场景: 我们有一台master实例master,master已经处于正常工作的状态,接受读写请求,这个时候由于单台机器的压力过大,我们想再启动一个Redis实例来分担master的读压力,假设我们新启动的这个实例叫slave。 已知M1的IP为127.0.0.1,端口为:8000 首先我们先启动redis实例,同时启动一个客户端连接这个实例: $ ./redis-server --port 8001 $ ./redis-cli -p 8001 这个时候slave是没有数据的: 127.0.0.1:8001> get msg

Redis复制(Replication)

北战南征 提交于 2019-11-29 03:40:00
概述 Redis 支持简单且易用的主从复制(master-slave replication)功能, 该功能可以让从服务器(slave server)成为主服务器(master server)的精确复制品。 以下是关于 Redis 复制功能的几个重要方面: Redis 使用异步复制。 从 Redis 2.8 开始, 从服务器会以每秒一次的频率向主服务器报告复制流(replication stream)的处理进度。 一个主服务器可以有多个从服务器。 不仅主服务器可以有从服务器, 从服务器也可以有自己的从服务器, 多个从服务器之间可以构成一个图状结构。 复制功能不会阻塞主服务器: 即使有一个或多个从服务器正在进行初次同步, 主服务器也可以继续处理命令请求。 复制功能也不会阻塞从服务器: 只要在 redis.conf 文件中进行了相应的设置, 即使从服务器正在进行初次同步, 服务器也可以使用旧版本的数据集来处理命令查询。 不过, 在从服务器删除旧版本数据集并载入新版本数据集的那段时间内, 连接请求会被阻塞。 你还可以配置从服务器, 让它在与主服务器之间的连接断开时, 向客户端发送一个错误。 复制功能可以单纯地用于数据冗余(data redundancy), 也可以通过让多个从服务器处理只读命令请求来提升扩展性(scalability): 比如说, 繁重的 SORT