我目前正在寻找一个好的分布式文件系统.
这应该:
以下是我认为最有希望的四位候选人:
文件系统主要用于媒体文件(图像和音频).有非常小和中等大小的文件(1 KB - 10 MB).文件数量应该在几百万左右.
是否有关于性能,CPU负载,内存消耗和可扩展性的基准测试?您使用这些或其他分布式文件系统的经历是什么?
我见过redhat提出了一个可能的解决方案,GlusterFS作为hadoop的后端.在这种情况下,您可以使用namenode/datanode体系结构并将其替换为glusterfs,同时您仍然具有Hadoop Mapreduce api兼容性.
只是想知道性能与native-HDFS相比如何?真的是生产准备好了吗?它是否也支持所有的hadoop生态系统?例如Solr Cloud,Spark,Impala等
我一直在尝试使用以下方法在我的kubernetes集群上运行glusterfs集群:
glusterfs-service.json
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "glusterfs-cluster"
},
"spec": {
"type": "NodePort",
"selector": {
"name": "gluster"
},
"ports": [
{
"port": 1
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
并且glusterfs-server.json
:
{
"apiVersion": "extensions/v1beta1",
"kind": "DaemonSet",
"metadata": {
"labels": {
"name": "gluster"
},
"name": "gluster"
},
"spec": {
"selector": {
"matchLabels": {
"name": "gluster"
}
},
"template": {
"metadata": {
"labels": {
"name": "gluster"
}
},
"spec": {
"containers": [
{
"name": "gluster",
"image": "gluster/gluster-centos",
"livenessProbe": {
"exec": …
Run Code Online (Sandbox Code Playgroud) 我已经设置了具有 3+1 节点的小型 GlusterFS 集群。它们都在同一个 LAN 上。有 3 台服务器和 1 台笔记本电脑(通过 Wifi),也是 GlusterFS 节点。笔记本电脑经常与网络断开连接。;)
我想要实现的用例是这样的:
我希望我的笔记本电脑在重新连接时自动与 GlusterFS 文件系统同步。(这很容易完成。)
但是,当笔记本电脑与集群断开连接时,我仍然想“离线”访问文件系统。修改、添加、删除文件..
显然,当 GlusterFS 文件系统从集群脱机时,我访问它的唯一方法是直接访问卷存储。我配置的创建一个 gluster 卷。我猜是砖头吧
修改存储内的文件安全吗?当节点重新连接时它们会被复制到集群吗?
我正在使用GlusterFS 3.3.2.两台服务器,每台服务器上都有一块砖.卷是"ARCHIVE80"
我可以在Server2上安装卷; 如果我触摸一个新文件,它会出现在Server1上的砖块内.
但是,如果我尝试在Server1上安装卷,我有一个错误:
Mount failed. Please check the log file for more details.
Run Code Online (Sandbox Code Playgroud)
日志给出:
[2013-11-11 03:33:59.796431] I [rpc-clnt.c:1654:rpc_clnt_reconfig] 0-ARCHIVE80-client-0: changing port to 24011 (from 0)
[2013-11-11 03:33:59.796810] I [rpc-clnt.c:1654:rpc_clnt_reconfig] 0-ARCHIVE80-client-1: changing port to 24009 (from 0)
[2013-11-11 03:34:03.794182] I [client-handshake.c:1614:select_server_supported_programs] 0-ARCHIVE80-client-0: Using Program GlusterFS 3.3.2, Num (1298437), Version (330)
[2013-11-11 03:34:03.794387] W [client-handshake.c:1320:client_setvolume_cbk] 0-ARCHIVE80-client-0: failed to set the volume (Permission denied)
[2013-11-11 03:34:03.794407] W [client-handshake.c:1346:client_setvolume_cbk] 0-ARCHIVE80-client-0: failed to get 'process-uuid' from reply dict
[2013-11-11 03:34:03.794418] E [client-handshake.c:1352:client_setvolume_cbk] 0-ARCHIVE80-client-0: …
Run Code Online (Sandbox Code Playgroud) 我需要实现glusterfs地理复制.
在我的生产环境中,端口22在我想要复制的服务器之间没有打开(这是设计的,我们必须随身携带).
有没有办法可以使用自定义ssh端口(即22222)来实现它.
有没有其他解决方案.
注意:我不能使用除此之外的其他服务器.
问题描述:对于我们的应用程序 (RHEL 5,6),我们使用共享存储 (EVA),并且需要为节点 (2-7) 之间共享的多个 FS找到OCFS2 替代品(RHEL 6 不支持)。当前的技巧是GFS2和GlusterFS。
用法:系统接收(SFTP/SCP)并处理大小为 10-100 MB 的文件(创建、在目录中重命名、在目录之间移动、读取、删除)。
限制:以这种方式处理的数据量(创建、删除)最多为3 TB/day
(max 60 MB/s
)。文件系统应能够在积压期间处理单个目录中的数千个此类文件。
选择 GFS2/GlucterFS 的原因:两者都是 RedHat。尝试将 GlusterFS 与 GFS2 进行比较的原因很简单,GFS2 需要安装 RH 集群,而 GlusterFS 则不需要。问题是性能。
获得更多建议和/或找到一些比较可能确实很有帮助(我知道它们通常属于不同类型,但无论如何)。
谢谢简
有没有人试图使用GlusterFS或Ceph作为Hadoop的后端?我不是在谈论只是使用插件来缝制东西.性能是否优于HDFS本身?是否适合生产使用.
另外,合并对象存储,hadoop hdfs存储作为单个存储是一个非常好的主意吗?或者最好让它们分开.
我创建并启动了一些 GlusterFS(版本 3.7.11)卷,经过一些测试,我停止手动删除这些卷,但它们仍然保留在 GlusterFS 服务器中。
例如,我有 3 台服务器,砖块保存在 /gfs 下:
[vagrant@gfs-server-2 ~]$ sudo gluster volume create test-vol gfs-server-1:/gfs/test-vol gfs-server-2:/gfs/test-vol gfs-server-3:/gfs/test-vol force
volume create: test-vol: success: please start the volume to access data
[vagrant@gfs-server-2 ~]$ sudo gluster volume start test-vol
volume start: test-vol: success
[vagrant@gfs-server-2 ~]$ mkdir /tmp/test
[vagrant@gfs-server-2 ~]$ sudo mount -t glusterfs gfs-server-1:/test-vol /tmp/test
[vagrant@gfs-server-2 ~]$ sudo touch /tmp/test/`date +%s`.txt
[vagrant@gfs-server-2 ~]$ sudo touch /tmp/test/`date +%s`.txt
[vagrant@gfs-server-2 ~]$ sudo touch /tmp/test/`date +%s`.txt
[vagrant@gfs-server-2 ~]$ sudo touch /tmp/test/`date +%s`.txt
[vagrant@gfs-server-2 …
Run Code Online (Sandbox Code Playgroud) 我正在使用 pgbench 进行性能测试,以评估将 Glusterfs 与 Postgresql 一起使用的影响。我创建了一个带有 3 个砖块/服务器的 gluster 复制卷:
Volume Name: gv0
Type: Replicate
Volume ID: a7e617ec-c564-4a01-aec9-807e87fcccb3
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: 10.112.76.37:/export/sdb1/brick
Brick2: 10.112.76.38:/export/sdb1/brick
Brick3: 10.112.76.39:/export/sdb1/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
Run Code Online (Sandbox Code Playgroud)
之后,我将 postgres 配置为使用卷 gv0。在低压力下一切正常。但是,当负载增加时,会出现以下错误:
client 14 aborted in state 9: ERROR: unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT: This has been seen to occur with buggy kernels; …
Run Code Online (Sandbox Code Playgroud) glusterfs ×10
ceph ×2
hadoop ×2
filesystems ×1
gfs ×1
gridfs ×1
kubernetes ×1
linux ×1
postgresql ×1
storage ×1