一、问题
由于之前是第一次安装CentOS系统,基本上是按照网上的教程安装,安装了桌面版,配置默认,在安装CDH6.3后,在使用中发现没有预期的那么好用,然后请教专业人士后,得出以下2个原因
1、桌面版系统存在很多漏洞,安全性太低,不能用于正式生产
2、默认配置的话,swap交换器小,根目录分配不合理
二、原因
针对第一个问题,网上找发现有以下说法:
Linux 诞生的 31 年间,作为一款开源且免费的操作系统,称霸几乎整个 IT 服务器领域,同时全球超过 70% 的智能手机也都在运行它。
然而,与之相比,Linux 在一个领域表现的却显得异常悲惨,甚至连 Linux 之父 Linus Torvalds 也曾忍不住发声吐槽,“乱改核心,说了还没人听。对非开发者的普通用户一点也不友好。”这个领域就是桌面端。
Linux 桌面版长久以来被业界诟病,其主要原因就是因为 Linux 发行版太过碎片化,程序兼容性非常糟糕,这也让 Linus 本人无可奈何,甚至还要说上一声,“为不同版本的 Linux 制作包是真 XX 的痛苦!”
除了兼容性之外,近日,外媒 The Register 在分析主流桌面操作系统时,意外发现,看似丰富多彩的 Linux 发行版,内里实则太过单调。仅从 Linux 桌面的设计维度来看,在对比 21 个不同的用户界面环境后,发现本质上它们只有 2 种不同的基本设计,而且外观与 macOS 太过相似,最初还是从 Windows 95 中学习而来。
在这些桌面环境中,有些是用 C++ 写的,有些使用 JavaScript 写的,有些是用 Vala 写的,大多数是用普通的 C 语言写的。有些使用 Gtk,有不同的版本;有些使用 Qt;有些同时使用;还有一些,比如 Enlightenment 或 EDE,使用完全不同的东西。
综合以上说法,由于开发语言太多,参与人数众多,版本多管理难度大等问题,系统存在漏洞是在所难免的,因此在正式生产中确实不适合使用。
针对问题二
系统安装时选择桌面版默认配置,会把大部分空间分配到/home目录下,系统空间只有50Gb,那么在安装CDH6.3集群的时候选择默认配置时,有以下3个问题:
1、经常会因为操作频繁产生的日志堆在系统目录下,因为配置的是7天自动清理日志,很容易撑爆磁盘,需要修改配置文件;
2、impala查询会产生5Gb左右一个的缓存文件,也存在系统目录下;
3、系统缓存空间swap分配较小,查询性能差.
三、解决办法
在安装CentOS时,大部分的操作没什么区别,讲讲要修改的地方
选择安装类型,这里我们统一选择Basic Web Server并同时选装Development Tools
划分分区可直接将所有空间划分到根目录或选择默认,swap建议至少4G。
选择-其它存储选项Other Storage Options-分区Partitoning-我要配置分区I will configure partitioning,
点左上角的“完成Done”,进入下面的界面
新挂载点使用以下分区方案:标准Standard Partition 完成Done 分区前先规划好,swap #交换分区,建议至少4G,/ #剩余所有空间
自定义分区:
此处设置只做3个最基础的分区根/、boot和swap,具体可根据实际情况来进行分区。
点击“+”来设置自定义分区:
boot:一般建议设置200M。(经过多次安装虚拟机发现,如果设置200M系统会出现提示 boot空间不足,建议设置300M,就不会有提示了)
SWAP:此处设置4G。(小伙伴可自行百度查阅相关SWAP空间分配资源)
根/:剩余磁盘全部分配。(这种分区的好处就是磁盘空间全部在根/下面,可随便分配磁盘空间)
把/boot /swap / 这3个空间分配好后,点击Done,进入下面界面
配置了如上一些列项目之后,选择开始安装,安装完成后,配置网卡,单网卡或者做bond,根据具体情况决定。
网卡做bond可以参考我以前的博文或者网上找资料,CDH安装我也有相关的博文。
补充一点CDH的知识:配置HA模式教程
安装完CDH后,在CM管理界面配置HA模式,这样可以提高集群的性能
(1) NameNode机器: 运行 Active NameNode和 Standby NameNode 的机器配置应保持一样。
(2) 当 Active 状态的 NameNode 宕机后,需要手动切换Standby 状态的 NameNode 来继提供服务。如果要实现自动故障转移,必须依赖 ZooKeeper。
(3) JournalNode 机器:这些守护进程比较轻量级,可以部署在其他服务器上。至少需要部署 3个JoumalNode 节点, 便容忍一个节点故障。通常配置成奇数。
(4) 配置NameNode HA后,客户端可以通过HA的逻辑名称去访问数据,而不用指定某一台NameNode,当某一台 NameNode 失效自动切换后,客户端不必更改 HDFS的连接地址 ,仍通过逻辑名称去访问。
需要注意的是, Standby NameNode 同时完成了原来 SecondaryNameNode checkpoint (检查点)功能,因此不需要再独立部署 SecondaryNameNode。
1.进入HDFS -> 操作 -> 启用High Availability。
2、Hive 设置->更新Hive Metastore NameNode
3、YARN HA
方式一:可以跟HDFS一样添加HA
方式二:如果HDFS已经启用HA,那更简单,添加一个ResourceManager,重启即可,CDH会自动部署高可用。
4、Hive HA
同YARN。添加MataStore Server和HiveServer2,重启自动部署。