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,还是很不错的。
KFS系统的编译、调试
Leave a reply