一、集群Linux环境搭建
1. 注意事项
1.1 windows系统确认所有的关于VmWare的服务都已经启动
打开任务管理器->服务,查看五个VM选项是否打开。
1.2 确认好VmWare生成的网关地址
打开VMWare->编辑->虚拟网络编辑器->选择VMnet8->NAT设置->网关:192.168.253.2
1.3 确认VmNet8网卡已经配置好了IP地址和DNS
打开 设置->网络和Internet->更改适配器选项->VMnet8->右键属性->Internet协议版本4->属性->使用下面的IP地址->设置IP地址(与1.2网关相匹配:192.168.253.5)->设置子网掩码:255.255.255.0->默认网关(同1.2:192.168.253.2)->使用下面的DNS服务器地址->首选DNS服务器:8.8.8.8
2. 克隆虚拟机
2.1 将虚拟机克隆三份,并分别重命名
打开VMWare->虚拟机->管理->克隆
2.2 分别设置三台虚拟机的内存
需要三台虚拟机, 并且需要同时运行, 所以总体上的占用为: 每台虚拟机内存x3 ;
在分配的时候, 需要在总内存大小的基础上, 减去2G-4G作为系统内存, 剩余的除以3, 作为每台虚拟机的内存。
打开VMWare->虚拟机->设置
3. 虚拟机修改IP
3.1 集群规划
IP |
主机名 |
192.168.253.100 |
Node01 |
192.168.253.110 |
Node02 |
192.168.253.120 |
Node03 |
3.2 设置ip地址
3.2.1 命令行修改ip地址
1. nmcli d: 查看网卡名字(图中为ens33)
2. vi /etc/sysconfig/network-scripts/ifcfg-网卡名:编辑网卡配置,我的网卡是ens33,所以对应命令为:vi /etc/sysconfig/network-scripts/ifcfg-ens33
3. 将 BOOTPROTO=”dhcp” 修改为 BOOTPROTO=”static”,意为设置为静态ip
4. 将 ONBOOT=no 修改为 ONBOOT=yes,意为启动时激活该网卡
5. 最后添加ip、子网掩码、网关、DNS、网络前缀,ip与集群规划上的ip相对应,子网掩码、网关、DNS与1.3的设置相对应,网络前缀为24
IPADDR=192.168.253.100
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=8.8.8.8
PREFIX=24
6. ESC->:wq,保存修改。
7. 重启网络服务:先载入新的配置文件,然后再执行重启网卡命令。重启网卡之前一定要重新载入一下配置文件,不然不能立即生效
载入配置文件命令:nmcli c reload
重启网卡:nmcli c up ens33(网卡名与上面相照应,我的为ens33)
8. 检查网络连接是否成功:ping -c 1 www.baidu.com,参数c为设置完成要求回应的次数。如果为:ping www.baidu.com ,需要按 Ctrl+c 终止。
3.2.2 图形界面修改ip地址
1. nmtui:打开图形化修改ip界面
2. nmtui使用教程:
使用箭头键或按 Tab 键向前选择选项;
按 Shift+Tab 组合键返回;
按 Enter 选择一个选项;
按 Space 键选择复选框状态。
3. 修改过程如下:
4. 设置主机名
4.1 命令行修改主机名
4.1.1 查看当前主机名:hostnamectl
4.1.2 修改当前主机名
1. hostnamectl修改当前主机名:hostnamectl set-hostname liu
2. nmcli修改当前主机名:
4.1.3 重启服务使更改生效
重新启动systemd-hostnamed服务:systemctl restart systemd-hostnamed.service。
4.2 图形界面修改主机名
nmtui:打开图形化修改ip界面
5. 设置ip和域名映射
命令行输入:vi /etc/hosts,进入文件。
添加ip和域名映射:
192.168.253.90 liumengsong liumengsong.hadoop.com
192.168.253.100 node01 node01.hadoop.com
192.168.253.110 node02 node02.hadoop.com
192.168.253.120 node03 node03.hadoop.com
6. 关闭防火墙
6.1 查看防火墙状态
命令:systemctl status firewalld.service
6.2 关闭防火墙
命令:systemctl stop firewalld.service
6.3 启动防火墙
命令:systemctl start firewalld.service
6.4 禁止防火墙随系统启动
命令:systemctl disable firewalld.service
6.5 设置防火墙随系统启动
命令:systemctl enable firewalld.service
6.6 使防火墙设置生效
命令:reboot(重启系统)
7. 关闭SELinux
7.1 SELinux的工作模式
enforcing:强制模式
permissive:宽容模式
disabled:关闭
7.2 修改其配置文件
命令:vi /etc/selinux/config
8. 虚拟机免密码登录
8.1免密SSH登录原理
1. 需要先在 B节点 配置 A节点 的公钥 ;
3. A节点 请求 B节点 要求登录;
3. B节点 使用 A节点 的公钥, 加密一段随机文本;
4. A节点 使用私钥解密, 并发回给 B节点;
5. B节点 验证文本是否正确。
8.2 生成公钥与私钥
命令:ssh-keygen -t rsa
8.3 拷贝公钥到同一台机器
命令:ssh-copy-id liumengsong(我的主机名是liumengsong)
8.4 复制第一台机器的认证到其它机器
命令:scp /root/.ssh/authorized_keys node01:/root/.ssh(node01为要复制到的机器主机名)
8.5 验证是否可以免密登录
命令:ssh node01(登录到主机名为node01的机器)
退出登录:exit
9. 时钟同步
9.1 修改配置,加入网络时间
命令:vi /etc/chrony.conf
server ntp.aliyun.com iburst
server cn.ntp.org.cn iburst
9.2 重启服务
命令:systemctl restart chronyd.service
9.3 设置开机自启
命令:systemctl enable chronyd.service
10. 安装jdk
10.1 卸载自带openjdk
命令:rpm -qa | grep java。rpm 命令用于管理套件,参数q为使用询问模式,当遇到任何问题时,rpm指令会先询问用户,a为查询所有套件。 grep 命令用于查找文件里符合条件的字符串。
命令:rpm -e javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch tzdata-java-2020a-1.el8.noarch java-1.8.0-openjdk-headless-1.8.0.265.b01-0.el8_2.x86_64 --nodeps,其中e为删除指定的套件,nodeps为不验证套件的相互关联性。
10.2 创建安装目录
命令:mkdir -p /export/softwares #软件包存放目录
mkdir -p /export/servers #软件包安装目录
其中,-p 确保目录名称存在,不存在的就建一个。
10.3 下载软件包
软件包下载地址:https://forensics.cert.org/centos/cert/8/x86_64/jdk-12.0.2_linux-x64_bin.rpm
通过Xftp 6软件移动到指定的软件包存放目录。
10.4 安装软件包
命令:rpm -ivh --prefix=/export/servers/ jdk-12.0.2_linux-x64_bin.rpm
其中,参数i为显示套件的相关信息,v为显示指令执行过程,h为套件安装时列出标记,prefix后跟安装目录。安装完成后命令行输入:java -version,查看是否安装成功。
10.5 配置环境变量
Centos 8以后安装jdk自动配置环境变量,无需另外配置。
11. 安装、配置mysql
11.1 安装mysql
命令:yum install mysql mysql-server mysql-devel.x86_64
mysql:客户端
mysql-server:数据库服务器
mysql-devel:开发用到的库以及包含条件
11.2 启动mysql服务
命令:systemctl start mysqld
11.3 登录mysql
命令:mysql -u root -p
11.4 修改mysql密码
命令:create user root@'%' identified by '666666';
11.5 开启远程登录
命令:grant all privileges on *.* to root@'%' with grant option;
flush privileges;
exit;
11.6 重启mysql服务
命令:systemctl restart mysqld.service
11.7 设置mysql开机启动
命令:systemctl enable mysqld
12 附录
ESC+U:撤销(修改文本出现错误时)
mv 原文件名 重命名文件名:文件重命名
Ctrl+L/clear:清屏(命令行)
Ctrl+c:ping出现死循环时停止(返回命令行)
以上环境配置均在centos8