本文将构建三台Linux服务器(node1、node2、node3),通过相关配置,搭建出一个Linux服务器集群环境适用于大数据的开发学习。
本文使用的VMware版本为:VMware16;
本文环境搭建使用到的Linux发行版本为:CentOS7;
本文的电脑操作环境为:windows11。
首先,需要根据之前发文中的流程创建好第一台Linux服务器,命名为node1。
Linux简单环境搭建https://blog.csdn.net/weixin_43741856/article/details/128513521?spm=1001.2014.3001.5501
重复创建node1的步骤,通过iso镜像文件安装、配置服务器node2、node3。
不推荐理由:步骤繁琐、JDK、MYSQL及防火墙之类的安装、设置都需要重新来过。
通过克隆的方式,根据node1虚拟机直接克隆出新的Linux虚拟机node2、node3。具体步骤如下:
(1)确保node1虚拟机能正常运行后,关闭node1虚拟机。
(2)右键“node1”,选择“管理”,选择“克隆”(node2、node3的克隆一样,都是从node1进行克隆)。
(3)选择“克隆”后,一路下一步,选择“创建完整克隆”(node3的克隆同理)。
(4)修改“虚拟机名称”为node2、存放路径设置成和node1一样,但是一定要提前在最终目录下创建好node2文件夹(node3的克隆同理)。
本文Linux集群总共3台虚拟机,加上自身Windows,整个集群如果正常运转则需要同时运行4台机器。所以在分配的时候,每台虚拟机的内存为:总内存 ➗ 4。例如:电脑总内存为16G,则每台Linux虚拟机内存设置为4G,即4096MB。
处理器内核总数 = 处理器数量 * 每个处理器的内核数量。
处理器的配置同样需要根据各自电脑性能进行相应配置(可从“任务管理器”的“性能”中看到自己“逻辑处理器”数量。)因此,处理器内核总数设置 = 逻辑处理器 / 4,即可。
由于node2和node3都是从node1克隆而来,所以在mac地址配置前,三台虚拟机的MAC地址都一样,我们要对node2、node3虚拟机进行mac地址重新配置,否则无法同时启动三台虚拟机。
使用VMware打开node2,右键选择“设置”,选择“网络适配器”,选择“高级”,点击“生成”(点击一下、多下均可,目的就是为了和node1不一样),点击“确定”(node3的配置同理)。
由于node2和node3都是从node1克隆而来,所以在IP地址配置前,三台虚拟机的IP地址都一样,我们要对node2、node3虚拟机进行IP地址重新配置。
三台虚拟机的IP地址除了末尾数,其他应该都配置成一样,例如:
node1:192.111.11.1
node2:192.111.11.2
node3:192.111.11.3
由于node1在创建之处就已经配置好了IP地址,因此只要对node2、node3进行配置。
(1)进入node2的Linux服务器,修改IP配置文件、设置IP地址。(node3同理)
在node2的服务器中输入:vim /etc/sysconfig/network-scripts/ifcfg-ens33
(2)重启网络服务(node3同理)。
在node2的服务器中输入:systemctl restart network
(3)查看更新后的IP地址(node3同理)。
在node2的服务器中输入:ifconfig
(4)测试网络连接(node3同理)。
在node2的服务器中输入:ping www.baidu.com
通过以上步骤配置后,则可以通过任意Linux连接工具进行node2、node3服务器连接。(略)
由于node2和node3都是从node1克隆而来,所以在主机名、域名配置前,三台虚拟机的主机名都一样,都是node1。因此需要对node2、node3重新配置。
(1)进入node2的Linux服务器,修改主机名。(node3同理)
在node2的服务器中输入:vim /etc/hostname 修改node1为node2
(2)进入node2的Linux服务器,修改域名。(node3同理)
在node2的服务器中输入:vim /etc/hosts
**注意:**不要修改文件原来内容,三台虚拟机的配置内容应当一样。都在文件末尾添加以下内容:
192.111.11.1 node1 node1.xxx.cn
192.111.11.2 node2 node2.xxx.cn
192.111.11.3 node3 node3.xxx.cn
在每台虚拟机上分别执行一下命令:
(1)systemctl stop firewalld.service #停止firewall
(2)systemctl disable firewalld.service #禁止firewall开机启动
关闭之后,查看防火墙状态:
systemctl status firewalld.service
编辑每台虚拟机的Selinux的配置文件:vim /etc/selinux/config
将SELINUX=enforcing 修改为SELINUX=disabled
由于后期应用需要频繁从主节点进入从节点,从node1进入node2、node3时,每次都需要输入密码才能登陆,非常麻烦。因此,需要对三台虚拟机进行免密登录配置。
在三台虚拟机上执行:ssh-keygen -t rsa
执行该命令后,按三下回车键即可,就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),默认保存在/root/.ssh目录下。
在三台虚拟机上执行:ssh-copy-id node1
执行命令后,输入yes,和虚拟机密码,即可。
在node1虚拟机上执行:
(1)scp /root/.ssh/authorized_keys node2:/root/.ssh
(2)scp /root/.ssh/authorized_keys node3:/root/.ssh
执行命令时。输入yes,和对应的密码,即可。
可以在任何一台主机上通过ssh 主机名命令去远程登录到该主机,输入exit退出登录.
大数据环境下的Linux集群必须进行时间同步配置,不然后期分布式系统的应用会出现存储时间不一致问题。
注意: 通过网络连接外网进行时钟同步,必须保证虚拟机连上外网。
(1)分别在三台虚拟机中启动定时任务
输入执行指令:crontab -e
(2)随后在输入界面键入以下内容,每隔一分钟就去连接阿里云时间同步服务器,进行时钟同步
输入指令:* * * * * /usr/sbin/ntpdate ntp4.aliyun.com
Linux服务器集群-大数据基础环境搭建步骤较为繁琐,本文尽可能详细的描述了搭建的每一环节的必要操作。只要耐心根据本文操作,搭建出一个大数据的学习环境是非常简单的。准备环境已搭建好,后面将继续做好学习笔记整理。