本篇内容需要使用到的工具有:VMware
一、创建虚拟机
首先我们需要创建三台虚拟机,选择CentOS 7系统,名字分别为node1,node2,node3。见名知意,node1即使我们的主节点。另外根据我们的使用选择安装方式,在这里如果需要学习命令的使用,我推荐使用最小安装,并且,我们需要考虑到Windows主机的内存,处理器,硬盘的大小等。特别注意的是需要将node1即我们的主机内存设置为4GB,我们的奴隶机(node2,node3)设2GB。
如上图所示我建立的三台CentOS 7虚拟机,也可以根据你们自己的需求去配置相对应的虚拟机
二、更改主机名称
进入我们的虚拟机,打开终端-->切换root用户登录-->输入命令: hostnamectl set-hostname node1-->之后输入:hostname查看修改后的名字。
以此类推修改奴隶机的主机名为node2,node3
三、配置固定IP地址
1、在VMware开始界面点击右上角的编辑并找到虚拟网络编辑器,进入我们的虚拟网络机器
点击更改设置
点击VMnet8修改子网IP为192.168.255.0,以及子网掩码255.255.255.0后点击NAT设置进行接下来的配置
修改网关IP为192.168.255.2,点击确定保存配置
2、接下来就是进入虚拟机进行相对应的配置。首先进入node1终端命令行输入:vim /etc/sysconfig/network-scripts/ifcfg-ens33 在最末行加入以下代码。
IPADDR="192.168.88.131"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
同时在第四行的BOOTPROTO=”dhcp"中的dhcp改为static(这里是为了防止每一次重启所导致的IP地址的随机生成)
接下来还要启动网卡服务,在命令行中输入:systemctl restart network(这里就是关闭并重启网络)
3、进入node2终端命令行输入:vim /etc/sysconfig/network-scripts/ifcfg-ens33 在最末行加入以下代码。(注意这里的IPADOR也就是主网IP要跟第一台虚拟机的IP不同)
IPADDR="192.168.88.132"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
跟前置做法一样,但是由于我的三台虚拟机都是同一台虚拟机克隆出来的,所以避免后续问题所以我把上面的UUID也更改了,使得三台虚拟机的UUID不会重复。同样的保存退出后也别忘记重启网络systemctl restart network
4、node3的IP配置也是同上
IPADDR="192.168.88.133"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
同样的我们也是要重启网络systemctl restart network
5、最后可以使用:ifconfig 命令去查看网卡信息
也可以通过ping命令去查看两台虚拟机之间是否能够进行访问,在node1终端中输入ping 192.168.88.132(这里的IP地址就对应着我们node2)
5、接下来我们准备IP地址与主机名的映射关系,就不用我们每次去输入繁琐的IP地址去访问我们的虚拟机,而是直接用主机名就能够对其进行访问。
在node1终端输入:vim /ect/hosts 在其底部加入以下代码
192.168.88.131 Node1
192.168.88.132 Node2
192.168.88.133 Node3
然后node2,node3重复此操作,之后我们就可以用主机名去访问相对应的虚拟机了。
四、SSH实现免密登录
SSH服务是一种用于远程登陆的安全认证协议,SSH可以让我们远程登陆到其他主机上。比如在node1上执行:ssh root@node2,将会以root用户登陆node2的服务器,输入密码就可以成功登陆。
可以看见在我们驶入密码后成功的由node1切换到了node2,但是在Hadoop集群中会有许多场景需要密码登陆。第一步需要我们输入命令:ssh-keygen -t rsa -b 4096生产免密登陆的密匙。
每个用户都要如此操作,接下来就是使用命令:ssh-copy-id +用户,将自己的密钥给别的用户,node1,node2,node3.也就是总共要输入三次命令,并且每次命令后面的用户都不相同
接下来就可以实现免密登陆,快速切换用户登陆了
同时我们也要关闭Linux系统的防火墙避免后续运行Hadoop所带来错误导致无法运行。
关闭防火墙:systemctl stop firewalld
关闭关机重启防火墙:systemctl disable firewalld
在Linux中还有一个叫SELinux安全模块,我们也要将其关闭避免后续软件运行出现问题
使用命令:vim /etc/sysconfig/selinux 将enforcing修改成disabled,注意千万不要有拼写错误,否则会导致你的虚拟机无法正常打开
五、重新导入JDK环境
1、首先下载我们的JDK
2、使用命令:mkdir -p /export/server 创建目录存放解压的jdk
3、在使用:tar -zxvf jdk名字 -C /export/server 将我们的jdk解压到我们的/export/server目录中去
4、使用命令:ln -s /export/server/jdk文件名 /export/server/jdk 创建软连接便于打开进入jdk文件当中。
5、配置环境变量,使用命令:vim /etc/profile 去配置环境变量,在其底部加入如下代码
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin
6、删除原来的java使用我们自己安装的
删除(rm -f /usr/bin/java)
替换(ln -s /export/server/jdk/java/usr/bin/java)
7、使用命令:java -version 启动JAVA
然后同等操作在node2、node3中重复此等操作
至此,搭建Hadoop集群的前置准备工作就已完成。感谢浏览,发现问题希望指正修改,星光不负赶路人,加油此间少年