环境准备
一、环境介绍
基于 VMware 构建 Linux 虚拟机
- 是大数据从业者或 IT 从业者的必备技能之一
- 也是成本低廉的方案
所以, VMware 虚拟机方案是必须要学习的。
二、Linux 虚拟机设置
2.1.基于 VMware 创建 Linux 虚拟机
2.1.1.设置 VMware 网段
在 VMware 的虚拟网络编辑器中,将 VMnet8 虚拟网卡的:
- 网段设置为:192.168.161.0
- 网关设置为:192.168.161.2
2.1.2.下载 CentOS 操作系统
首先,我们需要下载操作系统的安装文件,本次使用 CentOS7.6 版本进行学习:
https://vault.centos.org/7.6.1810/isos/x86_64/ ( 最后的 / 不要漏掉)
- 或者直接使用如下链接下载:
https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
- 或者从课程资料中获取安装包
2.1.3.在 VMware 中安装 CentOS 操作系统
对虚拟机的内存进行配置:
- node1 配置为 4G 内存
- node2 、node3 配置为 2G 内存
2.1.4.配置多台 Linux 虚拟机
先安装一台基础的 Linux 虚拟机后,就可以使用 VMware 提供的克隆功能,基于一台虚拟机去克隆创建多台虚拟机。
⑴.创建文件夹
⑵.选中基础虚拟机,点击克隆
⑶.克隆三个虚拟机
2.2.设置克隆的多台 Linux 虚拟机
对三台虚拟机完成主机名、固定 IP 、 SSH 免密登陆等系统设置
2.2.1.配置固定 IP 地址
开启 node1 ,修改主机名为 node1 ,并修改固定 ip 为: 192.168.161.131\
# 修改主机名 hostnamectl set-hostname node1 # 修改IP地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33 将BOOTPROTO的属性值改为static, IPADDR=192.168.161.131 GATEWAY=192.168.161.2 NETMASK=255.255.255.0 DNS1=8.8.8.8 # 重启网卡 service network stop service network start # 或者直接重启 service network restart
同样的操作启动 node2 和 node3,
- 修改 node2 主机名为 node2 ,设置 ip 为 192.168.161.132
- 修改 node2 主机名为 node3 ,设置 ip 为 192.168.161.133
2.2.2.配置主机名映射
在 Windows 系统中修改C:\Windows\System32\drivers\etc下的 hosts 文件,填入如下内容:
192.168.161.131 node1 192.168.161.132 node2 192.168.161.133 node3
在 3 台 Linux 的 /etc/hosts 文件中,填入如下内容( 3 台都要添加)
192.168.161.131 node1 192.168.161.132 node2 192.168.161.133 node3
2.2.3.配置 SSH 免密登录
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台 Linux 服务器之间的免密码互相 SSH 登陆
⑴.在每一台机器都执行: ssh-keygen -t rsa -b 4096 ,一路回车到底即可
# 查看生成的秘钥
cd .ssh
⑵.在每一台机器都执行
ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
上面会要求设置密码,设置为123456就可以了
⑶.执行完毕后, node1 、 node2 、 node3 之间将完成 root 用户之间的免密互通
# 在node1中免密登录node2
ssh node2
2.2.4.创建 hadoop 用户并配置免密登录
后续大数据的软件,将不会以 root 用户启动(确保安全,养成良好的习惯)
我们为大数据的软件创建一个单独的用户 hadoop ,并为三台服务器同样配置 hadoop 用户的免密互通
⑴.在每一台机器执行: useradd hadoop ,创建 hadoop 用户
⑵.在每一台机器执行: passwd hadoop ,设置 hadoop 用户密码为 123456
⑶.在每一台机器均切换到 hadoop 用户: su - hadoop ,并执行 ssh-keygen -t rsa -b 4096 ,创建 ssh 密钥
⑷.在每一台机器均执行
ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
三、VMware 虚拟机系统设置
3.1.安装jdk
1. 创建文件夹,用来部署 JDK ,将 JDK 和 Tomcat 都安装部署到: /export/server 内
mkdir -p /export/server
2. 解压缩 JDK 安装文件
tar -zxvf jdk-8u172-linux-x64.tar.gz -C /export/server
3. 配置 JDK 的软链接
ln -s /export/server/jdk1.8.0_172/ /export/server/jdk
4. 配置 JAVA_HOME 环境变量,以及将 $JAVA_HOME/bin 文件夹加入 PATH 环境变量中
# 编辑/etc/profile文件 export JAVA_HOME=/export/server/jdk export PATH=$PATH:$JAVA_HOME/bin
5. 生效环境变量
source /etc/profile
6. 配置 java 执行程序的软链接
#删除系统自带的java程序 rm -f /usr/bin/java # 软链接我们白己安装的java程序 ln -s /export/server/jdk/bin/java /usr/bin/java
7. 执行验证
java -version
javac -version
3.2.关闭防火墙和 SELinux
集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。(注意:每一台机器都需要设置)
# 关闭防火墙服务
systemctl stop firewalld
# 禁止防火墙开机启动
systemctl disable firewalld
Linux 有一个安全模块: SELinux ,用以限制用户和程序的相关权限,来确保系统的安全稳定。在当前,我们只需要关闭 SELinux 功能,避免导致后面的软件运行出现问题即可
vi /etc/sysconfig/selinux #将第七行,SELINUX=enforcing 改为 SELINUX=disabled #保存退出后,重启虚拟机即可,千万要注意disabLed单词不要写错,不然无法启动系统
3.2.同步系统时间
修改时区并配置自动时间同步,以下操作在三台 Linux 均执行
1.安装ntp软件
yum install -y ntp
2.更新时区
rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.同步时间
ntpdate -u ntp.aliyun.com
4.开启ntp服务并设置开机自启
systemctl start ntpd
systemctl enable ntpd
设置快照目前 Linux 虚拟机的状态基本准备就绪,可以对当前状态进行快照保存,以备后续恢复。对三台虚拟机均执行拍摄快照
这些称之为IaaS服务,IT基础设施作为服务对外提供。