- 浏览: 613217 次
- 性别:
- 来自: 大连
-
最新评论
-
fei33423:
同意你的说法. hbase 的强一致性分为两部分来说. 数据分 ...
浅谈Hbase 的强一致性 -
zengwenbo5566:
,高人,刚安装了 genymotion 那个附带 virtu ...
VirtualBox报错Unable to load R3 module GetLastError=1790 (VERR_UNRESOLVED_ERROR -
kabike:
QQ1289714862 写道这代码有问题吧 bar1 bar ...
AtomicBoolean运用 -
QQ1289714862:
这代码有问题吧 bar1 bar2 那来的 你是不是new了两 ...
AtomicBoolean运用 -
DEMONU:
需要依赖这么多东西啊
hbase 0.96和hadoop 2.2 java 客户端的jar依赖
文章列表
在使用gluster 3.3.0的时候,发现各brick server的glusterd进程经常crash,日志中先出现
0-management: could not get inode size for ext4 : e2fsprogs package missing
0-management: failed to get inode size
然后进程就会被linux系统kill掉,log里报告说收到了11号signal
pending frames:
signal received: 11
在gluster源码中搜索"could not get inode size&q ...
使用
du -hs /
来查看/目录下所有文件大小,往往还包含/home,/opt等其他目录
那么使用
du -hsx /
就可以,x选项能够排除其他的文件系统
在linux上执行ps命令,输出往往被截断
ps -f -p1501
UID PID PPID C STIME TTY TIME CMD
root 1501 1 0 Nov11 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/home/mysql --socket=/var/lib/mysql/mysql.sock --pid-
可以使用以下形式,显示完整的命令
ps -f -w -w -p1501
或者
ps -f -p1501 | cat
UID ...
在bash里设置环境变量PROMPT_COMMAND,这个命令会在用户提示符之前被执行,可以用来记录用户操作历史
引用PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.
为了防止用户覆盖PROMPT_COMMAND,可以设置这个环境变量为readonly
比如在/etc/profile中追加
readonly PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i ...
linux删除mail
- 博客分类:
- linux
linux下经常有这样的提示
You have new mail in /var/spool/mail/root
只要在文件夹下执行
> root
>表示重定向,能清空root这个文件
C语言里非常有用的宏是__LINE__和__FILE__,能得到当前的文件名和行号.
java想实现类似的功能,可以用
System.out.println( Thread.currentThread().getStackTrace()[1].getFileName());
System.out.println( Thread.currentThread().getStackTrace()[1].getLineNumber());
System.out.println( new Throwable().getStackTrace()[0].getFileName());
...
一直以为只有R tree才能存储地理位置信息,看了mongodb的实现,原来B tree也可以.
它通过计算geohash,使相近的点具有相同的geohash前缀来实现
http://blog.nosqlfan.com/html/1811.html
http://docs.mongodb.org/manual/core/geospatial-indexes/#geospatial-indexes-geohash
发现向分片后的collection里插入大量数据之后,collection仍然没进行split,检查mongos日志后,发现有
引用errmsg: "Error locking distributed lock for split. :: caused by :: 13651 error checking clock skew of cluster
这时需要用ntpdate将mongodb服务器的时间校准.
struts2下载以后,里面jar包太多了,怎么知道哪些是最基本的jar包呢.可以参考
http://struts.apache.org/development/2.x/docs/simple-setup.html
mongodb的orders collection里已经有了一些数据
> db.orders.find();
{ "_id" : ObjectId("5237b7807d76a3941f8774c8"), "user_id" : 305, "amount" : 300 }
{ "_id" : ObjectId("5237b7907d76a3941f8774c9"), "user_id" : 306, "amount" : 200 } ...
想知道某个rpm包是什么时候安装的,可以在查询时指定queryformat
rpm -q --qf "%{installtime:date}\n" glibc-2.12-1.47.el6.x86_64
输出是
引用Fri 23 Aug 2013 04:40:27 PM CST
windows一般都用wireshark,而linux下,则可以使用tcpdump
比如捕获500个arp的包
tcpdump -c 500 arp
发现在bond网卡做网桥的下的KVM创建的虚拟机,不能ping通外面的机器,等到外面的机器ping完该虚拟机后,该虚拟机才能ping通外面的机器.
用tcpdump跟踪后,发现虚拟机的arp请求都没正常返回,导致虚拟机的arp信息不正确,因此不能与外界通信.
google后发现原来这是一个bug,需要改bond的模式
https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/785668
根据CAP理论,分布式存储系统最多只能满足其中两项.因为P是必须的,因此往往选择就在CP或者AP中.
gluster通过设置Quorum,可以在CP系统和AP系统间切换.
mongodb可以设置writeconcern
以前mysql的replication一直都是异步的,这样mysql的主从集群只能保证最终一致性,而不是强一致性.
不过mysql5.5开始,有了半同步主从复制,master在至少一个slave完成后才返回成功.从一点程度上,提高了mysql replication集群的一致性.
gluster的一个问题就是脑裂现象的存在,脑裂出现以后往往需要管理员人工处理.
为了尽可能减少脑裂的发生,可以设置quorum.
quorum就相当于一次写入时的最小成功副本数.比如3副本的卷,设置quorum为2,那么一次写入至少要写到两个副本上才算成功,否则写入失败,返回readonly错误.2副本的卷,那么至少要写到第一个副本里
原理和具体设置方法请见
http://hekafs.org/index.php/2011/11/quorum-enforcement/