原创文章转载请注明出处:http://wangwei3.iteye.com/blog/916476
基本机器配置
此配置在 scripts/machines.cfg
为服务定义的三个变量:
* node: 这个变量指定NODE应该在那个服务上被实例化运行
* rundir: 这个变量指定NODE的binaries被实例化的目录。当多个服务运行在同一个NODE时,每个服务的这个变量必须是唯一值。
* baseport: 在一个NODE,这个变量是为监听传入连接定义的唯一端口。在KFS中,进程间的通信---在meta中
server/chunkserver(s)/applications---是通过TCP sockets连接. 现在,
- 在多个服务运行在相同的NODE时,应该为每个服务的端口指定一个唯一值。
- 在服务运行在不同的NODE时,显然地,这个值是唯一的。因此,所有的服务能被配置成相同的端口。
metaserver的其他变量:
* backup_path: 这个变量用来指定metaserver的checkpoint文件(远程)备份位置。定期地,通过rsync文件同步,metaserver的chekpoint文件备份到这个远程位置。为了备份工作,这个"backup_path”应该存在,你应该使SSH无密码---来自metaserver的机器是运行远程NODO来把checkpoint文件备份。
* clusterkey: 这个字符串定义为群集的"key"。
每当一个chunkserver连接,他传递"key"值给metaserver。
只有"key"值匹配,这个chunkserver才允许被加入群。这用来防止配置不匹配。
chunkserver的其他变量:
* space: 这个变量指定chunkserver存储空间总量。空间单位是:
* 'G' 为千兆字节
* 'M' 为兆
* 'B' 为字节
例如: space: 30 G
* chunkdir: 这个变量是可选的。他能被用来提供一个目录列表让chunkserver来存储chunks。该目录列表包含一组路径时可以用空格分隔
默认配置,
- metaserver的 checkpoint/log 文件存储在
${rundir}/bin/kfscp and ${rundir}/bin/kfslog
- chunkserver的 checkpoint/log 文件存储在
${rundir}/bin/logs
- chunkserver的chunks是存储在 ${rundir}/bin/kfschunk。 This
在"chunkdir"变量已定义时这个值被覆盖。
注意:这是每个服务的checkpoint/log文件不可更改或默认位置。改变它们会有不利的影响(如,metaserver 的logs/checkpoint 文件备份,定期清理没用的checkpoint/log文件)。
安装KFS BINARIES
这个集群构建脚本主要做以下几步:
---把metaserver/chunkserver的二进制文件,脚本打包成kfspkg.tgz,然后使用scp/ssh拷贝到各个节点上并安装。
---在目标节点,这个脚本把kfspkg.tgz拷贝到/tmp目录下
---这个脚本所使用的模型是对于metaserver/chunkserver的静态链接版本来说是有效的。如果你要用动态链接的版本,上述方法不能正常使用。
需要设置LD_LIBRARY_PATH环境变量,然后指向相应的动态链接库文件。不过这种方法在目前的版本中不支持。
运行 KFS
这个脚本在所给的目标机器上读取machines.cfg文件和启动相应服务。
- 对于metaserver,metaserver二进制和脚本一样定期清理老的checkpoint/log 文件。
- 对于chunkserver,chunkserver二进制和脚本一样定期清理老的checkpoint/log 文件。
对于这两种metaserver/chunkserver,每当得到一个新的checkpoint(这也导致日志轮换出现),老的checkpoint/logs不会被删除。为了防止这些老文件的积累,定期清理已完成的脚本。
如果服务先运行在目标机器上,那么在目标机器上这个脚本没有作用。
停止 KFS
这个脚本在所给的目标机器上读取machines.cfg文件和停止相应服务。
监听KFS服务
为了监听KFS服务,你可以使用 ~/code/kfs/build/bin/KfsPing工具。这个工具能有以下用法:
kfsping -m -s 192.168.1.200 -p 20000
其中的 -m 指定要 ping 的是 metaserver , -s 指定 server 的 IP , -p 指定 server 的监听端口。
要检查 chunkserver1 是否启动成功,则:
kfsping -c -s 192.168.1.201 -p 30000
如果想单独关闭某个 chunkserver ,则可以在 chunkserver 中执行以下命令:
sudo scripts/kfsrun.sh -S -c -f bin/ChunkServer.prp
这样只会关闭这个 chunkserver ,而不影响其他 server.
关闭后重新启动: scripts/kfsrun.sh -s -c -f bin/ChunkServer.prp
增加新的chunkserver
添加新的chunkserver到设置,有以下步骤:
1. 添加新的chunkserver到machines.cfg文件
2. 安装KFS二进制在新机器上,也就是重启KFS BINARIES。
3. 启动chunkserever在新NODE,也就是启动kfs server
4. 该metaserver并定期重新平衡数据。如果它检测有些chunkservers过度使用(即“80%的空间被使用),数据从过度利用迁移到利用不足的节点。
WHERE DOES THE SERVER STORE THINGS
当KFS服务运行(metaserver/chunkserver),以下目录被创建:
- metaserver: kfscp, kfslog.这些目录存储,分别地通过metaserver产生checkpoints 和log文件。
- chunkserver: kfschunk, kfslog. 这些目录存储,分别地通过chunkserver产生chunk文件和logs/checkpoints。
对于任意一个服务,每一分钟checkpoint/logs一次,那些老的log/checkpoint文件不能立刻被删除。这是一个清丽过程,一个小时运行一次删除旧文件。
最后,chunkserver也有一个目录"kfschunk/lost+found"保存陈旧/损坏的chunks:
- stale chunks: These are chunks for which there is a chunk version #
mismatch: the version # of the chunk on the chunkserver is less
than what the metaserver knows is the latest version # of that
chunk.
- corrupted chunk: These are chunks for which there is a checksum
mismatch. That is, KFS chunkservers compute checksums for a data
block on 64KB boundaries; the checksums are computed at the time of
writing data to tbe chunk and the checksums are stored in the
logs/checkpoint files. On each read, the checksums are validated.
During this validation process, if there is a mismatch, then the
chunk is said to be corrupt. The corrupt chunks are moved to the
lost+found directory. The metaserver is notified of the corrupted
chunk. If the chunk is replicated, the metaserver will trigger
re-replication to recover the lost chunk.
升级
从KFS-v-0.1更新到KFS-v-0.1.1,运行安装脚本升级选项。例如,假设你已安装KFS二进制, type the following:
1. cd ~/code/kfs/scripts
2. python kfssetup.py -f machines.cfg -b ../build/bin -u
升级脚本会执行以下动作:
1. 停止存在的chunkserver/metaserver进程在已有的NODE中
2. 增加新的二进制到每个NODE还升级脚本在每个NODE。这类似于安装完成。
分享到:
相关推荐
该手册涵盖了Kingbase FlySync的安装、配置、部署和维护等方面,涵盖了数据同步、软件/插件、数据库管理等多个方面的知识点。 一、版权声明和免责声明 该手册对Kingbase FlySync的所有权和知识产权属于Kingbase...
4. **副本策略**:KFS根据系统配置和需求动态调整数据块的副本数量。当某个数据块的副本数低于预设阈值时,系统会自动复制该数据块,以恢复副本数。此外,KFS还支持热备策略,即在热点区域增加额外副本,优化读取...
- KFS也采用数据复制策略,但具体副本数量可以根据需求进行配置。它同样考虑了机架间的分布以优化网络带宽利用率。 3. **读写操作** - HDFS倾向于大文件和批处理操作,写入是append-only模式,不支持文件的随机...
KFS-0.5版本可能包含相关的配置示例、源代码、编译脚本以及用户文档,帮助用户快速理解和部署系统。 **应用场景** KFS常用于大规模数据处理、数据分析、流媒体服务、日志存储等场景,其中大数据处理工具如Hadoop...
- **微控制器(MCU)**:在没有操作系统或使用简单实时操作系统(RTOS)的MCU中,KFS能提供基本的文件管理服务。 总的来说,kfs嵌入式文件系统以其精巧的设计和广泛的适用性,在嵌入式领域中占据一席之地。通过理解并...
KFS(Kosmos File System)是一个分布式文件系统,它与Google的GFS(Google File System)在设计理念上有着诸多相似之处。这两者都是为了处理大规模数据存储和处理而设计的,尤其适用于互联网服务和大数据应用。在...
总的来说,渠道营销KFS分析强调了企业在渠道管理中需要具备的战略眼光和系统思维,只有通过深度理解市场,尊重并赋能渠道伙伴,才能在竞争激烈的市场环境中取得持久的胜利。这需要企业跳出战术层面的短视,转向战略...
这个版本的核心设计包括元数据服务器(MetaServer)和ChunkServer,前者负责管理文件系统的元数据,后者则实际存储文件内容的块。KFS通过多副本机制确保数据的可靠性,每个数据块通常在集群中的多个节点上都有备份。...
HDFS和KFS在性能、容错机制、数据备份策略、扩展性及存储管理上有各自的特点和优势。选择哪个系统通常取决于具体应用场景的需求,比如是否需要处理大量数据和快速数据读取,以及是否对数据一致性和备份策略有严格...
本篇文章针对分布式文件系统KFS(Kosmix File System)的元数据模型进行了改进研究,提出了利用内存缓冲策略和批量插入方法优化元数据管理效率的改进模型,并通过实现在开源KFS系统中的应用与算法复杂度分析,验证了...
分布式文件系统KFS,全称为KASS File System,是一种基于JAVA的纯分布式文件系统,旨在为企业信息系统提供底层文件存储及访问服务。KFS利用HTTP Web协议进行通信,客户端通过HTTP远程调用来执行文件相关的操作。该...
kfs嵌入式文件系统给出了一种管理小容量()存储器的便捷方法,可以应用于使用EEPROM、FLASH作为存储介质的嵌入式系统中,具有良好的文件操作接口,能保证存储器的均匀擦写,且代码短小,在小型的文件管理应用中具有...
5. **输入法**:支持数字、字母、符号及中文输入法,方便用户进行各种操作。 #### 三、视频处理能力 1. **视频输入**:支持1路BNC视频输入(1.0VP-P,75Ω),适用于不同类型的摄像头。 2. **视频制式**:兼容PAL...
硬件资源的规格说明了KFS运行的物理环境,这些信息对于评估KFS在真实世界中的实际性能和适用性具有重要意义。 最后,文档提到了“load-balance”(负载均衡)和FUSE(文件系统在用户空间)。负载均衡技术可以确保...
12.KFS内容营销组合策略的应用场景:该策略的应用场景包括产品推广、品牌建立、客户关系管理等。 13.KFS内容营销组合策略的未来发展趋势:该策略的未来发展趋势包括人工智能技术的应用、虚拟现实技术的应用、社交...
《流程重组的KFS——构建高效管理制度的关键》 在当今快速变化的商业环境中,企业面临着不断升级的竞争压力,为了保持竞争优势,流程重组成为了许多企业管理层的重要议题。KFS,即关键成功因素,是企业在进行流程...
KFS资本资产管理和资本资产生成器模块的代码。 kfs-cg / KFS合同和补助金模块的代码。 Kuali Coeus集成受到青睐。 kfs-ec / KFS努力认证模块的代码。 kfs-kc / KFS-Kuali Coeus集成的代码。 k
【描述】中的简短内容暗示了“kfs”可能是该项目的一个关键组件或特定术语,可能代表“Quality File System”或者类似的含义,用于管理和监控代码的质量。然而,由于信息有限,具体的含义需要通过更深入的研究或查看...
这个文件包含了kfs的核心功能和启动脚本,可能是部署和运行kfs系统的基础。通过分析和编译这个文件,我们可以深入了解kfs的工作原理,甚至对其进行定制和扩展,以满足特定的存储需求。 总之,"kfs:凯尔的文件系统...