在Linux下编译使用kfs-0.3

原稿url:http://www.pginjp.org/modules/newbb/viewtopic.php?viewmode=flat& amp;type=&topic_id=775&forum=22

 

编译安装KFS:

kfs:kosmosfs
環境:
os:centos5.3
metaserver:VM-CentOS-5-SHU
chunkservers:VM-CentOS-5-SHU-2,VM-CentOS-5-SHU-3,VM-CentOS-5-SHU-4
前提条件:sshでパスワード無しで認証になる

kfsのインストール
metaserverで下記の操作を行う
一、必要パッケージの準備
1、boostのインストール(ver1.34以上)
yum -y install boost boost-devel

2.gccのインストール(ver4.1以上)
yum -y install gcc gcc-c++ ←存在でなければ

3.cmakeのインストール(ver2.4.6)
cd /usr/local/src
wget http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz
tar -zxvf cmake-2.6.4.tar.gz
cd /usr/local/src/cmake-2.6.4
./bootstrap --prefix=/usr/local
make
make install

4.log4cppのインストール(ver1.0)
cd /usr/local/src
wget http://downloads.sourceforge.net/proj ... pp-1.0/log4cpp-1.0.tar.gz
tar zxvf log4cpp-1.0.tar.gz
cd log4cpp-1.0
./configure
make
make install

5.xfs devel RPMs on Linuxのインストール
yum -y install xfsprogs xfsprogs-devel

二、kfsのビルド
cd /usr/local/
wget http://downloads.sourceforge.net/proj ... fs/kfs-0.3/kfs-0.3.tar.gz
tar zxvf kfs-0.3.tar.gz
cd kfs-0.3
mkdir build
cd build

vi /usr/local/kfs-0.3/CMakeLists.txtを編集110行に下記を追記
SET(JAVA_INCLUDE_PATH "/usr/java/latest/include")
SET(JAVA_INCLUDE_PATH2 "/usr/java/latest/include")

cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo /usr/local/kfs-0.3/
gmake
gmake install

三、設定
mkdir /export/kosmix
vi /usr/local/kfs-0.3/scripts/machines.cfg
[metaserver]
node: VM-CentOS-5-SHU
clusterkey: kfs-test-cluster
rundir: /export/kfsmix/kfs/meta
baseport: 20000
loglevel: INFO
numservers: 3
[chunkserver_defaults]
rundir: /export/kfsmix/kfs/chunk
chunkDir: /export/kfsmix/kfs/chunk/bin/kfschunk
baseport: 30000
space: 3400 G
loglevel: INFO

vi /usr/local/kfs-0.3/conf/machines.txt
VM-CentOS-5-SHU-2
VM-CentOS-5-SHU-3
VM-CentOS-5-SHU-4

vi /usr/local/kfs-0.3/conf/ChunkServer.prp
# Configuration for chunk server:
# meta server location
chunkServer.metaServer.hostname = VM-CentOS-5-SHU
chunkServer.metaServer.port = 30000
# port to open for client connections
chunkServer.clientPort = 22000
# Directory for storing the chunks
chunkServer.chunkDir = ./chunks
chunkServer.logDir = ./logs
# provide 300G of storage space
chunkServer.totalSpace = 300000000000

四、chunkサーバをファイルを移す
# rsync -av /usr/local/kfs-0.3/ 172.16.0.48:/usr/local/kfs-0.3/
# rsync -av /usr/local/kfs-0.3/ 172.16.0.49:/usr/local/kfs-0.3/
# rsync -av /usr/local/kfs-0.3/ 172.16.0.52:/usr/local/kfs-0.3/

ステップ一の操作を各chunkサーバに全部行う必要

五、セットアップ
cd scripts
# python kfssetup.py -f machines.cfg -m machines.txt -b ../build -w ../webui

六、起動と停止
起動コマンド
# python kfslaunch.py -f machines.cfg -m machines.txt -s

停止コマンド:
# python kfslaunch.py -f machines.cfg -m machines.txt -S

七、使い方
1、ファイルをkfsにputする方法
cptokfsコマンドで
例:
./cptokfs -s localhost -p 20000 -d /home/hadoop/test -k /pub/

2、ファイルをkfsにgetする方法
./cpfromkfs -s localhost -p 20000 -k /pub/test -d /home/hadoop/newtest ←コピー先フォルダ既に存在するのを条件として

3、kfsシェールで
./kfsshell -s localhost -p 20000 ←シェール環境へ入る
サポートされているシェールコマンドは、下記のとおり
cd ←ディレクトリを変わる
changeReplication  ← レプリケーションを修正
cp ←ファイルをコピー
ls ←ファイル一覧を表示
mkdir ←ディレクトリを作成
mv ←フォルダかファイルを移動
rm ←ファイルを削除
rmdir ←ディレクトリを削除
stat ←ファイルかフォルダの属性を取得
pwd ←今のパースを表示
上記のコマンドの使い方は、linuxと略同じ

 

kfs fuse文件系统:

1.ビルド
# cd /usr/local/kfs-0.3
# vi CMakeLists.txt
修正前
SET(Fuse_LIBRARY_DIR "")
SET(Fuse_INCLUDE_DIR "")
修正後
SET(Fuse_LIBRARY_DIR "/usr/local/lib")
SET(Fuse_INCLUDE_DIR "/usr/local/include")

# cd build
# make install

2.マウント
# vi /usr/local/kfs-0.3/build/bin/kfs.prp
# Where is the metaserver
metaServer.host = VM-CentOS-5-SHU
metaServer.port = 20000

# mkdir /mnt/kfs
# kfs_fuse /mnt/kfs -f

3.テスト


結論:基本機能もまだまだ、fuse-dfsよりもっと不安定と機能が少ない

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值