由于工作需要,我曾经多次安装配置过一些开源的分布式文件系统,涉及的节点也超过10台较好配置的物理机,并进行了性能测试。 涉及的分布式文件系统有moosefs,glusterfs,ceph和最常见的HDFS,
从刚开始安装配置的一头雾水到现在 安装配置相对比较熟练,这个过程中有些小感悟,希望对新手有些小帮助:
一,宏观上的把握
在安装系统前,首先要弄清楚这样一个问题,我的分布式系统涉及哪些进程(组件)?基本功能是什么?分别运行在哪些节点上?事前最好能够写个简单的文档描述一下拓扑图。
二,依赖库的问题
最好用源代码安装,源码安装有很多好处,例如,删除起来很容易,可以方便指定安装位置。用哪些系统自带的命令安装经常会带来混乱,第一是版本问题,第二会经常安装一些多余的东西。
三,库的路径问题
有时明明已经安装某个依赖库,但是编译目标代码是总是提示无法找到依赖库。这时可以考虑从以下几个方面查找问题:
(1)确定依赖库应该是动态库还是静态库?可以查看目标代码的编译提示信息,configure 时是否应该加上选项--enable-shared
(2)用PKG_CONFIG_PATH环境变量指定依赖库路径,
(3)在~/.profile 配置文件中指定编译时需要查找的额外头文件和依赖库,
四,权限问题
在安装的过程中,能够不用root就不用root,根据目标程序需要而创建特定的用户名,
五,配置问题
配置主要涉及:
a 主机名,IP地址,端口号
b 日志文件的路径,数据存储的路径,
c 一些timeout相关的参数,例如间隔多少时间干一次啥
d 系统资源的使用,分配各某个组件的最大使用内存,最大打开文件数,最大网络连接数
e 最后最重要的权限问题,某个进程对IP和端口的过滤,对客户端用户访问权限的控制等。
六,关于troubleshooting
百度解决不了,找google,google不行就直接上目标分布式系统论坛查找,或mail 开发人员
七,后记
多加强基础知识的学习,例如网络,操作系统,脚本等,都会极大的帮助你解决困难