Linux 集群搭建
在学习linux的过程中,难免需要搭建个集群玩,今天就记录下搭建linux集群最基础的一些设置,当然,需要你先安装好一个linux虚拟机,可以查看Cenos7 安装 (超级超级详细的一篇教程) 和 Cenos7 虚拟机网络配置 (让虚拟机访问因特网)。接下来,我们开始吧!
关注博主不迷路,获取更多干货资源
1 克隆虚拟机
2 配置MAC地址
3 配置ip
1 |
|
重启网卡
1 |
|
4 配置主机名
1 |
|
5 配置域名映射
修改下面文件,不要修改原文件内容,添加图中所示内容即可(每个虚拟机配置了两个别名)
1 |
|
6 关闭防火墙和Selinux
6.1 关闭防火墙
1 |
|
1 |
|
6.2 关闭SELinux
6.2.1 什么是SELinux ?
- SELinux是Linux的一种安全子系统
- Linux中的权限管理是针对于文件的, 而不是针对进程的, 也就是说, 如果root启动了某个进程, 则这个进程可以操作任何一个文件。
- SELinux在Linux的文件权限之外, 增加了对进程的限制, 进程只能在进程允许的范围内操作资源
6.2.2 为什么要关闭SELinux ?
如果开启了SELinux, 需要做非常复杂的配置, 才能正常使用系统, 在学习阶段, 在非生产环境, 一般不使用SELinux
6.2.3 SELinux的工作模式
1 |
|
6.2.4 关闭SELinux
下面文件改为图中所示:SELINUX=disable
1 |
|
6.2.5 分别重启三台虚拟机
1 |
|
7 三台服务器免密码登录
7.1 为什么要免密登录
Hadoop 节点众多, 所以一般在主节点启动从节点, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦。
7.2 免密 SSH 登录的原理
- 需要先在 B节点 配置 A节点 的公钥
- A节点 请求 B节点 要求登录
- B节点 使用 A节点 的公钥, 加密一段随机文本
- A节点 使用私钥解密, 并发回给 B节点
- B节点 验证文本是否正确
7.3 实现步骤
7.3.1 第一步:三台机器生成公钥与私钥
在三台机器执行以下命令,生成公钥与私钥
1 |
|
执行该命令之后,按下三个回车即可,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),默认保存在/root/.ssh目录。
7.3.2 第二步:拷贝公钥到同一台机器
三台机器将拷贝公钥到第一台机器
三台机器都执行命令:
1 |
|
在执行该命令之后,需要输入yes和node1的密码:
第一台机器在/root/.ssh下会生产authorized_keys文件
7.3.3 第三步:复制第一台机器的认证到其他机器
将第一台机器的公钥拷贝到其他机器上
在第一台机器上指行以下命令
1 |
|
执行命令时,需要输入yes和对方的密码
其他机器在/root/.ssh下会生产authorized_keys文件
7.3.4 第四步:测试SSH免密登录
1 |
|
8 设置时区
查看时区
1 |
|
设置时区为上海
1 |
|
9 时钟同步
目标环境,
3台linux centos7
,一台作为NTPD服务与外部公共NTP服务同步时间
,同时作为内网的NTPD服务器
,其他机器与这台服务做时间同步
。
服务器IP | 角色 | 说明 | 同步方式 |
---|---|---|---|
192.168.88.101 | NTPD服务 | 1、负责与外部公共NTPD服务同步标准时间 2、作为内外网络的NTPD服务 |
NTPD服务平滑同步 |
192.168.88.102 | 内外NTP客户端 | 内网设备与192.168.88.101同步时间 | NTPD服务平滑同步 |
192.168.88.103 | 内外NTP客户端 | 内网设备与192.168.88.101同步时间 | NTPD服务平滑同步 |
9.1 为什么需要时间同步(掌握)
因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是1, B节点 记录的时间是2, 就会出问题
9.2 NTP时间同步方式选择
NTP同步方式在linux下一般两种:使用
ntpdate命令直接同步
和使用NTPD服务平滑同步
。有什么区别呢,简单说下,免得时间长了,概念又模糊。
现有一台设备,系统时间是 13:00 , 真实的当前时间(在空中,也许卫星上,这里假设是在准备同步的上级目标NTP服务器)是: 12:30 。
如果我们使用
ntpdate
同步(ntpdate -u 目标NTP服务器IP),操作系统的时间立即更新为12:30,假如,我们的系统有一个定时应用,是在每天12:40运行,那么实际今天这个的任务已经运行过了(当前时间是13:00嘛),现在被ntpdate
修改为12:30,那么意味作10分钟后,又会执行一次任务,这就糟糕了,这个任务只能执行一次的嘛!!我想你(其实是我)已经懂了
ntpdate时间同步的隐患
,当然这个例子有些极端,但的确是有风险的,生产环境我不打算这么干,还是稳妥点好。所以解决该问题的办法就是
时间平滑更改
,不会让一个时间点在一天内经历两次,这就是NTPD服务方式平滑同步时间,它每次同步时间的偏移量不会太陡,是慢慢来的(问:怎么来,没有细究,只晓得一次一点的同步,完全同步好需要较长时间,所以一般开启NTPD服务同步前先用ntpdate先手动同步一次
)。
9.3 安装配置
9.3.1 安装NTPD服务(所有服务器执行)
所有服务器都执行,安装NTP软件包
1 |
|
1 |
|
配置NTP服务为自启动
1 |
|
在配置前,
先使用ntpdate手动同步下时间
,免得本机与外部时间服务器时间差距太大,让ntpd不能正常同步。
1 |
|
9.3.2 配置内网NTP-Server(192.168.88.101)
下面主要是配置内网的
NPTD服务器
(192.168.88.101), NTPD服务配置核心就在/etc/ntp.conf
文件,配置好了就OK。贴出来的是修改的部分,其他默认。
1 |
|
1 |
|
启动服务
1 |
|
启动后,一般需要
5-10分钟左右
的时候才能与外部时间服务器开始同步时间。可以通过命令查询NTPD服务
情况。
查看
服务连接和监听
1 |
|
查看网络中的
NTP服务器
,同时显示客户端和每个服务器的关系
1 |
|
查看
时间同步状态
,这个一般需要5-10分钟后
才能成功连接和同步。所以,服务器启动后需要稍等下。
1 |
|
OK,
内网的NTPD服务已经配置完成
,如果所有正常后,开始配置内网的其他设备与这台服务器作为时间同步服务。
9.3.3 配置内网NTP-Clients
内网
其他设备作为NTP的客户端配置
,相对就比较简单,而且所有设备的配置都相同。修改其中一台配置
/etc/ntp.conf
文件(我这里修改node2),配置完成后,拷贝到其他客户端机器
即可。贴出来的是修改的部分,其他默认。
1 |
|
1 |
|
拷贝到其他服务器
1 |
|
先使用ntpdate手动同步下时间
(服务器2和3)
1 |
|
启动服务
(服务器2和3)
1 |
|
查看同步情况
(服务器2和3)
1 |
|
关注博主不迷路
本博客所有文章除特别声明外,均为原创。版权归博主小马所有。任何团体、机构、媒体、网站、公众号及个人不得转载。如需转载,请联系博主(关于页面)。如其他团体、机构、媒体、网站、博客或个人未经博主允许擅自转载使用,请自负版权等法律责任!