五术的(山、医、命、相、卜 )基本构成,都是源自易经,易经涵盖时空,宇宙的万事万物,都阴阳相互对立又能相互转化,如冬去春来,夏去秋来,月升日落,老死少生等等。
《山》
所包含的是修心养性、锻炼身体的秘术,是最深奥、最神秘的,也是最容易被人误解为"迷信"的一种。"山"包含《玄典》、《养生》、《修密》三部分的修习。
玄典--一切可以修身养性的好书都可以用来修习,如《老子》、《庄子》、《列子》、《孙子》、《太公阴符经》、《黄帝内经》、《道藏》甚至《西游记》等一切书籍都被拿来充实思想、参悟宇宙道理。
养生--追求健康长寿的吐纳法--气功。道家的炼丹法,称之为天丹、人丹、地丹。
修密--符咒法、压镇法、祈星法、武术等,利用运动以及精神、意念的统一来提高身心境界的方法。 也有秘术门派将"山"分为仙、道、幻、灵、兵五种方法。而其范围不离上述三部分。山是秘术中最不容易达到的境界,严格地说,它是凡人修仙道的工夫,是求超脱的形而上之追求,只有"命、卜、相、医"流在江湖凡尘济世了。
《医》
医包括三部分。
方剂--使用药物,根据表里、虚实、寒热,再应用古老的周易八卦来治疗各种疾病一种方法。如易经的阴极生阳,阳极生阴。
针灸--以《黄帝内经》、《难经》辩奇经八脉、穴道,用铜针刺穴道治疗疾病的方法。
灵疗--以催眠术、暗示法及集中精神意念,利用《祝由十三科》做药引来治疗疾病的方法。
《命》
"命"是以时间、空间的磁场来判断人的命运的一种方法。其重要的方法有:
占星术--在占星术所包含的有《七政四余》、《紫薇斗数》、《五星术》。
干支术-- 以人出生时间,年月日时以天干地支排列成命,四柱中命的部分典籍最多,重要的古籍有:《果老星宗》、《星平会海》、《渊海子平》、《鬼谷遗文》、《孙膑遗书》、《三命通会》、《穷通宝鉴》(又名栏江纲)、《滴天髓》、《神峰通考》、《铁板神数》、《河洛理数》、《子平真诠》、《子平粹言》……等等。现代人的命学著作更是汗牛充栋,不胜枚举。
《卜》
所有数术玄学以卜术最为渊源流长,历史朝代中的军事家大多精通此术,汉朝的诸葛亮、唐朝的李淳风、宋朝的邵康节、明朝的刘伯温、清朝的曾国藩……诸术以卜派最为渊源流长,从古老的周易演化而来,如《梅花易数》、《纳甲断易》、《六壬神课》、《太乙神数》、《奇门遁甲》等数术学。有的门派在卜的这一部分还包括预言、克应占梦、测字解字、签贴、姓名学等方术。
《相》
相的部分包括两种:
人相--手相、面相、体相、摸骨、痣相等,代表著作有《观人于微》、《相理衡真》、《神相铁关刀》、《水镜神相》、《麻衣神相》、《金铰剪》等。
地相--地相就是古时的《堪舆术》,分为看门井灶的阳宅相法与看龙穴砂水向的阴宅相法,一般称为风水术。其主要的流派有《三元法》、《三合法》、《九星法》等。
2009年9月16日水曜日
2009年9月14日月曜日
国外 对云计算、SAAS炒作的看法摘录
面对越来越大的经济压力,大大小小的公司在寻求云计算,以缓解压力。这个流行语无处不在:云计算能降低成本、加快实施、迅速扩展。然而,这个流行语可能有点不切题,至少厂商推销产品时是这样。
开源SOA提供商MuleSource公司的联合创办人兼首席技术官Ross Mason说:“正如SOA由厂商炒作起来,因而变得更像是一个营销用语,而不是准确描述了架构;这一幕同样会出现在2009年的云计算身上,完全是重炒作、轻实用。”
在对于软件即服务(SaaS)和云计算之间区别上KenRudin认为:虽然营销信息模糊了大多数的区别,但其实这二者还是有不同的。云计算是一个总括的概念,这意味着在互联网上提供各种数据中心服务。这包括计算和CPU资源(例子之一就是Amazon的EC2服务)、网络存储服务、在线软件开发平台(如Salesforce.com的Force.Com平台)。还包括云计算在互联网上提供应用程序,如Salesforce.com的CRM解决方案,NetSuite的ERP解决方案,以及LucidEra的商业智能应用程序。在互联网上提供应用程序就是通常的SaaS或“需求”应用程序。SaaS应用程序在今天有着广泛的应用,涵盖几乎所有的应用类程序
对技术人员而言,云计算意味着网格计算、公用计算、软件即服务(SaaS)、虚拟化、基于互联网的应用、自主计算、对等计算、按需处理和远程处理,以及这些术语的各种组合。这些都是Fingar所谓的“信息工厂”(information factories)的方面。
对非技术人员而言,云计算只是一个平台,个人和公司使用互联网来访问不计其数的硬件、软件和数据资源,以满足自己的大多数计算要求,用Fingar的话来说,就是“把麻烦扔给云服务提供商(CSP)去处理”。
CIO并不是惟一为云计算问题而担心的管理人员。Avanade公司云计算战略高级主管Larry Beck说:“我们调查的一项主要结果表明,尽管需要降低成本,但大多数公司还是没有采用云计算,即便它们认识到云计算是降低先期成本和日常成本的一种切实可行的方案。担心安全以及对数据和系统失去控制权在阻碍采用。”
另一个方面也很麻烦:法规监管问题。
即将出版的《云计算手册》(Cloud Computing Handbook)一书合著者Anthony Velte说:“如果你想使用云计算,把需要遵从《健康保险可携性及责任性法案》(HIPAA)的数据发布到云上,就要认真考虑这么做是否符合法规。 HIPAA数据可能与另一家企业的数据在同一台服务器上混合起来,这可能会引起留心观察的HIPAA审计人员的注意。”
Velte补充说:“如果你的数据受制于HIPPA或《萨班斯-奥克斯利法案》这样的法规,在制定把数据放到云上的计划时最好要非常慎重。毕竟,如果你把客户的财务数据发布到云上,要是出现了泄密,客户会找云服务提供商还是会找你?”
结果证明,云计算其实受到地理边界的限制。你把自己的信息发布到云上也许是违法的。Velte说:“比方说如果你在加拿大境内,你想把自己的数据发布到美国的云上,就可能违反加拿大法律。”
加拿大政府已宣布,政府部门的IT员工不得使用在美国境内运行的网络服务。他说:“原因在于,按照美国《爱国者法》,保存在美国境内服务器上的加拿大数据可能会受到不利影响。在美国境外运行的云也是如此。你可能不知道法律在监管你数据在外国的隐私和保护。”
Akibia公司的技术副总裁Robert Klotz说:“云计算面临的挑战在于,只有几个应用是真正作为Web 2.0解决方案针对云计算而构建的。软件即服务解决方案很接近,但它们不是真正的Web 2.0解决方案。”
暴雪娱乐昨日决定在新版《星际争霸2》中放弃局域网对战功能,但用户可以通过接入基于云计算技术的战网(Battle.net)平台实现对战。不过,部分用户对暴雪的这一决定感到不满,因为云计算平台会导致延迟及其他问题。
麦肯斯最近发布的一份白皮书显示,只有在云中使用Linux等特定平台时,用户才有可能省钱。如果需要一整个数据中心,最好的方法还是内部搭建。还有一个因素是,在当前的授权和支持模式中,如果用户将商业软件部署到云中,那么他们所支付的费用将远大于内部使用的费用。
即使云计算厂商已经事无巨细,但仍然无法保证用户服务器、应用和网络的绝对安全。当零售商或刷卡机遵守信用卡行业的PCI DSS标准时,那么它部署在亚马逊或谷歌等云计算平台上的服务器和应用就会受到审查。斯塔滕说,如果你的应用安装的不好,那么平台再安全也没用。
西门子的云计算服务则会从里到外检查每一个可能访问用户关键信息的路径。科拉尔说,确保每个平台的安全并不难,难的是让所有必要的安全技术相互协调。
斯塔滕说,用户需要对云计算厂商进行仔细审核,以便确保不存在不当行为。例如,将每个用户的表格空间都设置在同一数据库中,使得客户之间能够相互查看彼此的用户数据。
与传统方式相比,在云计算服务中,通过一块新网卡将虚拟机接入到不安全的网络要容易得多。因此,对云计算厂商进行独立的审核就显得非常重要,绝对不能盲目相信云计算厂商的安全性。
开源SOA提供商MuleSource公司的联合创办人兼首席技术官Ross Mason说:“正如SOA由厂商炒作起来,因而变得更像是一个营销用语,而不是准确描述了架构;这一幕同样会出现在2009年的云计算身上,完全是重炒作、轻实用。”
在对于软件即服务(SaaS)和云计算之间区别上KenRudin认为:虽然营销信息模糊了大多数的区别,但其实这二者还是有不同的。云计算是一个总括的概念,这意味着在互联网上提供各种数据中心服务。这包括计算和CPU资源(例子之一就是Amazon的EC2服务)、网络存储服务、在线软件开发平台(如Salesforce.com的Force.Com平台)。还包括云计算在互联网上提供应用程序,如Salesforce.com的CRM解决方案,NetSuite的ERP解决方案,以及LucidEra的商业智能应用程序。在互联网上提供应用程序就是通常的SaaS或“需求”应用程序。SaaS应用程序在今天有着广泛的应用,涵盖几乎所有的应用类程序
对技术人员而言,云计算意味着网格计算、公用计算、软件即服务(SaaS)、虚拟化、基于互联网的应用、自主计算、对等计算、按需处理和远程处理,以及这些术语的各种组合。这些都是Fingar所谓的“信息工厂”(information factories)的方面。
对非技术人员而言,云计算只是一个平台,个人和公司使用互联网来访问不计其数的硬件、软件和数据资源,以满足自己的大多数计算要求,用Fingar的话来说,就是“把麻烦扔给云服务提供商(CSP)去处理”。
CIO并不是惟一为云计算问题而担心的管理人员。Avanade公司云计算战略高级主管Larry Beck说:“我们调查的一项主要结果表明,尽管需要降低成本,但大多数公司还是没有采用云计算,即便它们认识到云计算是降低先期成本和日常成本的一种切实可行的方案。担心安全以及对数据和系统失去控制权在阻碍采用。”
另一个方面也很麻烦:法规监管问题。
即将出版的《云计算手册》(Cloud Computing Handbook)一书合著者Anthony Velte说:“如果你想使用云计算,把需要遵从《健康保险可携性及责任性法案》(HIPAA)的数据发布到云上,就要认真考虑这么做是否符合法规。 HIPAA数据可能与另一家企业的数据在同一台服务器上混合起来,这可能会引起留心观察的HIPAA审计人员的注意。”
Velte补充说:“如果你的数据受制于HIPPA或《萨班斯-奥克斯利法案》这样的法规,在制定把数据放到云上的计划时最好要非常慎重。毕竟,如果你把客户的财务数据发布到云上,要是出现了泄密,客户会找云服务提供商还是会找你?”
结果证明,云计算其实受到地理边界的限制。你把自己的信息发布到云上也许是违法的。Velte说:“比方说如果你在加拿大境内,你想把自己的数据发布到美国的云上,就可能违反加拿大法律。”
加拿大政府已宣布,政府部门的IT员工不得使用在美国境内运行的网络服务。他说:“原因在于,按照美国《爱国者法》,保存在美国境内服务器上的加拿大数据可能会受到不利影响。在美国境外运行的云也是如此。你可能不知道法律在监管你数据在外国的隐私和保护。”
Akibia公司的技术副总裁Robert Klotz说:“云计算面临的挑战在于,只有几个应用是真正作为Web 2.0解决方案针对云计算而构建的。软件即服务解决方案很接近,但它们不是真正的Web 2.0解决方案。”
暴雪娱乐昨日决定在新版《星际争霸2》中放弃局域网对战功能,但用户可以通过接入基于云计算技术的战网(Battle.net)平台实现对战。不过,部分用户对暴雪的这一决定感到不满,因为云计算平台会导致延迟及其他问题。
麦肯斯最近发布的一份白皮书显示,只有在云中使用Linux等特定平台时,用户才有可能省钱。如果需要一整个数据中心,最好的方法还是内部搭建。还有一个因素是,在当前的授权和支持模式中,如果用户将商业软件部署到云中,那么他们所支付的费用将远大于内部使用的费用。
即使云计算厂商已经事无巨细,但仍然无法保证用户服务器、应用和网络的绝对安全。当零售商或刷卡机遵守信用卡行业的PCI DSS标准时,那么它部署在亚马逊或谷歌等云计算平台上的服务器和应用就会受到审查。斯塔滕说,如果你的应用安装的不好,那么平台再安全也没用。
西门子的云计算服务则会从里到外检查每一个可能访问用户关键信息的路径。科拉尔说,确保每个平台的安全并不难,难的是让所有必要的安全技术相互协调。
斯塔滕说,用户需要对云计算厂商进行仔细审核,以便确保不存在不当行为。例如,将每个用户的表格空间都设置在同一数据库中,使得客户之间能够相互查看彼此的用户数据。
与传统方式相比,在云计算服务中,通过一块新网卡将虚拟机接入到不安全的网络要容易得多。因此,对云计算厂商进行独立的审核就显得非常重要,绝对不能盲目相信云计算厂商的安全性。
2009年9月12日土曜日
查看和清除Oracle数据库锁定
create or replace function getDay(parm1 varchar2) return varchar2
is Result varchar2(1000);
begin
Result:='my name is '||parm1;
return(Result);
end getDay;
create or replace function devib2.getMessage(messageId varchar2) return varchar2 is
Result varchar2(1000);
begin
select msg1.message into Result from B00A00DB00001 msg ,B00A00DB00002 msg1
where msg.error_code in(messageId)
and msg.view_message_id = msg1.message_id
and rownum = 1;
return(Result);
end getMessage;
select getMessage('A01EG00002') from dual
is Result varchar2(1000);
begin
Result:='my name is '||parm1;
return(Result);
end getDay;
create or replace function devib2.getMessage(messageId varchar2) return varchar2 is
Result varchar2(1000);
begin
select msg1.message into Result from B00A00DB00001 msg ,B00A00DB00002 msg1
where msg.error_code in(messageId)
and msg.view_message_id = msg1.message_id
and rownum = 1;
return(Result);
end getMessage;
select getMessage('A01EG00002') from dual
Debian下配置Samba服务器
apt-get install samba
输入工作组名,或者域名:workgroup。
cd /etc/samba/
testparm
mv /etc/samba/smb.conf smb.conf.backup
vim /etc/samba/smb.conf
------------------------------------------
[global]
log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
smb passwd file = /etc/samba/smbpasswd
security = share
------------------------------------------
/etc/init.d/samba restart
useradd hxcname
touch /etc/samba/smbpasswd
chmod 777 smbpasswd
smbpasswd -a hxcname
New SMB password:
Retype new SMB password:
这时,kanaka就被写进了/etc/samba/smbpasswd文件,hxname就可以从windows访问samba了。
7.测试
在你的Windows里面,找到网上邻居的debian,用刚才创建的用户,访问它,并向tmp目录拷贝一个文件。怎么样,可以了吧。
输入工作组名,或者域名:workgroup。
cd /etc/samba/
testparm
mv /etc/samba/smb.conf smb.conf.backup
vim /etc/samba/smb.conf
------------------------------------------
[global]
log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
smb passwd file = /etc/samba/smbpasswd
security = share
------------------------------------------
/etc/init.d/samba restart
useradd hxcname
touch /etc/samba/smbpasswd
chmod 777 smbpasswd
smbpasswd -a hxcname
New SMB password:
Retype new SMB password:
这时,kanaka就被写进了/etc/samba/smbpasswd文件,hxname就可以从windows访问samba了。
7.测试
在你的Windows里面,找到网上邻居的debian,用刚才创建的用户,访问它,并向tmp目录拷贝一个文件。怎么样,可以了吧。
安装 Tokyo Cabinet 和 Tokyo Tyrant
Tokyo Cabinet 是一款 DBM 数据库,与Berkeley DB是同类产品,但性能要好。
Tokyo Tyrant 是Tokyo Cabinet 的数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。
我用 tokyocabinet-1.4.10 与 tokyotyrant-1.1.17
●安装 Tokyo Cabinet
apt-get --purge remove gdm
wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.12.tar.gz
tar zxvf tokyocabinet-1.4.12.tar.gz
cd tokyocabinet-1.4.12
which gcc
apt-get install gcc
apt-get install zlib1g-dev
wget ftp://ftp.pbone.net/mirror/www.haoli.org/pub/redhat-6.x/RPMS/i386/outdated/bzip2-1.0.0-1.i386.rpm
apt-get install alien
alien -i bzip2-1.0.0-1.i386.rpm
./configure --prefix=/home/tc
make
make install
cd ..
●安装 Tokyotyrant
wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.17.tar.gz
tar zxvf tokyotyrant-1.1.17.tar.gz
cd tokyotyrant-1.1.17
./configure --prefix=/home/tt --with-tc=/home/tc
make
make install
cd ..
如果安装Tokyo Cabinet时指定了目录,在安装Tokyo Tyrant时用--with-tc指定Tokyo Cabinet的目录,如果没指定会报:configure: error: tcutil.h is required 错误。
启动 ttserver
/home/tt/bin/ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
#出现下面的错误
bin/ttserver: error while loading shared libraries: libtokyocabinet.so.8: cannot open shared object file: No such file or directory
libtokyocabinet.so.8 只在/home/tc/lib目录中,所以找不到。可以做一下软件连接,
ln -s /home/tc/lib/libtokyocabinet.so.8.1.0 lib/libtokyocabinet.so.8
ln -s /home/tc/lib/libtokyocabinet.so.8.1.0 lib/libtokyocabinet.so.8
再启动就可以了。
试用:
写入数据
curl -X PUT http://127.0.0.1:11211/my_key -d "this is value"
curl -X PUT http://127.0.0.1:11211/my_key -d "this is value"
取数据
curl http://127.0.0.1:11211/my_key
curl http://127.0.0.1:11211/my_key
删除数据
curl -X DELETE http://127.0.0.1:11211/my_key
curl -X DELETE http://127.0.0.1:11211/my_key
参考:利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统
##############################################################################################################################
mkdir -p /var/tokyo
二 启动
1)
单机模式
ulimit -SHn 51200
ttserver -host 127.0.0.1 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 1 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
2)
双机互为主辅模式
192.168.1.100
ulimit -SHn 51200
ttserver -host 192.168.1.100 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 100 -mhost 192.168.1.101 -mport 13000 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
192.168.1.101
ulimit -SHn 51200
ttserver -host 192.168.1.101 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 101 -mhost 192.168.1.100 -mport 13000 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
三 测试
1)
curl -X PUT http://127.0.0.1:13000/testkey -d “this is a test”
curl http://127.0.0.1:13000/testkey
curl -X DELETE http://127.0.0.1:13000/testkey
2)
$mem = new Memcache;
$mem->connect(”127.0.0.1″,13000);
$mem->set(’testkey’, ‘this is a test!!’, 0, 60);
$val = $mem->get(’testkey’);
echo $val;
?>
四 参数说明
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [dbname]
-host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。
-port num : 指定需要绑定的端口号。默认端口号为1978
-thnum num : 指定线程数。默认为8个线程。
-tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。
-dmn : 以守护进程方式运行。
-pid path : 输出进程ID到指定文件(这里指定文件名)。
-log path : 输出日志信息到指定文件(这里指定文件名)。
-ld : 在日志文件中还记录DEBUG调试信息。
-le : 在日志文件中仅记录错误信息。
-ulog path : 指定同步日志文件存放路径(这里指定目录名)。
-ulim num : 指定每个同步日志文件的大小(例如128m)。
-uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill掉,将导致部分数据丢失。一般情况下不建议使用)。
-sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)
-mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。
-mport num : 指定主辅同步模式下,主服务器的端口号。
-rts path : 指定用来存放同步时间戳的文件名。
如果使用的是哈希数据库,可以指定参数“#bnum=xxx”来提高性能。它可以指定bucket存储桶的数量。例如指定“#bnum=1000000”,就可以将最新最热的100万条记录缓存在内存中:
ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch#bnum=1000000
Tokyo Tyrant 是Tokyo Cabinet 的数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。
我用 tokyocabinet-1.4.10 与 tokyotyrant-1.1.17
●安装 Tokyo Cabinet
apt-get --purge remove gdm
wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.12.tar.gz
tar zxvf tokyocabinet-1.4.12.tar.gz
cd tokyocabinet-1.4.12
which gcc
apt-get install gcc
apt-get install zlib1g-dev
wget ftp://ftp.pbone.net/mirror/www.haoli.org/pub/redhat-6.x/RPMS/i386/outdated/bzip2-1.0.0-1.i386.rpm
apt-get install alien
alien -i bzip2-1.0.0-1.i386.rpm
./configure --prefix=/home/tc
make
make install
cd ..
●安装 Tokyotyrant
wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.17.tar.gz
tar zxvf tokyotyrant-1.1.17.tar.gz
cd tokyotyrant-1.1.17
./configure --prefix=/home/tt --with-tc=/home/tc
make
make install
cd ..
如果安装Tokyo Cabinet时指定了目录,在安装Tokyo Tyrant时用--with-tc指定Tokyo Cabinet的目录,如果没指定会报:configure: error: tcutil.h is required 错误。
启动 ttserver
/home/tt/bin/ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch
#出现下面的错误
bin/ttserver: error while loading shared libraries: libtokyocabinet.so.8: cannot open shared object file: No such file or directory
libtokyocabinet.so.8 只在/home/tc/lib目录中,所以找不到。可以做一下软件连接,
ln -s /home/tc/lib/libtokyocabinet.so.8.1.0 lib/libtokyocabinet.so.8
ln -s /home/tc/lib/libtokyocabinet.so.8.1.0 lib/libtokyocabinet.so.8
再启动就可以了。
试用:
写入数据
curl -X PUT http://127.0.0.1:11211/my_key -d "this is value"
curl -X PUT http://127.0.0.1:11211/my_key -d "this is value"
取数据
curl http://127.0.0.1:11211/my_key
curl http://127.0.0.1:11211/my_key
删除数据
curl -X DELETE http://127.0.0.1:11211/my_key
curl -X DELETE http://127.0.0.1:11211/my_key
参考:利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统
##############################################################################################################################
mkdir -p /var/tokyo
二 启动
1)
单机模式
ulimit -SHn 51200
ttserver -host 127.0.0.1 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 1 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
2)
双机互为主辅模式
192.168.1.100
ulimit -SHn 51200
ttserver -host 192.168.1.100 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 100 -mhost 192.168.1.101 -mport 13000 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
192.168.1.101
ulimit -SHn 51200
ttserver -host 192.168.1.101 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 101 -mhost 192.168.1.100 -mport 13000 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
三 测试
1)
curl -X PUT http://127.0.0.1:13000/testkey -d “this is a test”
curl http://127.0.0.1:13000/testkey
curl -X DELETE http://127.0.0.1:13000/testkey
2)
$mem = new Memcache;
$mem->connect(”127.0.0.1″,13000);
$mem->set(’testkey’, ‘this is a test!!’, 0, 60);
$val = $mem->get(’testkey’);
echo $val;
?>
四 参数说明
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [dbname]
-host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。
-port num : 指定需要绑定的端口号。默认端口号为1978
-thnum num : 指定线程数。默认为8个线程。
-tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。
-dmn : 以守护进程方式运行。
-pid path : 输出进程ID到指定文件(这里指定文件名)。
-log path : 输出日志信息到指定文件(这里指定文件名)。
-ld : 在日志文件中还记录DEBUG调试信息。
-le : 在日志文件中仅记录错误信息。
-ulog path : 指定同步日志文件存放路径(这里指定目录名)。
-ulim num : 指定每个同步日志文件的大小(例如128m)。
-uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill掉,将导致部分数据丢失。一般情况下不建议使用)。
-sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)
-mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。
-mport num : 指定主辅同步模式下,主服务器的端口号。
-rts path : 指定用来存放同步时间戳的文件名。
如果使用的是哈希数据库,可以指定参数“#bnum=xxx”来提高性能。它可以指定bucket存储桶的数量。例如指定“#bnum=1000000”,就可以将最新最热的100万条记录缓存在内存中:
ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch#bnum=1000000
安装 Tokyo Cabinet 和 Tokyo Tyrant
Tokyo Cabinet 是一款 DBM 数据库,与Berkeley DB是同类产品,但性能要好。
Tokyo Tyrant 是Tokyo Cabinet 的数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。
我用 tokyocabinet-1.4.10 与 tokyotyrant-1.1.17
●安装 Tokyo Cabinet
apt-get --purge remove gdm
$wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.12.tar.gz
$tar zxvf tokyocabinet-1.4.12.tar.gz
$cd tokyocabinet-1.4.12
$apt-get install gcc make
http://google-desktop-for-linux-mirror.googlecode.com/files/zlib-1.2.3.tar.gz
$tar zxvfzlib-1.2.3.tar.gz
$cd zlib-1.2.3
$./configure
$make
$make install
$wget http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
$cdb bzip2-1.0.5
$./configure --prefix=/home/bzip2-1.0.5
$make
$ make install
$./configure --prefix=/home/tc
$make
$make install
$cd ..
●安装 Tokyotyrant
$wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.17.tar.gz
$tar zxvf tokyotyrant-1.1.17.tar.gz
$cd tokyotyrant-1.1.17
$./configure --prefix=/home/tt --with-tc=/home/tc
$make
$make install
$cd ..
$vi /etc/ld.so.conf
加入/home/tc/lib
:wq 退出
$/sbin/ldconfig –v
启动 ttserver
$ulimit -SHn 51200
$/home/tt/bin/ttserver -host 192.168.137.64 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch#bnum=1000000
再启动就可以了。
##############################################################################################################################
mkdir -p /var/tokyo
二 启动
1)
单机模式
ulimit -SHn 51200
ttserver -host 127.0.0.1 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 1 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
三 测试
5、安装curl支持
>sudo aptitude install php5-curl
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
1)
curl -X PUT http://127.0.0.1:13000/testkey -d “this is a test”
curl http://127.0.0.1:13000/testkey
curl -X DELETE http://127.0.0.1:13000/testkey
2)
$mem = new Memcache;
$mem->connect(”127.0.0.1″,13000);
$mem->set(’testkey’, ‘this is a test!!’, 0, 60);
$val = $mem->get(’testkey’);
echo $val;
?>
3、停止tokyotyrant(ttserver)
ps -ef | grep ttserver
找到ttserver的进程号并kill,例如:
kill -TERM 2159
Tokyo Tyrant 是Tokyo Cabinet 的数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。
我用 tokyocabinet-1.4.10 与 tokyotyrant-1.1.17
●安装 Tokyo Cabinet
apt-get --purge remove gdm
$wget http://tokyocabinet.sourceforge.net/tokyocabinet-1.4.12.tar.gz
$tar zxvf tokyocabinet-1.4.12.tar.gz
$cd tokyocabinet-1.4.12
$apt-get install gcc make
http://google-desktop-for-linux-mirror.googlecode.com/files/zlib-1.2.3.tar.gz
$tar zxvfzlib-1.2.3.tar.gz
$cd zlib-1.2.3
$./configure
$make
$make install
$wget http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
$cdb bzip2-1.0.5
$./configure --prefix=/home/bzip2-1.0.5
$make
$ make install
$./configure --prefix=/home/tc
$make
$make install
$cd ..
●安装 Tokyotyrant
$wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.17.tar.gz
$tar zxvf tokyotyrant-1.1.17.tar.gz
$cd tokyotyrant-1.1.17
$./configure --prefix=/home/tt --with-tc=/home/tc
$make
$make install
$cd ..
$vi /etc/ld.so.conf
加入/home/tc/lib
:wq 退出
$/sbin/ldconfig –v
启动 ttserver
$ulimit -SHn 51200
$/home/tt/bin/ttserver -host 192.168.137.64 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch#bnum=1000000
再启动就可以了。
##############################################################################################################################
mkdir -p /var/tokyo
二 启动
1)
单机模式
ulimit -SHn 51200
ttserver -host 127.0.0.1 -port 13000 -thnum 8 -dmn -pid /var/tokyo/ttserver.pid -log /var/tokyo/ttserver.log -le -ulog /var/tokyo/ -ulim 128m -sid 1 -rts /var/tokyo/ttserver.rts /var/tokyo/database.tch
三 测试
5、安装curl支持
>sudo aptitude install php5-curl
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
1)
curl -X PUT http://127.0.0.1:13000/testkey -d “this is a test”
curl http://127.0.0.1:13000/testkey
curl -X DELETE http://127.0.0.1:13000/testkey
2)
$mem = new Memcache;
$mem->connect(”127.0.0.1″,13000);
$mem->set(’testkey’, ‘this is a test!!’, 0, 60);
$val = $mem->get(’testkey’);
echo $val;
?>
3、停止tokyotyrant(ttserver)
ps -ef | grep ttserver
找到ttserver的进程号并kill,例如:
kill -TERM 2159
2009年9月3日木曜日
2009年9月2日水曜日
解决Debian中由于"Starting MTA..."造成启动慢的问题
我用的是Debian Lenny,我发现每次启动到 "Starting MTA..." 时都得等上很久,有时候甚至得一分多钟,太难受了。
今天在网上找到了一个解决办法,分享一下。
出现这种情况的原因:
MTA(message transfer agent,默认装的是Exim) 在启动时会进行DNS lookups(DNS查找) 操作,而如果是拔号上网或是像我用Reijie的话,系统会尝试进行网络连接(即使是连接失败),这将会尝试很长一段时间,所以造成启动慢的问题. ( 这里有详细的解释: Exim 4 for Debian 中的 2.1.1.10. Keep number of DNS queries minimal (Dial-on-Demand) )
解决办法:
1. 编辑文件: /etc/exim4/update-exim4.conf.conf , 找到 dc_minimaldns 字段,并设置为: dc_minimaldns='true';
2. 重新设置 exim. 运行:sudo dpkg-reconfigure exim4-config
到时选择 Yes 即可。
====================分割线==========================
如果用不到邮件路由,可以用sysv-rc-conf或者rcconf禁用掉exim服务即可
今天在网上找到了一个解决办法,分享一下。
出现这种情况的原因:
MTA(message transfer agent,默认装的是Exim) 在启动时会进行DNS lookups(DNS查找) 操作,而如果是拔号上网或是像我用Reijie的话,系统会尝试进行网络连接(即使是连接失败),这将会尝试很长一段时间,所以造成启动慢的问题. ( 这里有详细的解释: Exim 4 for Debian 中的 2.1.1.10. Keep number of DNS queries minimal (Dial-on-Demand) )
解决办法:
1. 编辑文件: /etc/exim4/update-exim4.conf.conf , 找到 dc_minimaldns 字段,并设置为: dc_minimaldns='true';
2. 重新设置 exim. 运行:sudo dpkg-reconfigure exim4-config
到时选择 Yes 即可。
====================分割线==========================
如果用不到邮件路由,可以用sysv-rc-conf或者rcconf禁用掉exim服务即可
登録:
投稿 (Atom)