我需要某种在CoreOS集群上运行的分布式文件系统。
因此,我想在CoreOS节点上运行HDFS。这可能吗?
我可以看到2个选项;
选项2似乎是最好的方法,但是,仍有一些潜在的障碍。
干杯。
我将尝试提供两种可能性。我都没有尝试过,所以大多数都是建议。但是可以帮助您走上正确的道路。
首先,如果要执行HDFS且需要在主机上访问设备,则将在特权容器中运行HDFS守护程序,该容器可以访问所需的主机设备(直接在磁盘上)。有关和标志的信息,请参阅https://docs.docker.com/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration。--privileged
--device
从理论上讲,您可以将设备传递到处理磁盘访问的容器。然后,您可以使用类似的--link
方式互相交谈。NameNode将使用卷(通过传递-v
)将元数据存储在主机上。但是,考虑到我对NameNode所做的少量阅读,似乎对于高可用性而言似乎还没有一个好的解决方案,并且这是单点故障。
如果要查找群集文件系统而不是特别是HDFS,要探索的第二个选项是检查最近在CoreOS 471.1.0中添加到内核的Ceph FS支持:https ://coreos.com/releases /#471.1.0。然后,您也许可以使用特权容器的相同方法来访问主机磁盘,以构建Ceph FS集群。然后,您可能有一个“仅数据”容器,该容器安装了Ceph工具以在Ceph FS集群上安装目录,并将其作为卷公开给其他容器使用。
尽管这只是个主意,我个人还没有使用过HDFS或Ceph(尽管我一直在关注Ceph,并希望尽快尝试类似的尝试作为概念验证)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句