Spark集群部署(三台虚拟机)总结
1 实验环境说明
1.1 软硬件环境
处理器:Intel® Core™ i5-7200U CPU @2.50GHZ 2.71GHZ
主机操作系统:Windows 10,64位
内存: 16G
虚拟软件:VMware Workstation Pro 15
虚拟机操作系统:ubuntu 18.04(64位), 4G内存
虚拟机运行环境:
- jdk 1.8.0_201
- Scala 2.11.8
- Hadoop 2.6.5
- Spark 2.2.3(最开始)(后来因实验要求改为2.2.0)
- maven 3.3.9
- sbt 0.13.11
VMware Workstation Pro 15
卡号:ZG50K-0VF80-4892Q-YGYNV-PLKE4
卡号:FU748-2FX5H-M85ZZ-EMPQC-WF8R0
卡号:YC7HK-FQG90-0883Y-ZYZ7E-Q28ZD
阿里云镜像下载
ubuntu 14.04: http://mirrors.aliyun.com/ubuntu-releases/14.04/
ubuntu 16.04: http://mirrors.aliyun.com/ubuntu-releases/16.04/
ubuntu 18.04: http://mirrors.aliyun.com/ubuntu-releases/18.04/
1.2 集群网络环境
序号 | IP地址 | 主机名 | 系统 | User |
---|---|---|---|---|
1 | 192.168.153.100 | Master | Ubuntu18.04 | todd |
2 | 192.168.153.101 | Slaver1 | Ubuntu18.04 | todd |
3 | 192.168.153.102 | Slaver2 | Ubuntu18.04 | todd |
2 虚拟机环境配置
2.1 Vmware下载安装以及在VMware虚拟机安装Ubuntu18.04
VMware官网下载地址:http://www.vmware.com,最上面有我用的激活号码。安装过程较简单,没有问题。
- 启动VMware,点击“创建新的虚拟机”。
- 点击“自定义”,再点击下一步。
- 选择安装程序光盘镜像文件(ios), 并选择自己的镜像文件,再点击下一步。
- 设置简易安装信息,第一台机器设置为Master,后面通过克隆的时候设置名称为Slaver1和Slaver2(现在还不需要)。然后设置存放位置,设置处理器配置,设置虚拟机内存,设置网络类型(NAT),选择I/O控制器类型(默认),选择磁盘控制器类型(默认),指定磁盘容量(40G),后面一直下一步,直至点击完成,如下图所示。
- 打开Ubuntu,进行必要的更新和设置后,安装网络工具: sudo apt install net-tools。
2.2 网络配置(设置静态IP地址)
2.2.1 在VMware中配置网络环境
- 点击编辑–>> 虚拟网路编辑器,打开虚拟网路编辑器。VMware在默认安装完成之后,会创建三个虚拟的网络环境:VMnet0、VMnet1和VMnet8。其类型分别为:桥接网络,Host-only和NAT。其中,NAT表示VMWware内安装的Ubuntu将会在一个子网中,VMware通过网络地址转换,通过物理机的IP上网。选择NAT方式,来实现Ubuntu的静态IP地址配置。在Vmnet8(NAT)下,点击更改设置,查看子网IP,去掉“使用本地DHCP服务奖IP地址分配给虚拟机”前面的√。这里的子网IP为:192.168.153.0,子网掩码为:255.255.255.0。在后面,我设置三个虚拟机的IP地址分别为192.168.153.100(Master),192.168.153.101(Slaver1),192.168.153.102(Slaver2)。
- 点击NAT设置,查看网关,这里我的网关为192.168.153.2。
- 右键点击自己建立的虚拟机,点击“设置”,查看如下界面,选择网络适配器,确定网络连接选中的是“自定义”中的VMnet8(NAT模式)。最后点击确定,开启虚拟机。
2.2.2 通过Terminal命令行来设置IP地址
- 打开Ubuntu的终端,输入:sudo gedit /etc/network/interfaces,进行如下编辑并保存。
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.153.100
netmask 255.255.255.0
gateway 192.168.153.2
dns-nameservers 223.5.5.5 #解决Ubuntu下 /etc/resolv.conf文件总是自动清除问题的解决方案
注意:系统的不同,上面的网卡端口信息可能会不一样。使用ifconfig命令对相关信息进行查看。
- 配置DNS服务器,在终端中输入:sudo gedit /etc/resolv.conf,进行如下编辑并保存。
nameserver 223.5.5.5。
- 然后,在终端中输入:sudo /etc/init.d/networking restart,重启网络。如果虚拟机不能连接网络,可能有如下几种情况出现:(1)在编写interfaces文件的时候,存在编写错误。(2)网卡端口ens33填写错误,可以使用ifconfig命令进行查看。(3)某些时候,重启虚拟机发现连接不了网络,可以检查/etc/resolv.conf文件,我有几次重启系统后,该文件DNS信息发生了变化。(4)(未验证)重启系统之后,发现网络无法使用,右上角的网络图标点击之后显示“device not managed”。解决方法:sudo gedit /etc/NetworkMana