基础准备——虚拟机配置

本周主要准备虚拟机上的Linux操作系统环境

学习内容包括:
VMware虚拟化软件 Linux操作系统(CenTOS)的基本使用 IP地址、主机名、环境变量等知识点

一、VMware准备Linux虚拟机

由于大一的时候较为完整的学习过Linux的使用,也下载过VMware虚拟化软件,所以下载步骤就先省略了(可以直接参照黑马程序员的大数据课程完成下载)

创建三台虚拟设备(Linux服务器)

在VMware的虚拟网络编辑器中(在软件左上角点击编辑然后点击虚拟网络编辑器),将VMnet8虚拟网卡的
网段设置为192.168.88.0
网关设置为192.168.88.2
image
image
image

下载CentOs操作系统

https://vault.centos.org/7.6.1810/isos/x86_64/
在VMware中安装CentOS操作系统

按照步骤创建虚拟机

选择安装程序光盘映像文件,找到下载好的系统安装文件 设置虚拟机名称和用户名以及密码
设置虚拟机硬盘大小40,将虚拟磁盘拆分成多个文件,(勾选创建后开启此虚拟机)点击完成即可,后续等待即可,然后使用之前设置的用户名和密码登录即可

配置多台虚拟机

在VMware中创建一个文件夹起名为大数据集群,接着进行虚拟机克隆,勾选虚拟机中的当前状态,勾选创建完整克隆,设置虚拟机名称(三个分别为node1,node2,node3)
对虚拟机的内存进行分配node1为4G,node2和node3配置为2G
image

配置固定IP地址

在虚拟机终端中完成以下操作
修改主机名

hostnamectl set-hostname node1

修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR="192.168.88.101"

重启网卡

systemctl stop network
systemctl start network

或者直接

systemctl restart network

修改node2主机名为node2,设置ip为192.168.88.102
修改node3主机名为node3,设置ip为192.168.88.103

在三台Linux系统中手动配置网络接口(ens33)的静态IP地址和相关网络参数
执行命令

vim /etc/sysconfig/network-scripts/ifcfg-ens33

添加

IPADDR="192.168.88.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"

执行以下内容重启网络服务

systemctl restart network

配置主机名映射

在windows系统中修改hosts文件,添加以下内容

192.168.88.101 node1
192.168.88.102 node2
192.168.88.103 node3

在三台Linux的/etc/hosts文件中,填入以下内容(借助FinalShell工具:下载可参照https://blog.csdn.net/muriyue6/article/details/117520456)

192.168.88.131 node1
192.168.88.132 node2
192.168.88.133 node3

配置SSH免密登录

后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆

  1. 在每一台机器都执行以下内容后一路回车到底即可
ssh-keygen -t rsa -b 4096
  1. 在每一台机器都执行:
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
  1. 执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通
    测试执行:
ssh node2

创建hadoop用户并配置免密登录

大数据的软件不会以root用户启动(确保安全,养成良好的习惯)
我们为大数据的软件创建一个单独的用户hadoop,并为三台服务器同样配置hadoop用户的免密互通
在每一台机器执行:
useradd hadoop,创建hadoop用户
passwd hadoop,设置hadoop用户密码为123456
在每一台机器均切换到hadoop用户:
su-hadoop,并执行
ssh-keygen-t rsa-b4096,创建ssh密钥
在每一台机器均执行

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

配置JDK环境

下载JDK软件:https://www.oracle.com/java/technologies/downloads
下载Linux的版本(下载jdk-8u361-linux-x64.tar.gz)
创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/Server内

mkdir -p /export.server

解压缩JDK安装文件

tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/server

配置JDK的软连接

ln -s /export/server/jdk1.8.0_361 /export/server/jdk

配置JAVA_HOME环境变量,并将¥JAVA_HOME/bin文件夹加入PATH环境变量中
编辑/etc/profile文件

export JAVA_HOME=/EXPORT/SERVER/JDK
export PATH=$PATH:$JAVA_HOME/bin

生效环境变量

source /etc/profile

配置java执行程序的软链接

#删除系统自带的java程序
rm -f /usr/bin/java
#软链接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java

执行验证

java -version
javac -version

关闭防火墙和SELinux

集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙
在每一台机器内部执行

systemctl stop firewalld
systemctl disable firewalld

Linux有一个安全模块SELinux,用来限制用户和程序的相关权限,来确保系统的安全稳定
在当前我们需要关闭SELinux功能,避免导致后面的软件运行出现问题
在每一台机器执行

vim /etc/sysconfig/selinux
#将第七行。SELinux=enforcing改为
SELINUX=disabled
#保存退出后,重启虚拟机即可,千万要注意disabled单词不要写错,不然无法启动系统

修改时区并配置自动时间同步

以下操作在三台虚拟机都执行
安装ntp(我的系统直接安装好了)
可以通过执行

#查看自己是否完成安装(或者系统已经安装)
rpm -q ntp
#未安装的话执行下面语句安装
yum install -y ntp

更新时区

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#执行完上述之后输入date回车验证时间是否正确

校准时间

ntpdate -u ntp.aliyun.com

开启ntp服务并设置开机自启

systemctl start ntpd
systemctl enable ntpd

总结

本周基本完成了基础的环境准备,为后续的学习搭建了良好基础
遇到的问题主要是有时候输入操作时会出现拼写错误的问题,
例如执行下面的操作时GATEWAY拼写成了GETEWAY

IPADDR="192.168.88.101" - 设置静态IP地址为192.168.88.101
NETMASK="255.255.255.0" - 设置子网掩码(对应的网络前缀是/24)
GATEWAY="192.168.88.2" - 设置默认网关(注意您原文中拼写为GETEWAY,这是错误的)
DNS1="192.168.88.2" - 设置主DNS服务器地址

导致ntpdate -u ntp.aliyun.com操作不能执行
修改后解决该问题
下周继续进行相关的hadoop学习。

posted @ 2025-07-20 20:22  haoyinuo  阅读(7)  评论(0)    收藏  举报