Whoosh 开始

Whoosh is a fast, featureful full-text indexing and searching library implemented in pure Python.

whoosh 是一个纯python实现的快速,多功能的全文索引和搜索库。

Programmers can use it to easily add search functionality to their applications and websites.

程序员可以轻松的给应用和网站添加搜索功能。

Every part of how Whoosh works can be extended or replaced to meet your needs exactly.

whoosh的每个部分都可以扩展或者替换以迎合你的需求。

Some of Whoosh’s features include:

  • Pythonic API.
  • Pure-Python. No compilation or binary packages needed, no mysterious crashes.
  • Fielded indexing and search.
  • Fast indexing and retrieval — faster than any other pure-Python search solution I know of.
  • Pluggable scoring algorithm (including BM25F), text analysis, storage, posting format, etc.
  • Powerful query language.
  • Production-quality pure Python spell-checker (as far as I know, the only one).

whoosh的一些功能包括:

  • python化的API.
  • 纯Python. 不需要编译或者二进制包,没有神秘的崩溃.
  • 派出索引和搜索
  • 快速索引和取回 — 比我知道的任何一个纯python搜索方案都快
  • 可插拔的评分算法 (包括 BM25F), 文本分析, 存储, 发帖格式, 等.
  • 强大的查询语句.
  • 产品级的纯python拼写检查 (我所知的最快的,没有之一).

 

 

Share

lvs-tun 配置memo

director:192.168.8.220, vip:192.168.8.224
realserver:192.168.8.221

director.sh

#!/bin/sh

VIP=192.168.8.224
RIP=192.168.8.221

modprobe ip_vs
modprobe ipip
/etc/init.d/iptables stop


ifconfig eth0:0 down
ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev eth0:0
ipvsadm -A -t $VIP:80 -s rr
ipvsadm -a -t $VIP:80 -r $RIP -i 
ipvsadm

realserver.sh

#!/bin/sh

VIP=192.168.8.224
RIP=192.168.8.221

modprobe ipip
/etc/init.d/iptables stop

ifconfig tunl0 down
ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up
route add -host $VIP dev tunl0


echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

arptables -A IN -j DROP -d $VIP
arptables -A OUT -j DROP -d $VIP
/etc/init.d/arptables_jf save

Share

LXC

LXC:Linux 容器工具

容器可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。本文循序渐进地介绍容器工具 Linux® Containers(LXC)。作者在文中演示如何设置和使用它们。

Share

Dell 服务器远程安装 Centos 脉创方案

手头的服务器大多是dell R410&R610,都有 iDrac 。服务器的配置很不错,需要充分的利用。

远程开关机这些自然不在话下。于是寻思着如果能重装系统呢?

也问了几个牛B的运维大大,给的方案有这么些

1.netinstall – 这个很传统,很耗带宽(不过是上行带宽的话IDC也无所谓哦~)

2.自己做centos 软件源 – 这个很牛,直接在IDC内部做个发布版本的yum镜像,一样的耗带宽,不过比方案1省很多

以上2个方案适合在一个物理地点集中托管很多服务器,但是我们的应用决定了我们有很多分散的物理地点,每个物理地点托管的机器不超过20台,所以…

自己想了2个方案:

3. 用USB安装,现在usb很便宜一个30元左右,成本合理(遇到的问题后面再说)

4. 刻录光盘放在服务器里的CD中,随时可重装系统(遇到的问题后面再说)

问题来了。。。来的很快:

方案3在安装过程中很ok但是装完了发现因为是usb启动引导的,所以grub把引导区写在usb上了 。。。 囧~

虽然可以通过改grub来纠正这个错误,但是! 首先我没能搞定,其次,我都搞不定运维肯定也搞不定!!

方案4 完全没问题,光盘这种介质在现在是多么的便宜,合下来1张系统盘只要1.3元成本~ 这是我梦想的解决方案啊!!!! 但是!! 有个致命的弱点:系统装完后光驱会弹出!!! 本来采取远程安装就是不想依赖机房运维,如果每次装系统都要机房值班推光驱,这太让我不能接受了!

后来一次再和我们运维总监聊的过程中给我一个很好的启发:可以将光盘镜像存在usb里(插服务器里),然后用iDrac的虚拟介质引导安装!

说干就干:

第一步,分离光盘镜像

把引导部分抽离 成启动iso 这个iso是安装时引导用 最终我分离的iso为35m (可以进一步优化) 这部分是要从本地传给服务器的。

建立一个工作目录,网上一般叫 myiso/

目录结构如下

myiso/
======isolinux/
===============抓图3

然后在myiso上一个目录跑一下这个命令

mkisofs -o myiso.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table myiso

这样你就有个用来做虚拟介质的镜像了 》》》 myiso.iso

补充: 要说isolinux这个目录和里面的文件的来源,是我从 centos的安装镜像里解压出来的~ 对的,完全用官方的东西哦
又补充:boost.msg && isolinux.cfg是可以修改的,比如我改的 isolinux.cfg如下

prompt 1
timeout 600
display boot.msg

menu title Welcome to CentOS 6.3!

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img

label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue

第二步,简简单单的把U盘格式一下(fat32)然后把 官方镜像iso里的 images/ 和镜像本身放入U盘, Done!
第二.一步,把u盘插入dell 服务器内部usb接口 :)

第三步,启动idrac虚拟终端,挂载虚拟介质(myiso.iso)

第四步,开始安装centos, 此处略去50字。。。

Share