在Linux下编译使用kfs-0.3

本文详细介绍如何在CentOS 5.3环境下安装配置KFS(Kosmos File System),包括必要的软件安装、KFS构建、配置设定及启动流程,并提供了文件上传下载的方法和常用命令介绍。

原稿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よりもっと不安定と機能が少ない

<think>首先,用户的问题是关于查找nanopb-0.3.9.5版本适用于Linux-x86系统的资源。用户提到了引用[1]和[2],但这似乎是系统提供的引用,我需要参考这些引用来回答。 引用[1]说:从https://jpa.kapsi.fi/nanopb/download/下载Nanopb的最新版本,并提到nanopb-0.3.9-linux-x86.tar.gz是Linux环境下可直接使用的工具链。 引用[2]讨论的是安装编译链,涉及Release note和编译环境,但不是直接相关。 用户的需求是查找nanopb-0.3.9.5版本的具体资源。引用[1]提到的是nanopb-0.3.9,但用户指定了0.3.9.5版本。我需要检查这个版本是否可用。 根据引用[1],下载页面是https://jpa.kapsi.fi/nanopb/download/。我应该引导用户去这个页面查找特定版本。 用户说“nanopb 0.3.9.5版本”,而引用是0.3.9。可能0.3.9.5是一个子版本或补丁版本。我需要确认这个版本的可用性。 在我的知识中,nanopb是一个用于Protocol Buffers的库。标准版本是像0.3.9这样的数字,但可能有小版本。引用[1]提到nanopb-0.3.9-linux-x86.tar.gz,所以对于0.3.9.5,可能需要类似的文件名。 用户的问题是:“我想查找nanopb-0.3.9.5版本适用于Linux-x86系统的相关资源”,意思是“我想查找nanopb-0.3.9.5版本适用于Linux-x86系统的相关资源”。 我需要提供一个清晰的回答,指导用户如何获取这个资源。 步骤: 1. 访问下载页面:根据引用[1],去https://jpa.kapsi.fi/nanopb/download/。 2. 查找特定版本:用户需要0.3.9.5版本。在下载页面,检查是否有这个版本的文件。标准命名可能是nanopb-0.3.9.5-linux-x86.tar.gz或类似。 3. 如果可用:提供直接下载链接或描述如何下载。 4. 如果不可用:建议替代方案,如从源码编译或查找其他资源。 引用[2]提到Release note,但那是针对MDM9205的,不直接相关。所以,我应该专注于引用[1]。 最后,系统指令要求: - 回答中使用中文。 - 生成相关问题。 - 在引用的段落末尾添加引用标识,如[^1]。 - 结构清晰,逐步解决问题。 回答结构: 1. 确认用户需求。 2. 提供查找步骤。 3. 给出下载指导。 4. 添加相关问题。 由于我需要引用,我会在相关部分添加[^1]。 生成相关问题:基于用户查询,相关问题可能是关于安装、使用或版本差异。 相关问题想法: 1. 如何安装这个版本的nanopb? 2. 这个版本与其他版本有什么不同? 3.Linux-x86系统上使用nanopb的常见问题? 确保回答真实可靠:我不能假设文件存在,所以建议用户检查下载页面。 最终回答: - 开头:基于引用[1],nanopb的资源可以在指定下载页面找到。 - 详细步骤:访问页面,查找文件。 - 结束:生成相关问题。 </think>基于您的查询,您需要查找nanopb-0.3.9.5版本适用于Linux-x86系统的资源。我将参考站内引用内容(引用[1]和[2]),并结合正确的方法逐步指导您完成查找过程。请注意,nanopb是一个用于Protocol Buffers的轻量级库,资源通常通过官方下载页面获取[^1]。 ### 查找nanopb-0.3.9.5版本资源的步骤 1. **访问官方下载页面**: 根据引用[1],nanopb官方资源托管在https://jpa.kapsi.fi/nanopb/download/。这里是所有版本的下载中心,包括针对不同系统的预编译工具链和源码包[^1]。 - 打开浏览器,输入URL:https://jpa.kapsi.fi/nanopb/download/。 2. **查找特定版本文件**: - nanopb的版本命名格式通常是`nanopb-<版本号>-<系统>-<架构>.tar.gz`。对于Linux-x86系统,文件名类似`nanopb-0.3.9.5-linux-x86.tar.gz`。 - 在下载页面中,浏览可用文件列表(页面通常会按版本号排序)。注意,版本0.3.9.5可能是一个次要更新版本(patch release),因此在列表中可能列为子目录或单独文件。 - **关键提示**:如果页面中没有直接显示0.3.9.5版本的文件,可以尝试以下方法: - 检查是否有更高版本(如0.3.10)的兼容包,它们通常向后兼容。 - 下载源码包(例如`nanopb-0.3.9.5.tar.gz`),然后在Linux-x86系统上手动编译编译方法见下文)。 - 根据引用[2],如果涉及基线代码或特定硬件(如高通MDM9205),建议查阅相关Release Note获取环境配置细节,但nanopb本身是独立工具,不强制依赖这些[^2]。 3. **下载和使用资源**: - 如果找到`nanopb-0.3.9.5-linux-x86.tar.gz`文件,直接点击下载。该文件是预编译工具链,可直接在Linux-x86系统上解压使用(解压命令:`tar -xzvf 文件名.tar.gz`)。 - 如果只有源码包(如`nanopb-0.3.9.5.tar.gz`),下载后需在Linux环境中编译: ```bash # 解压源码 tar -xzvf nanopb-0.3.9.5.tar.gz cd nanopb-0.3.9.5 # 编译工具链(需安装GCC和make) make -C generator ``` 编译完成后,工具可在`generator-bin`目录中使用[^1]。 - **验证资源可用性**:由于官方页面可能更新,0.3.9.5版本可能已被归档。如果链接失效,您可以通过nanopb的GitHub仓库(https://github.com/nanopb/nanopb)的历史版本或发布页面查找存档资源。 4. **备用方案**: - 如果官方页面未提供0.3.9.5版本,您可以: - 使用较新版本(如0.3.9或0.4.x),因为它们通常兼容且修复了旧版本问题。 - 搜索开源社区(如GitHub或论坛),确保资源来自可信源以避免安全风险。 引用[2]提醒,在编译环境中配置时,优先参考Release Note,但nanopb工具链本身不依赖Windows/Linux混合环境[^2]。 通过以上步骤,您应该能成功获取所需资源。如果您在过程中遇到文件缺失或下载问题,请提供更多细节(如错误消息),我将协助进一步排查。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值