文章目录
- 1 前言
- 2 配置VMware虚拟机
- 2.1 设置主机名和固定IP
- 2.2 本地系统与Linux系统配置主机名映射
- 2.3 配置虚拟机之间用户的SSH免密互通
- 2.4 安装JDK环境
- 2.5 关闭防火墙和SELinux
- 2.6 更新时区和同步时间
- 2.7 保存虚拟机快照
- 结语
1 前言
我们从基础的hadoop开始学起,关于学习环境的搭建,可以基于虚拟机也可以选择云平台,这里我们选择vmware虚拟机。
2 配置VMware虚拟机
关于vmware、centos7.x虚拟机以及xshell的下载和安装,这里不在详述,不了解的小伙伴可以自行查询相关文档。我们这里主要介绍安装之后的配置,在安装centos7.6一个虚拟机之后,直接克隆另外两台虚拟机。
2.1 设置主机名和固定IP
开启node1,修改主机名为node1,并修改固定ip为:192.168.88.131
#修改主机名hostnamectl set-hostname node13# 修改IP地址vim /etc/sysconfig/network-scripts/ifcfg-ens336
IPADDR="192.168.207.131"#重启网卡systemctl stop network
systemctl start network11#或者直接
systemctl restart network
同样的操作启动node2和node3,修改node2主机名为node2,设置ip为192.168.207.132修改node2主机名为node3,设置ip为192.168.207.131
2.2 本地系统与Linux系统配置主机名映射
- 在Windows系统中修改hosts文件,填入如下内容:
192.168.207.131 node1
192.168.207.132 node2
192.168.207.133 node3
- 在3台Linux的/etc/hosts文件中,填入如下内容
192.168.207.131 node1
192.168.207.132 node2
192.168.207.133 node3
2.3 配置虚拟机之间用户的SSH免密互通
后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆
-
在每一台机器都执行:
ssh-keygen -t rsa -b 4096
,一路回车到底即可 -
在每一台机器都执行:
ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
-
执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通
-
测试在node1 执行 ssh node2 正常登录即配置成功,如下图2.3-1所示
后续大数据的软件,将不会以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
2.4 安装JDK环境
JDK:Java Development Kit,是用于Java语言开发的环境。
大数据的很多软件的运行都需要有Java运行环境的支持
所以我们在三台服务器上,预先都部署好JDK环境。部署JDK不需要懂得Java语言,只需要掌握Linux相关命令即可。课程中使用JDK1.8版本,可自行到官网下载jdk1.8 linux版本的安装包,执行解压缩安装,下面介绍下安装后的配置。
-
创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server 内
mkdir -p /export/server
-
解压缩JDK安装文件
tar -zxvf jdk-8u381-linux-x64.tar.gz /export/server
-
配置JDK的软链接
ln -s /export/server/jdk1.8.0_381 /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 java version "1.8.0_381" Java(TM) SE Runtime Environment (build 1.8.0_381-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)
2.5 关闭防火墙和SELinux
集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。
systemctl stop firewalld
systemctl disable firewalld
Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。在当前,我们只需要关闭SELinux功能,避免导致后面的软件运行出现问题即可
vim /etc/sysconfig/selinux
# 将SELINUX=enforcing 改为
SELINUX=disabled
2.6 更新时区和同步时间
以下操作在三台Linux均执行
-
安装ntp软件
yum install -y ntp
-
更新时区
rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
同步时间
ntpdate -u ntp.aliyun.com
-
开启ntp服务并设置开机自启
systemctl start ntpdsystemctl enable ntpd
2.7 保存虚拟机快照
结语
如果小伙伴什么问题或者指教,欢迎交流。
❓QQ:806797785
参考链接:
[1]大数据视频[CP/OL].2020-04-16.p1-6.