大数据集群服务器环境配置与搭建

大数据集群服务器环境配置与搭建

分布式(Distributed)、集群(Cluster)

定义

image-20240311014223136

共同与区别

  • 分布式、集群的共同点是:多台机器。与之对立的叫做单机。

  • 因此口语中混淆两者概念的时候都是相对于单机来说的。

image-20240311014332380

举例:

image-20240311014535112

集群架构

  • 主从架构
主角色:master leader
从角色:slave  follower

主从角色各司其职,需要共同配合对外提供服务
常见的是一主多从,也就是大哥带着一群小弟干活
  • 主备架构
主角色:active
备角色:standby

主备架构主要是解决单点故障问题的,保证业务的持续可用。
常见的是一主一备,也可以是一主多备
  • 单点故障:集群中某一个点出现故障会导致整体故障

集群服务器环境配置与搭建

概述

  • 集群中各个服务器的基础环境是否正常、可用,直接影响在其之上运行的分布式软件。

  • Linux号称”万物皆文件”,因此要想修改动作永久生效,必须修改对应的配置文件。(命令只是临时生效)

  • 文件的修改需要重启之后才能生效

step1:虚拟机克隆

  • 克隆前提:虚拟机要处于关闭状态

  • 克隆分为:链接克隆、完整克隆,完整克隆意味着两台机器将完全互相独立。

  • 完整克隆后两台机器一模一样。但在局域网网络中,有些属性是绝对不能一样的。比如IP、MAC、hostname等。因此需要修改这些冲突的属性。(手动修改)

step2:修改IP、hostname

从node1复制过来的node2虚拟机,ip地址和hostname是一样的,不能同时打开这两个虚拟机,需要先修改node2虚拟机的IP地址和hostname

  • IP
#修改IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"     #网卡类型 以太网
BOOTPROTO="none"   #ip等信息是如何决定的?  dhcp动态分配、 static|node 手动静态分配
NAME="ens33"        #网卡名称
ONBOOT="yes"       #是否开机启动网卡服务
IPADDR="192.168.88.152"  #IP地址  (修改IP地址)
PREFIX="24"   #子网掩码   等效: NETMASK=255.255.255.0
GATEWAY="192.168.88.2"  #网关服务
DNS1="192.168.88.2"     #网关DNS解析
DOMAIN="114.114.114.114" #公网DNS解析  114.114.114.114  谷歌:8.8.8.8  阿里百度DNS

  • hostname
vim /etc/hostname

node2.itcast.cn

step3:配置hosts映射

在网络中,很少直接通过IP地址访问机器,通常使用主机名或域名访问,此时就涉及到主机域名和IP地址之间的解析

  • Linux hosts
vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.88.151 node1.itcast.cn node1  # node1 (后面node1相当于起别名,可以直接ping node1)
192.168.88.152 node2.itcast.cn node2  # node2		
192.168.88.153 node3.itcast.cn node3  # node3

  • 注意:一行只能配置一个域名解析

  • windows hosts

C:\Windows\System32\drivers\etc\hosts

192.168.88.151 node1.itcast.cn node1
192.168.88.152 node2.itcast.cn node2
192.168.88.153 node3.itcast.cn node3
  • 在C:\Windows\System32\drivers\etc\hosts中进行添加修改完成之后,就可以在黑窗口中实现ping

step4:关闭防火墙

  • firewalld(Linux自带)
#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld (开机会自启动)
#关闭防火墙开机自启动
systemctl disable firewalld

#centos服务开启关闭命令
centos6:(某些可以在centos7下使用)
service 服务名 start|stop|status|restart
chkconfig on|off 服务名

centos7: 
systemctl start|stop|status|restart 服务名
systemctl disable|enable 服务名  #开机自启动  关闭自启
  • selinux(美国联邦局)
vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled 
  • 修改SELINUX=disabled 需要重启生效

step5:集群时间同步

  • 背景:分布式软件不同机器不同角色进程之间通常基于心跳时间差来判断彼此角色工作是否正常。

  • 中国处于东八时区,全国时间由国家授时中心发布,叫做北京时间

  • ntp网络时间协议:实现基于网络授时同步时间

#查看当前的系统时间 也可以手动指定设置时间 不精准
[root@node1 ~]# date
Thu May 20 14:50:30 CST 2023
#ntpdate  授时服务器
ntpdate ntp5.aliyun.com
[root@node1 ~]# ntpdate ntp5.aliyun.com
20 May 14:53:07 ntpdate[2187]: step time server 203.107.6.88 offset -1.354309 sec

#企业中运维往往不喜欢ntpdate 原因是这个命令同步时间是立即的。不是平滑过渡的。
#可以配置ntpd服务,平滑的和授时服务器进行时间的同步。
posted @   七落安歌  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示