• 2012-11-05

    HBase 在 Linux 下安装和配置

    Views: 26119 | No Comments

    1. 下载安装包

    Hbase 官网下载页面下载安装包, 然后

    tar xfz hbase-0.94.2.tar.gz
    cd hbase-0.94.2
    chmod ugo+x ./bin/*.sh
    

    注意, 要修改 bin/ 目录下的脚本的的权限, 不然启动出错.

    2. 配置 hbase-env.sh 和 hbase-default.xml

    两个配置文件中的一个 hbase-env.sh 已经存在于 conf/ 目录下, 但 hbase-default.xml 并不在 conf/ 目录, 需要从 ./src/main/resources/ 目录拷贝
    Continue reading »

    Posted by ideawu at 2012-11-05 12:10:54 Tags: , , ,
  • 2012-10-17

    转: Unix文本编辑器

    Views: 9888 | 3 Comments

    Unix大师听到学徒学习的计算机机房里出来痛苦的哭啼声,他打算要弄清这是怎么回事。

    他发现学徒明显的满脸痛苦,眼泪在眼圈里直打转。“出了什么事?”大师问道。“你哭什么?”

    “Unix系统太难用了。我每天要用四种不同的编辑器才能把学习任务完成,因为它们每种都不能单独的完成这些事情。”

    大师自信的点了点头,问,“如果让你去解决这个大麻烦,你打算怎么做?”

    学生认真的思考了几分钟,表情一下子多云转晴。他兴奋的说,“这个问题的解决方法很显然:我要开发一个有史以来最好的编辑器。这个编辑器具有目前这四种编辑器的所有功能,而且更好用,速度更快。由于有了我的这个新编辑器,世界将会变得更美好。”

    大师突然举起手,照着这个学徒的脑袋上打了一巴掌。大师年迈而且体弱,学徒并没感觉到很痛,但他对发生的事很震惊。“我做错了什么?”他问。

    “愚蠢!”大师说。“你以为我还想再学一种编辑器吗?”

    一下子,学徒被点化了。

    Posted by ideawu at 2012-10-17 14:25:07
  • 2012-09-07

    MySQL命令行按Delete键输出”~”的问题

    Views: 8033 | No Comments

    MySQL 默认用了一个叫 libedit 的东西来替代 libreadline, 如果按 Delete/Home/End 键, 就会输出 "~", 非常不好用. 解决方法很简单, 只要换回 libreadline 就 OK 了. 编译时加上参数:

     --without-readline\
     --without-libedit\
    

    执行 mysql –version 看输出.

    (正确)mysql Ver … using readline 5.1
    (错误)mysql Ver … using EditLine wrapper

    Posted by ideawu at 2012-09-07 12:26:54
  • 2012-03-24

    Linux 核心编程 – fsync, write

    Views: 16969 | 1 Comment

    write

    ssize_t write(int fd, const void *buf, size_t count);

    将数据写到文件中. 注意, 如果文件是保存在硬盘中, write() 函数调用返回之后, 并不表示数据已经写入到硬盘中, 这时如果掉电, 数据可能会丢失.

    fsync

    int fsync(int fd);

    程序调用本函数, 通知内核把数据写到硬盘(file)中. 比如, 你开发一个数据库软件, 就需要这样的函数, 否则掉电或者系统崩溃时便会丢失数据.

    如果你的程序不调用 fsync(), Linux 内核也会自动在"合适"的时候将你的数据真正写入到硬盘(类似调用 fsync), 最长的延时默认是 30 秒.

    阻塞

    阻塞是 IO 的精华所在, 不管是文件 IO 还是网络 IO, 只有真正了理解了 IO 阻塞, 才能做出所谓在高并发高性能软件(服务器).

    当 fsync() 和 write() 同一个 fd 时, write() 必然阻塞. 当系统 IO 非常繁忙时, fsync() 可能会阻塞, 即使系统 IO 不繁忙, fsync() 也会因为数据量大而慢.

    注: 许多 Linux 系统函数如 read(), write() 等, 粗看起来很简单, 也很容易用. 正如所有的事情一样, 要做到精致肯定不简单. 当你脱离初级的学习阶段, 要写真正生产环境的软件时, 这些"简单"的函数就大有门道了. 你需要不断的阅读它们的手册, 了解每一个参数, 每一个返回值, 同时还要阅读和试验在各种条件和环境下这些函数的表现, 这样, 才有可能做出真正的软件.

    Posted by ideawu at 2012-03-24 16:14:19 Tags: ,
  • 2011-09-30

    Shell循环

    Views: 10394 | No Comments

    做个笔记:

    SHELL循环:

    1. while
    i=0; while [ $i -lt 10 ]; do echo $i; i=$(($i+1)); done

    2. for
    for ((i=1; i<=10; i++)); do echo $i; done

    3. while
    cat file.txt | while read line; do echo $line; done
    while read line; do echo $line; done < file.txt

    Posted by ideawu at 2011-09-30 12:14:11
  • 2010-11-13

    Linus又骂人stupid

    Views: 32826 | 15 Comments

    最近, 有位用户向 bugzilla.redhat.com 报告他用 Fedora Linux 上网听 MP3 音乐时, 会播放出奇怪的声音. Linux 之父 Linus Torvalds 参与了讨论, 并最终找出原因, 竟然是 glibc 升级了 memcpy() 函数, 导致浏览器的 Abobe Flash Player 插件出现问题.

    这真是太强大了, 竟然能从上网听音乐追查到几乎是软件最底层基础的 memcpy() 函数! 如果你想知道他是如何一步一步找出 BUG 的原因的, 可以自己去看贴. (我个人不得不表示非常佩服他们敏锐的技术嗅觉和科学精神!)

    这个 BUG 的原因是, 某位 glibc 贡献者(看邮件地址应该是 Intel 公司的某华裔工程师)提交了一个速度更快的 memcpy() 函数的实现并被采纳. 但是, 这个速度更快的 memcpy() 并没有像它的前一个版本一样对源内存和目的内存重叠的情况做兼容, 所以导致了 Flash 插件出问题.

    Continue reading »

    Posted by ideawu at 2010-11-13 16:00:08
|<<<123456789>>>| 5/14 Pages, 84 Results.