基于VMware创建虚拟机进行集群搭建,适用于hadoop/GreenPlum等集群
之前已经创建了三台虚拟机hadoop102,hadoop103,hadoop104来搭建hadoop集群,因为目前学习到了greemplum,因此新建三台虚拟机hadoop105,hadoop106,hadoop107来搭建greenplum集群,整体思路流程大致如下
(仅包括虚拟机创建以及环境配置内容,不包括hadoop、greenplum的具体安装使用)
VMware官网下载:下载 VMware Workstation Pro | CN
可以看到当前最新的版本是VMware 17;
向下拖动页面可以看到下载链接,这里我们选择下载Workstation 17 Pro for Windows
,点击即可启动下载
下载完成:
如果想要下载其他版本的VMware WorkStation,可以到以下链接下载:
https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/17_0
双击安装包进行安装,安装之前会弹出:
需要等待准备完成;
点击下一步
同意许可协议,点击下一步
点击下一步
建议不勾选,否则每次打开VMware时,如果有更新都会进行提示;
点击下一步
建议都勾选,方便使用
点击下一步
由于电脑上已经安装过VMware,因此这里会提示【准备升级】,点击【升级】即可
如果之前没有安装过,下方的提示按钮应该是【安装】,点击即可
(安装过程中建议不要进行任何操作)
等待安装完成即可
点击完成
如果有这个提示的话:
点击【是】重新启动即可,或者点击【否】,然后手动重启电脑
VMware安装完成后双击打开
如果在安装过程中没有输入【许可证密钥】的话会提示输入(由于我在之前的版本中已经输入过,所以没有跳出提示)
如果没有提示的话可以在【帮助】——【输入许可证密钥】中打开页面:
输入之后如果错误的话会提示密钥无效:
如果正确的话则【输入许可证密钥】的窗口会直接关闭,此时我们就可以使用了;
模板虚拟机配置:每台4核、8G内存、50G硬盘
在【主页】选择【创建新的虚拟机】
选择【自定义】,点击下一步
保持默认配置即可,点击下一步;
如果之前创建过虚拟机,在【程序光盘映像文件】这里会有选择好的iso文件,可以直接选择;
如上,可以检测到操作系统类型;
如果是第一次安装建议选择【稍后安装操作系统】,然后点击下一步;
因为上一步中没有安装操作系统,因此我们需要选择将来要安装的操作系统类型:
这里选择Linux操作系统,版本为CentOS 7,点击下一步;
虚拟机名称可以自定义,这里我们首选创建的是【模板虚拟机】,将来会基于该虚拟机来创建集群中的机器,因此起名为【hadoopBase】;
然后点击下一步
CPU个数不能超过物理机的CPU个数;原则是可以选满,也就是物理机CPU个数是几个,虚拟机CPU个数就选几个;
【ctrl+shift+esc】打开【任务管理器】,选择【性能】:
打开【资源监视器】:
可以看到CPU从0-7,因此物理机CPU个数为8;
其实从【性能】中也能确定CPU的个数:
这里显示有4个内核,8个逻辑处理器,4核代表了物理机时机的处理器个数,而逻辑上可以将一个核分为两个处理器,有多少个逻辑处理器就能开多少个线程;
原则上可以设置8个CPU,这里统一设置为4核即可:
内存设置为【8G】
选择NAT的方式,比较安全;
默认按照推荐的选择即可;
BusLogic(U):是VMware提供的并行SCSI控制器,推荐用于支持原生准虚拟化I/O功能的主机
LSI Logic(L):是由LSI Logic公司生产的并行SCSI控制器。
LSI Logic SAS(S):是由LSI Logic公司生产的SAS(Serial Attached SCSI)控制器,SAS是一种高速数据传输技术,可以提供比传统并行SCSI更高的性能。
准虚拟化 SCSI(P):是一种由VMware提供的虚拟SCSI控制器,它可以提高虚拟机访问其映射的物理SCSI设备的性能
默认按照推荐的选择即可;
IDE(I):是一种基于软件的虚拟磁盘技术,它通过在主机上创建一个或多个虚拟磁盘来模拟物理磁盘;这种类型的虚拟磁盘通常用于测试和开发环境,因为它可以提供与物理磁盘相同的性能和功能。
SCSI(S):是一种高速数据传输协议,它允许多个设备共享同一总线;SCSI虚拟磁盘通常用于服务器和大型存储系统,因为它们需要大量的存储空间和高性能
SATA(A):是一种基于串行连接技术的存储接口,它提供了比传统的并行连接技术更快的数据传输速度;SATA虚拟磁盘通常用于个人计算机和笔记本电脑,因为它们需要较小的存储空间和较低的成本
NVMe(V):是一种新兴的非易失性存储器介质,它提供了比传统的硬盘驱动器更快的读写速度和更低的能耗;NVMe虚拟磁盘通常用于高端服务器和数据中心,因为它们需要更高的性能和可靠性
选择【创建新虚拟磁盘】,方便后续使用
磁盘容量设置为50GB,方便安装大量软件来搭建集群;
选择【将虚拟磁盘拆分成多个文件】,方便虚拟机的移动;
找到之前设置的虚拟机安装路径,并存放进去;
点击【完成】即可,如果有需要修改的可以上一步返回,或选择【自定义硬件】:
在在安装系统之前需要检查虚拟机的【bios虚拟化】是否打开:
【性能】中显示【虚拟化:已启用】说明已经打开,如果没有打开的话启动虚拟机会报错:
选择【使用ISO映像文件】:
点击【确定】即可:
有关ISO文件的下载可以去官网找到对应的版本,进入其中的isos文件夹下载:Index of /
点击【开启此虚拟机】开始安装操作系统:
上下移动选择【Install CentOS 7】:
enter键开始安装;
注意:需要将鼠标光标定位到计算机中,按下【ctrl+alt】;需要定位到虚拟机中,按下【ctrl+G】;
然后等待完成即可:
这里选择简体中文;点击【继续】
点击【日期和时间】:
进入以下页面,调整时间差:
进入以下界面,选择【最小安装】:
进入以下界面:
选择【我要配置分区】,点击【完成】;然后进入【手动分区】界面:
选择【标准分区】,点击【+】进行分区配置:
分别添加boot区、swap交换分区以及根目录,最终配置如下:
/boot分区和根目录的文件系统都需要修改为ext4
;
各文件系统简单介绍:
- xfs:XFS是一种高性能的日志文件系统,适用于大型文件和高并发访问场景。它具有良好的可扩展性、高速读写性能和较低的延迟。
- ext4:ext4是Linux系统中最常用的文件系统之一,它是ext3的升级版,具有更高的性能和更多的功能。ext4支持更大的文件系统大小、更快的文件删除速度、更好的日志管理等。
- ext3:ext3是Linux系统中另一种常用的文件系统,它是ext2的升级版,引入了日志功能,提高了数据完整性和容错能力。但相较于ext4,ext3的性能和功能有所限制。
- ext2:ext2是Linux系统中最早的日志文件系统,它具有简单、稳定和兼容性好的特点。但由于其设计年代较早,性能和功能上已经无法满足现代需求,逐渐被ext3和ext4取代。
- vfat:vfat(虚拟文件分配表)是一种Windows和Linux都兼容的文件系统,主要用于FAT文件系统的兼容性。它支持长文件名、大文件和小文件存储,但性能和安全性相对较低。
- swap:swap(交换分区)是Linux系统中用于内存交换的空间,当物理内存不足时,系统会将部分不常用的内存数据暂时存储到swap分区中,以释放物理内存供其他进程使用。swap分区通常使用swap文件或swap设备来实现。
配置完成后点击左上角【完成】:
点击【接受更改】:
点击进入以下界面:
选择禁用KDUMP,节省内存(如果内存充足的话完全可以选择启用)
点击进入以下界面:
主机名根据自己的喜好以及集群功能来定义;
安装过程中可以进行root密码设置/用户创建等操作
进入以下界面:
输入密码,如果太弱的话点击两次【完成】即可
之后等待操作系统安装完成即可;
安装完成后重启虚拟机,就可以开始使用了;
重启需要一段时间,耐心等待即可
如上,用户名为root,密码为上面设置的root密码,输入之后即可使用虚拟机
操作系统安装完成后进入网络配置环节,关闭正在运行的虚拟机【hadoopBase】
点击【编辑】—【虚拟网络编辑器】:
点击【更改设置】
选中【VMnet8】
(VMnet8是虚拟机使用NAT模式上网的网卡)
将【子网IP】和【子网编码】修改为如图所示:
然后点击【NAT设置】:
修改【网关ip】为如图所示;
之后点击确认即可,VMware网络配置完成;
以windows10系统为例:
右键单击:
打开“网络和Internet设置”:
选择【更改适配器选项】:
双击打开【VMnet8】:
选择【属性】:
双击修改【IPv4】:
设置ip地址如图所示,修改子网掩码和默认网关与VMware网络配置一致;
启动虚拟机【hadoopBase】,然后修改网络IP地址为静态IP地址,避免IP地址经常变化,从而方便节点服务器间的互相通信;
(1)执行指令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
(默认没有安装vim,如想要使用可以通过yum install vim -y
安装)
初始内容如下:
(2)首先修改BOOTPROTO="dhcp"
为BOOTPROTO="static"
,将网络IP修改为静态地址
BOOTPROTO可选项:[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
(3)在最下方新增:
#IP地址
IPADDR=192.168.10.100
#网关
GATEWAY=192.168.10.2
#域名解析器
DNS1=192.168.10.2
修改后内容如下:
(4)执行systemctl restart network
命令,重启网络服务
(5)执行ifconfig
指令,查看当前IP(如果报错-bash:ifconfig:command not found
,则执行yum install net-tools -y
安装即可)
可以看到IP修改成功:
至此可以在通过远程终端连接虚拟机了;接下来安装远程终端Xshell以及文件传输工具Xftp
安装流程以及常见问题参考:
解决Xshell安装时错误代码-1603的问题_安装xshell报错1603-CSDN博客
填写名称和主机IP:
填写用户名和密码:
点击【连接】,第一次连接时会出现安全警告:
选择【接受并保存】即可连接成功;
单击即可打开文件传输系统:
(1)确保可以上网(yum安装需要联网):ping www.baidu.com
:
(2)安装epel-release:yum install -y epel-release
Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的)
(3)安装其他工具(因为虚拟机的操作系统配置时软件信息选择的是【最小安装】,如果不是的话跳过该步骤):yum install -y vim net-tools psmisc nc rsync lrzsz ntp libzstd openssl-static tree iotop git
(4)关闭防火墙:systemctl stop firewalld
,systemctl disable firewalld.service
(5)创建组及用户gpadmin(以greemplum集群为例,hadoop集群同理):
创建组:groupadd gpadmin
创建用户:useradd gpadmin -r -m -g gpadmin
(指定组)
参考:https://www.runoob.com/linux/linux-comm-useradd.html
创建密码:passwd gpadmin
(6)给用户添加root权限:vim /etc/sudoers
添加:gpadmin ALL=(ALL) NOPASSWD:ALL
(7)在/opt目录下创建文件夹,并修改所属主和所属组
module目录:安装软件——mkdir /opt/module
software目录:存放安装包——mkdir /opt/software
修改所属主和所属组:chown gpadmin:gpadmin /opt/module
、chown gpadmin:gpadmin /opt/software
(8)卸载虚拟机自带的JDK(如果是【最小安装】可省略该步骤):rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
rpm -qa:查询所安装的所有rpm软件包
grep -i:忽略大小写
xargs -n1:表示每次只传递一个参数
rpm -e –nodeps:强制卸载软件
(9)设置模板虚拟机主机映射:vim /etc/hosts
,输入以下内容:
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
(10)修改windows的主机映射文件:
进入C:\Windows\System32\drivers\etc
,拷贝hosts文件到桌面,打开之后添加以下内容:
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
然后将桌面上的hosts文件覆盖C:\Windows\System32\drivers\etc
路径下的hosts文件即可;
这样我们在浏览器中就能识别hadoop102代表的IP为192.168.10.102
(11)reboot
重启虚拟机
按照需要克隆虚拟机,这里我们克隆三台虚拟机(每台4核、8G内存、50G存储):hadoop105,hadoop106,hadoop107
首先需要关闭虚拟机hadoop100;
在VMware中右键单击虚拟机【hadoop100】,然后选择【克隆】:
进入克隆流程:
点击下一页:
选择克隆自【虚拟机中当前状态】,点击下一页:
选择【创建完整克隆】,点击下一页:
填写虚拟机名称并选择位置,点击【完成】开始克隆:
等待克隆完成即可:
点击【关闭】,完成克隆
重复操作以上步骤,完成hadoop105、106、107的创建
对克隆出的虚拟机hadoop105、106、107进行环境配置
以下均以hadoop105为例
执行指令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
将192.168.10.100
修改为192.168.10.105
即可
对hadoop106,hadoop107执行相同的操作
执行指令:sudo vim /etc/hostname
分别将主机名修改为hadoop105,hadoop106,hadoop107
然后保存并重启虚拟机即可
以hadoop105为例
(1)ssh-keygen -t rsa
生成密钥文件和私钥文件:
连续点击三次enter,密钥生成完毕:
(2)ssh-copy-id 目标机器
:将公钥复制到目标机器的授权文件(authorized_keys)中
ssh-copy-id hadoop105 #为了能切换回hadoop105
ssh-copy-id hadoop106
ssh-copy-id hadoop107
直接将id_rsa.pub复制到authorized_keys中也能生效
如下,可随意切换说明免密登录配置成功
hadoop106,hadoop107重复以上步骤即可
如何查看公钥私钥以及授权文件:
cd ~/.ssh
:进入.ssh文件夹(必须先生成密钥才有该文件夹).ssh的内容:
执行命令:sudo ntpdate cn.pool.ntp.org
如上说明时钟同步成功
至此,我们通过模板虚拟机完成了集群虚拟机的创建以及环境配置,接下来可以根据自身需求搭建具体的集群了!
欢迎大家讨论交流~