shitou's blog 

  • Home
  • About
  • Feed
  • 十人族
  • MIX BOY
  • 塌客
25
Aug

google自定义搜索

 

在bolg中加入了google的自定义搜索功能,前提是你的网站已被google收录

注册完google账号后进入http://www.google.com/services/free.html, 然后一步一步往下走就行了

可以定制搜索结果插人当前网页中还是使用新的页面,这里使用的是插入我的博客页面,选择iframe,然后拷贝搜索的代码和显示结果的代码就行了,还可以在搜索结果中加入AdSense

 

 

Tags:

2008-08-25 13:09:34, 739 reviews, comment

send to mailbox

Your email:

25
Aug

MySQL Innodb备份

Rails默认的数据库表都是用的Innodb,MySQL对Innodb表的备份不同于MyISAM表,由于Innodb对事物等特性的支持所以不能用传统备份MyISAM表的方法来备份Innodb数据,MyISAM表数据的备份方式总结下有:

 

  • 使用mysqldump
  • 直接拷贝数据库目录
  • 把日志文件和定期制作的备份增量文件结合
  • 利用MySQL的镜像机制进行备份

 

其中直接拷贝数据库目录的方式不适用于Innodb表,而且mysqldump在对Innodb表进行数据备份时也必须加上特殊的参数,所以自己就写了一个shell脚本,用来备份Innodb表,并且压缩

 

#!/bin/bash
#author:        shitou
#date:            08/24/2008 13:52
#aim:            backup all innodb database and gzip it, for MySQL5.x

#params
MYSQL_USER='name'
MYSQL_PWD='passwd'
MYSQL_HOST='localhost'
#bin paths
MYSQL='/usr/bin/mysql'
MYSQLDUMP='/usr/bin/mysqldump'

#db to backup, separate by blank
DBS='friends faming shitoublog suzhousage bone'

#output directory
DEST='/root/script/mysql_innodb_backup'

NOW="$(date +%d-%m-%Y)"
[ ! -f $DEST ] &&  mkdir -p $DEST

TMP='tmp'
if [ -f $DEST/$TMP ]; then
    rm -rf $DEST/$TMP
else
    mkdir -p $DEST/$TMP
fi

for db in $DBS
do
$MYSQLDUMP -u$MYSQL_USER -p$MYSQL_PWD -h$MYSQL_HOST \
    --skip-opt  --single-transaction --add-drop-table --create-options --quick \ 
    --extended-insert --set-charset --disable-keys $db > $DEST/$TMP/$db-$NOW.sql
done

cd $DEST && tar zcvf mysql-$NOW.tar.gz $TMP > /dev/null
[ -d $TMP ] && rm -rf $TMP

 

定制参考脚本中的注释

 

Tags: shell,backup

2008-08-25 09:03:21, 11978 reviews, comment

send to mailbox

Your email:

23
Aug

hadoop 分布式文件系统应用一(安装)

hadoop应用之安装篇
hadoop 分布式文件系统安装——For FreeBSD7 (初稿20080228_Rhinux)

零,声明:本文档为原创作品可以用在非商业用途的引用,引用时请注明著者,并保持文章的完整非修改性,如对内容有异议请联系我:rhinux#sina.com。
一,概述
是否磁盘不够大,虽然有15k的sas是否仍然感觉磁盘效率不够快,是否担心由于硬件局限数据不够安全,是否觉得商业化的存储方案价格太高。
现在为你介绍apache基金会推出的一款分布式文件系统,一款yahoo鼎力支持的文件系统。一个可以运行几千个节点的分布式文件系统。相信他就是你要的。
1安装软件版本
freebsd: 7 rc3[新装系统请采用freebsd7 正式发行版]
hadoop:0.16.0
jdk: 1.5.0
OpenSSH: 4.5p1
rsync: 2.6.9
2,服务器硬件环境 2台 x86 计算机(作为安装测试1-2台机器已经足够,如果作为性能测试考虑设备的硬件性能)
3,hadoop描述
Hadoop包括HDFS(Hadoop Distributed File System--Hadoop分布式文件系统)和MapReduce一种集约编程模型
以HDFS视角来看节点分为Namenode和Datanode,其中Namenode是唯一的,Datanode可以是多个,Namenode可以兼Datanode;
以MapReduce视角来看又分为Jobtracker和Tasktracker,其中Jobtracker只有一个,Tasktracker可以是多个同样Jobtracker可以兼Tasktracker。更多请参考官网介绍
本测试中namenode和jobtracker部署在freebsd7test1.rhinux.com上,datanode和tasktracker部署在freebsd7test1.rhinux.com和freebsd7test2.rhinux.com

二,os及环境配置
1,安装jdk1.5
#cd /usr/ports/java/jdk15
# make install clean
按照要求和提示下载好对应的包,如果找不到旧版本的依赖包请现updata ports 后再下载最新安装包
# portsnap fetch update
# portsnap extract
2,安装rsync,bash,ssh
a, #cd /usr/ports/net/rsync
#make install clean
b, #cd /usr/ports/shells/bash //一般Linux默认已经安装好bash所以可以省略这一步
#make install clean
c, freebsd7 默认OpenSSH_4.5p1
3,系统配置
a, 本次配置使用2台服务器分别为
freebsd7test1.rhinux.com 172.16.27.81 (用在namenode由于本次测试只有2台机器所以兼datanode,但实际生产环境中不推荐兼datanode)
freebsd7test2.rhinux.com 172.16.27.82 (用在datanode)
b,配置服务器的hosts文件使namenode能够通过域名(freebsd7test2和freebsd7test2.rhinux.com)访问到所有的datanode(如果namenode兼datanode也需要通过域名访问到自己),
所有的datanode也能通过域名访问到namenode
c,示例
==========================/etc/hosts==================
::1 localhost localhost.rhinux.com
127.0.0.1 localhost localhost.rhinux.com
172.16.27.82 freebsd7test2.rhinux.com freebsd7test2
172.16.27.81 freebsd7test1.rhinux.com freebsd7test1
======================172.16.27.82(namenode & datanode)=========
4,OS配置按原标准安装,测试阶段 /services目录分区文件系统使用ZFS (文件系统请选择自己喜欢的目前测试下来Freebsd7的ZFS并不稳定)
三,安装测试hadoop系统
1添加用户(所有namenode和datanode需要使用相同的用户名,所有的信息传输需要用户认证)
freebsd7test1# adduser
Username: rhinuxdoop
Full name:
Uid (Leave empty for default):
Login group [rhinuxdoop]:
Login group is rhinuxdoop. Invite rhinuxdoop into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: bash //注意最好使用bash,其实程序运行的时候会自动指定shell环境
Home directory [/home/rhinuxdoop]: /services/rhinuxdoop
客户端必须是和服务端同样的用户名
2,hadoop需要使用rsync+ssh同步状态和数据,需要无需输入密码就可访问,所以设置用密钥认证
a, 生产密钥对(用添加的用户操作本例用户为rhinuxdoop)
[rhinuxdoop@freebsd7test1 ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
默认在~/.ssh/下
b, 在本机用户中添加
[rhinuxdoop@freebsd7test1 ~]$cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
c, 添加到其他datanode
将namenode rhinuxdoop用户目录下.ssh/id_rsa.pub文件内容导入其他datanode
[rhinuxdoop@freebsd7test2 ~]$cat id_dsa.pub >> ~/.ssh/authorized_keys
d,测试:用rhinuxdoop在namenode上登陆 让后ssh到所有的datanode(本例中包括自己机器)
应该无需密码就可以登陆

3, 下载hddoop
a,去http://hadoop.apache.org/core/下载最新版本 hadoop目前为0.16.0 版
b,解压hadoop-0.16.0.tar.gz 到用户目录 /services/rhinuxdoop/
[rhinuxdoop@freebsd7test1 ~]$ tar zxvf hadoop-0.16.0.tar.gz .

4, hadoop-0.16.0目录结构说明:
a, bin 存放脚本程序,
比如主控制程序hadoop,
启动脚本 start-all.sh--启动所有hadoop进程 start-dfs.sh--启动DFS进程 start-mapred.sh启动MAP/Reduce进程
停止脚本 stop-all.sh stop-dfs.sh stop-mapred.sh
b,conf 配置文件目录,
环境配置文件 hadoop-env.sh 可以配置环境变量,比如JAVA_HOME已经系统默认等。
默认配置文件 hadoop-default.xml 此文件不能修改需要设置参数请修改 hadoop-site.xml
自定义配置文件 hadoop-site.xml 此文件可以自定义配置,出现在该文件中的配置项,系统将自动取代默认配置文件 hadoop-default.xml中的配置项
namenode指定文件 masters 此文件来指定master(namenode)机器名
datanode指定文件 slaves 此文件来指定slave(datanode)机器列表,每台机器名占一行
c,log 目录
默认日志存放目录
d,各配置文件具体参数说明和研究下一个版本中给出。

5,hadoop配置(freebsd7test1):

a,建立namenode存储目录及数据目录
[rhinuxdoop@freebsd7test1 ~]$mkdir -p /services/rhinuxdoop/hadoop-0.16.0/filesystem/name
[rhinuxdoop@freebsd7test1 ~]$mkdir -p /services/rhinuxdoop/hadoop-0.16.0/filesystem/data

b,配置环境变量,编辑./conf/hadoop-env.sh
===============hadoop-env.sh====================
export JAVA_HOME=/usr/local/jdk1.5.0
#至少要设置JAVA_HOME,另外也可以设置HADOOP_HOME-系统目录,HADOOP_HOME默认为bin目录的父目录
=================================================

c,配置hadoop-site.xml(关于可配置项已经各配置项的说明可以参考hadoop-default.xml)

配置项格式为

io.file.buffer.size
4096
The size of buffer for use in sequence files.
The size of this buffer should probably be a multiple of hardware
page size (4096 on Intel x86), and it determines how much data is
buffered during read and write operations.



配置项名字
配置项的值
配置项的说明此文字只是帮助人理解用.


==================hadoop-site.xml=====================





fs.default.name
freebsd7test1:9000



mapred.job.tracker
freebsd7test1:9001


dfs.name.dir
/services/rhinuxdoop/hadoop-0.16.0/filesystem/name


dfs.data.dir
/services/rhinuxdoop/hadoop-0.16.0/filesystem/data


==========================================

d,配置编辑conf/masters ,conf/slaves
====================conf/masters=============
freebsd7test1
==========================================
====================conf/slaves==============
freebsd7test1
freebsd7test2
==========================================

e,格式化namenode
[rhinuxdoop@freebsd7test1 ~]$ hadoop-0.16.0/bin/hadoop namenode -format
无报错既可
基本配置已完成


6,hadoop配置(freebsd7test2及其他datanode)

a,其他datanode必须保持namenode相同的目录结构所以把namenode目录复制过去
[rhinuxdoop@freebsd7test1 ~]$ scp -r hadoop-0.16.0 172.16.27.82:/services/rhinuxdoop/

7,启动hadoop
[rhinuxdoop@freebsd7test1 ~]$ hadoop-0.16.0/bin/start-all.sh
此时会告知日志记录的目录和文件名,日志记录基本可以在hadoop-site.xml中设定默认在hadoop-default.xml中设置为info

8,查看和测试。

a,系统开启9000和9001端口分别为dfs的namenode和mapreduce的jobtracke监听口。

b,查看datanode状态: [rhinuxdoop@freebsd7test1 ~]$ hadoop-0.16.0/bin/hadoop dfsadmin -report
可以看到各点的状态

c,存放文件:[rhinuxdoop@freebsd7test1 ~]$ hadoop-0.16.0/bin/hadoop fs -put /home/xuyunfeng/tzupdater-1.3.3-2007k.zip tzupdater-1.3.3-2007k.zip
将在本地系统目录的/home/xuyunfeng/tzupdater-1.3.3-2007k.zip存入hadoop文件系统根目录中。

d,查看hadoop文件系统目录 [rhinuxdoop@freebsd7test1 ~]$ hadoop-0.16.0/bin/hadoop fs -ls
/user/rhinuxdoop/diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2 54347274 2008-02-28 10:57 rw-r--r-- rhinuxdoop supergroup
/user/rhinuxdoop/tzupdater-1.3.3-2007k.zip 263715 2008-02-28 16:16 rw-r--r-- rhinuxdoop supergroup

e,更多hadoop文件系统 命令操作请参考手册

f,api调用测试后续

g,可以通过web形式去浏览 NameNode和 JobTracker,默认端口为:
* NameNode - http://freebsd7test1.rhinux.com:50070
* JobTracker - http://freebsd7test1.rhinux.com:50030
*需要在浏览的机器上配置好hosts。

四,操作系统优化和hadoop优化。
以上的配置受硬件条件影响效率相对比较低,等之后关于性能测试和优化方面的文章时我会给出测试的硬件环境和推荐配置。
待补中
五,参考资料
http://hadoop.apache.org/core/docs/r0.16.0/index.html

 

转载自chinaunix原作者rhinux

Tags:

2008-08-23 18:28:07, 671 reviews, comment

send to mailbox

Your email:

19
Aug

“小塌客”的一点经验


网站做了不少了,根据现在对《小塌客》的使用总结几条值得改进的地方,我想应该对其他blog或者网站的制作有点帮助:


1.文章的数据库表在设计时应该增加文章摘要的功能,这个在一些开源系统中已经有了(manbo),现在一般网站都用了富文本编辑器,主要就是在显示文章列表摘要的时候不用再在原来内容的基础上剥去所有的HTMl标签(不剥去的话会页面布局会因为缺少HTMl闭合标签导致页面布局乱掉),然后再截取了一定的长度,这样就会让人感觉到列表页面比较空洞,都是文字,没什么特殊样式,所以推荐加上摘要的字段,在摘要里可以定义一些样式,列表时输出摘要的内容,这样就不错了。


2.文章表添加关键字字段,我现在的做法是在一篇文章的页面中meta标签的keywords设置的是文章的标题,感觉这样对SEO还是不太好的,应该添加文章时把文章的关键字指定出来,放在文章显示页面的keywords中,这样应该对SEO更好。

 

3.提交文章时指定内容里那些关键字替换成超链接,当然也可以手工利用编辑器去指定的;并且让内容中的关键字加上,,等标签。


好了,先说这几点,想起来了再加


Tags: SEO

2008-08-19 20:15:06, 879 reviews, comment

send to mailbox

Your email:

19
Aug

恐怖大师

这几天把《恐怖大师》第一集看完了,怎么说呢,很经典,集集都很黄,很暴力,恐怖的有内涵,尤其是《珍妮弗》,《香烟烙印》,《海克尔的故事》,《鬼伎回忆录》这几集非常精彩,尽管看的饭都吐出来了,但还是支持,莫非我有自虐倾向了...?!

 

恐怖大师

 

【内容简介】:集合13位顶尖惊慄电影导演联手炮製的短篇集《Masters of Horror》,邀来日本导演《鬼来电》、《Audition》三池祟史参与製作。
《Masters of Horror》绝对是每个惊慄电影迷梦寐以求的作品,因为参与这个计划的导演均会拍摄一部约一小时的作品,这次参与的就有《Suspiria》的 Dario Argento、《德州电锯大屠杀》的Tobe Hooper等。由10年前起便开始执行这个企划的製作人Mick Garris表示,三池祟史执导的《Audition》为他带来巨大的衝击,因此特别邀请三池祟史加入。三池祟史执导作品的故事内容并未公佈,不过可以肯 定这将会是一部令观眾毛骨悚然的恐怖电影。

 

让我继续呕吐吧,接着下第二季

 

 

Tags:

2008-08-19 19:49:32, 617 reviews, comment

send to mailbox

Your email:

19
Aug

两个音乐网站

 

发现两个不错的音乐网站,last.fm就不说了,全美最有名气的音乐网站,这里说两个比较精致的

Stumbleaudio和Mixturtle

两个做的都很有个性,一个是Flex的,一个是基于Ajax的,

闲了去听听吧,找到自己喜欢的了,再baidu下下来,在中国就是方便,盗版方便

 

 

Tags:

2008-08-19 16:18:42, 836 reviews, comment

send to mailbox

Your email:

上一页 1 2 ... 26 27 28 ... 34 35 下一页

Tags

json Impactjs Canvas fun gen_server superfly PS3 Webgame HTML5 jquery SSH tenerer MooseFS gearman-ruby Gearman MongoDB MochiChat TCP U-ka saegusa IN db command Mai Kuraki Norah Jones log iPhoneException ACG Mac Safari objective-c CouchDB LVS AJAX debian 推荐 AMQP google mail bug gettext Erlang 北京 iptables 架构 tips mysql backup function 我看 postfix 监控 SEO cache Etag memcache thread 进程 线程 无锡 yield file column mixboy xml rss gems ruby shitou shell lighttpd 安全 csrf 公司 nginx linux 模块 apache webserver 朋友 大学 生活 尼古拉斯凯奇 movie 文件同步 笑笑 歌词 auto complete plugin rails music ubuntu blog

Category

  • HTML5[3]
  • iPhone[17]
  • Erlang[11]
  • google[13]
  • 生活[45]
  • 音乐[13]
  • 电影[11]
  • linux[29]
  • web server[6]
  • mail server[3]
  • cluster[1]
  • system manage[9]
  • ruby[20]
  • ruby on rails[28]
  • 开源[4]

Episode

  • MongoDB
  • MochiChat
  • iPhoneException
  • shell
  • thread
  • memcache


Popular Posts

  • 准备开始学习Erlang了(恶狼, 二郎..)
  • Ruby遍历MemCached的key
  • 服务器监控小脚本
  • MySQL Innodb备份
  • [转载]5个有用的ruby gems

Recommended Posts

  • Tri-survive - HTML5 Game
  • Cut the rope - HTML5版
  • json_formatter
  • 在gen_server中spawn新的进程
  • Superfly - Wildflowers
  • 继续凸墙 for Mac OS
  • MongoDB Beijing 2011
  • MongoDB删除map_reduce生成的tmp collection
  • Mai Kuraki - Future Kiss
  • Erlang OOP
  • 用SSH tunnel凸墙
  • Google的语法高亮工具包
  • 大量数据的批量操作
  • 再次被和谐-_-
  • 十人族: 上线了

Friends' blogs

  • levy
  • sphance
  • andreas
  • yangkunlun
  • {:dev=>:wxianfeng}
  • bheye
  • joeydarko

Login

   注册

留言 查看留言

留言

   取消

留言 查看留言


Statistics

  • 访问次数: 316230
  • 今天访问: 25
  • 日志: 213
  • 评论: 4967
  • 音乐: 9
  • 用户: 1758


少年,不点下广告吗!

 

all by shitou

blog comments powered by Disqus

close