KFS系统的编译、调试

KFS是一个分布式文件系统(Cloud Store)

安装/调试KFS步骤



0、安装g++


一定要使用g++ 4.2版本(或者4.3)

sudo apt-get install g++-4.2

然后在/usr/bin下用ln把g++链接到 g++-4.2上!



1、安装Boost

需要手动安装

去Boost.org上下载1.4.0

./bootstrap.sh //会生成bjam

./bjam -sTOOLS=gcc --without-python install



2、安装cmake

sudo apt-get install cmake



3、安装log4cpp

下载log4cpp 1.0

basiclayout.cpp 增加 #include <memory>

patternlayout.cpp 373行, 修改std::abs(为std::abs((double)

./configure

make

sudo make install



4、安装xfs


sudo apt-get install xfsprogs xfslibs-dev



5、安装libssl

sudo apt-get install libssl-dev

(如果不安装,会提示没有openssl/md5.h)



6、编译kfs

vi kfs-0.2.2/CMakeLists.txt在110行左右的位置编辑Java路径,注意文件夹的路径根据不同机器可能要更改。

SET(JAVA_INCLUDE_PATH "/usr/lib/jvm/java-6-sun/include")

SET(JAVA_INCLUDE_PATH2 "/usr/lib/jvm/java-6-sun/include/linux")



进入到kfs/build

cmake -Wno-dev -D CMAKE_BUILD_TYPE=RelWithDebInfo ~/kfs-0.2.2/

cd ../

make

make install



7、配置文件



有两种配置方法:Phython配置格式,标准配置格式。

KFS由两类主机组成:MetaServer和ChunkServer,



MetaServer相当于MasterServer  给ChunkServer指定到MetaServer的ip和端口厚,Chunk自动连接到Meta并加入到“存储大盘块中”



metaserver.cnf

metaServer.clientPort = 10625

metaServer.chunkServerPort = 10416

metaServer.logDir = ./logs

metaServer.cpDir = ./checkpoint

metaServer.wormMode = false

metaServer.clusterKey = HelloMessage

metaServer.minChunkservers = 1

metaServer.minReplicasPerFile = 1

metaServer.loglevel = INFO



chunkserver.cnf

chunkServer.metaServer.hostname = localhost

chunkServer.metaServer.port = 10416

chunkServer.clientPort = 10626

chunkServer.chunkDir = /home/liheyuan/chunkData

chunkServer.logDir = ./logs

chunkServer.totalSpace = 3000000000

chunkServer.cleanupOnStart = 0

chunkServer.rackId = 0

chunkServer.clusterKey = HelloMessage

chunkServer.loglevel = INFO



8、启动

经过kfs编译和安装之后,会生成kfs-0.2.2/bin文件夹,里面的chunkserver用于启动ChunkServer,metaserver用于启动MetaServer。



方法:

chunkserver ./chunkserver.cnf

metaserver ./metaserver.cnf



启动如果成功,使用

netstat -ap

可以查看到占用端口的程序PID和名称



9、关闭

需要使用kill -9 来关闭



如果想有更多使用办法,可以查看scripts/kfsrun.sh 中的使用办法,有些实现真的很山寨啊。。。。

有时间可以好好看看KFS,还是很不错的。

Leave a Reply

Your email address will not be published. Required fields are marked *