1 虚拟机准备
1.1 安装CentOS7
这里安装一台,另外两台克隆即可。
因为安装学习,所以分配配置较小
主机 | cpu | 内存 | 硬盘 |
node1 | 2 | 4G | 80G |
node2 | 2 | 2G | 80G |
node3 | 2 | 2G | 80G |
1.2 配置网络
首先,虚拟机的网络使用NAT方式。一般来说在创建虚拟机的时候默认就是NAT方式,如果不是,在这里检查并修改:
并查看网关IP是多少。VMware默认是x.x.x.2
我习惯修改成了.1,对于本此实验来讲,是192.168.200.1,记住此网关
使用指令ip addr可以查看当前ip地址:
ip addr
修改配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-网卡名 #一般是ens33或eth0
TYPE=Ethernet
BOOTPROTO=static#修改为静态地址
NAME=eth0
DEVICE=eth0
ONBOOT=yes#开启自启
IPADDR=192.168.200.101#IP地址
NETMASK=255.255.255.0#掩码
GATEWAY=192.168.200.1#网关
DNS1=8.8.8.8#DNS可设置多个DNS2、DNS3...
重启网络服务并且测试网络连接:
systemctl restart network
ping www.baidu.com
1.3 关闭防火墙
首先查看防火墙状态:
systemctl stop firewalld#停止服务
systemctl disable firewalld#关闭服务自启
systemctl status firewalld#查看状态。Inactive(dead)表示已经关闭
1.4 克隆虚拟机
直接克隆即可。注意选择“完整克隆”
关键需要修改克隆机的Ip地址:
同样方法修改即可。分别修改克隆机的ip地址为:
192.168.200.102
192.168.200.103
互相ping通即可。
1.5 SecureCRT等三方工具连接虚拟机
输入ip、主机名、密码即可
1.6 修改主机名
查看主机名:
hostname
修改主机名,将主机名改为node1:
vi /etc/hostname #需要重启一下
node1
或者
hostnamectl set-hostname node1 #这种方式不需要重启
三台电脑都要修改主机名,分别修改为node1、node2、node3。
1.7 SSH免密登陆
免密登陆原理:
这里做node1到三个节点的免密登陆,其他节点到三个节点的免密登陆同理
生成密钥文件,输入指令:
node1#ssh-keygen –t rsa
#一路回车
拷贝密钥指令:
node1#ssh-copy-id 192.168.200.101
输入yes
输入密码
其他两个节点同理
node1#ssh-copy-id 192.168.200.102
node1#ssh-copy-id 192.168.200.103
1.8 修改映射文件
映射文件修改后,三台虚拟机间相互访问就不需要输入对方的ip地址了,只需要输入主机名就可以,这样就大大方便后续的操作了。
修改指令:
vi /etc/hosts
增加三条记录:
192.168.200.101 node1
192.168.200.102 node2
192.168.200.103 node3
复制给其他两台
[root@node1 ~]# scp /etc/hosts root@node2:/etc/hosts
[root@node1 ~]# scp /etc/hosts root@node3:/etc/hosts
1.9 安装JDK
首先,上传jdk包到虚拟机中。在虚拟机的/opt/目录下,新建两个文件夹:
mkdir /opt/{module,software}
#module:放压缩包文件,software:安装路径
使用终端工具将jdk包上传到module文件夹下。
jdk官网下载地址
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html#license-lightbox
最新版
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v2FJx88L-1587619911429)(大数据Hadoop学习(1)]-虚拟机准备.assets/image-20200423113721093.png)
解压安装包到software文件夹下,解压指令:
[root@node1 module]# tar -zxvf jdk-8u161-linux-x64.tar.gz -C /opt/software/
[root@node1 module]# ls /opt/software/
jdk1.8.0_161
修改环境变量:
[root@node1 module]# vi /etc/profile
在文件末尾加入以下两行
export JAVA_HOME=/opt/software/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
让配置文件生效:
[root@node1 module]# source /etc/profile
检查java version:
[root@node1 module]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
**注意:三台虚拟机都需要安装Jdk.**因为Hadoop是基于java的。
文件分发;
[root@node2 ~]# mkdir /opt/software
[root@node3 ~]# mkdir /opt/software
[root@node1 module]# cd /opt/software/
[root@node1 software]# scp -r jdk1.8.0_161/ node2:/opt/software/
[root@node1 software]# scp -r jdk1.8.0_161/ node3:/opt/software/
分发配置文件:
[root@node1 software]# scp /etc/profile node2:/etc/profile
[root@node1 software]# scp /etc/profile node3:/etc/profile
在node2和node3上生效该文件。
source /etc/profile
配置文件:
[root@node1 software]# scp /etc/profile node2:/etc/profile
[root@node1 software]# scp /etc/profile node3:/etc/profile
在node2和node3上生效该文件。
source /etc/profile
大数据Hadoop学习(2)-Hadoop分布式集群搭建