Category Archives: Linux

使用C++和zlib解压缩.gz文件并读入内存

一般我们自己用.gz文件的时候会先
gzip xxx.gz
然后就地解压缩生成文件,如果本身就是要原文件还行,但如果再程序需要在内存中再处理,就不OK了。
因为会浪费两次I/O,特别是文件特别大或者特别多的时候。
因此,使用zlib将.gz文件直接解压并读取到内存,就很重要了。
#include <zlib.h>
#include <iostream>
#include <string>

#define GZ_BUF_SIZE 104857[......]

继续阅读

关于Cassandra占用8080端口的问题

今天需要再一台服务器上开两个cassandra,更改了storage-conf.xml中的port后,依然出现“java.net.BindException: Address already in use”的错误,感觉非常诡异……

经过检查发现,cassandra启动时候默认启动了8080端口用于jmx(Java性能检测),如果我们不需要的话,去掉就可以了。

配置在bin/cassandra.in.sh中,如下去掉即可:
cassandra_home=`dirname $0`/..[......]

继续阅读