【教程】集群搭建准备工作全流程

基于VMware创建虚拟机进行集群搭建,适用于hadoop/GreenPlum等集群

之前已经创建了三台虚拟机hadoop102,hadoop103,hadoop104来搭建hadoop集群,因为目前学习到了greemplum,因此新建三台虚拟机hadoop105,hadoop106,hadoop107来搭建greenplum集群,整体思路流程大致如下

(仅包括虚拟机创建以及环境配置内容,不包括hadoop、greenplum的具体安装使用)

1.VMware安装(Windows)

1.1下载(Workstation 17 Pro)

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

1.2安装

双击安装包进行安装,安装之前会弹出:

需要等待准备完成;


1.2.1开始安装

点击下一步

1.2.2 同意许可协议

同意许可协议,点击下一步

1.2.3 自定义安装

点击下一步

1.2.4 用户体验设置

建议不勾选,否则每次打开VMware时,如果有更新都会进行提示;

点击下一步

1.2.5 创建快捷方式

建议都勾选,方便使用

点击下一步

1.2.6 开始安装/升级

由于电脑上已经安装过VMware,因此这里会提示【准备升级】,点击【升级】即可

如果之前没有安装过,下方的提示按钮应该是【安装】,点击即可

1.2.7 正在安装

(安装过程中建议不要进行任何操作)

等待安装完成即可

1.2.8 安装完成

点击完成

1.2.9 重新启动系统

如果有这个提示的话:

点击【是】重新启动即可,或者点击【否】,然后手动重启电脑

1.2.10 输入许可证密钥

VMware安装完成后双击打开

如果在安装过程中没有输入【许可证密钥】的话会提示输入(由于我在之前的版本中已经输入过,所以没有跳出提示)

如果没有提示的话可以在【帮助】——【输入许可证密钥】中打开页面:

输入之后如果错误的话会提示密钥无效:

如果正确的话则【输入许可证密钥】的窗口会直接关闭,此时我们就可以使用了;

2.自定义模板虚拟机

模板虚拟机配置:每台4核、8G内存、50G硬盘

2.1 新建虚拟机

2.1.1 创建新的虚拟机

在【主页】选择【创建新的虚拟机】

2.1.2 自定义虚拟机配置

选择【自定义】,点击下一步

2.1.3 选择硬件兼容性

保持默认配置即可,点击下一步;

2.1.4 选择虚拟机操作系统

如果之前创建过虚拟机,在【程序光盘映像文件】这里会有选择好的iso文件,可以直接选择;

如上,可以检测到操作系统类型;

如果是第一次安装建议选择【稍后安装操作系统】,然后点击下一步;

2.1.5 选择虚拟机将要安装的操作系统

因为上一步中没有安装操作系统,因此我们需要选择将来要安装的操作系统类型:

这里选择Linux操作系统,版本为CentOS 7,点击下一步;

2.1.6命名虚拟机并选择安装位置

虚拟机名称可以自定义,这里我们首选创建的是【模板虚拟机】,将来会基于该虚拟机来创建集群中的机器,因此起名为【hadoopBase】;

然后点击下一步

2.1.7 选择CPU个数

CPU个数不能超过物理机的CPU个数;原则是可以选满,也就是物理机CPU个数是几个,虚拟机CPU个数就选几个;

查看物理机CPU个数

【ctrl+shift+esc】打开【任务管理器】,选择【性能】:

打开【资源监视器】:

可以看到CPU从0-7,因此物理机CPU个数为8;

其实从【性能】中也能确定CPU的个数:

这里显示有4个内核,8个逻辑处理器,4核代表了物理机时机的处理器个数,而逻辑上可以将一个核分为两个处理器,有多少个逻辑处理器就能开多少个线程;

设置虚拟机CPU个数

原则上可以设置8个CPU,这里统一设置为4核即可:

2.1.8 设置虚拟机内存

内存设置为【8G】

2.1.9 选择虚拟机网络类型

选择NAT的方式,比较安全;

2.1.10 选择文件系统对应的I/O控制器类型

默认按照推荐的选择即可;

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设备的性能

2.1.11 选择磁盘类型

默认按照推荐的选择即可;

IDE(I):是一种基于软件的虚拟磁盘技术,它通过在主机上创建一个或多个虚拟磁盘来模拟物理磁盘;这种类型的虚拟磁盘通常用于测试和开发环境,因为它可以提供与物理磁盘相同的性能和功能。

SCSI(S):是一种高速数据传输协议,它允许多个设备共享同一总线;SCSI虚拟磁盘通常用于服务器和大型存储系统,因为它们需要大量的存储空间和高性能

SATA(A):是一种基于串行连接技术的存储接口,它提供了比传统的并行连接技术更快的数据传输速度;SATA虚拟磁盘通常用于个人计算机和笔记本电脑,因为它们需要较小的存储空间和较低的成本

NVMe(V):是一种新兴的非易失性存储器介质,它提供了比传统的硬盘驱动器更快的读写速度和更低的能耗;NVMe虚拟磁盘通常用于高端服务器和数据中心,因为它们需要更高的性能和可靠性

2.1.12 选择磁盘

选择【创建新虚拟磁盘】,方便后续使用

2.1.13 选择磁盘容量

磁盘容量设置为50GB,方便安装大量软件来搭建集群;

选择【将虚拟磁盘拆分成多个文件】,方便虚拟机的移动;

2.1.14 选择磁盘文件的存放位置

找到之前设置的虚拟机安装路径,并存放进去;

2.1.15 虚拟机配置完毕

点击【完成】即可,如果有需要修改的可以上一步返回,或选择【自定义硬件】:

2.2 安装操作系统

在在安装系统之前需要检查虚拟机的【bios虚拟化】是否打开:

【性能】中显示【虚拟化:已启用】说明已经打开,如果没有打开的话启动虚拟机会报错:

2.2.1 以CD/DVD的方式安装

选择【使用ISO映像文件】:

点击【确定】即可:

有关ISO文件的下载可以去官网找到对应的版本,进入其中的isos文件夹下载:Index of /

2.2.2 开始安装操作系统

点击【开启此虚拟机】开始安装操作系统:

上下移动选择【Install CentOS 7】:

enter键开始安装;

注意:需要将鼠标光标定位到计算机中,按下【ctrl+alt】;需要定位到虚拟机中,按下【ctrl+G】;

然后等待完成即可:

2.2.3 选择使用的语言

这里选择简体中文;点击【继续】

2.2.4 配置日期和时间

点击【日期和时间】:

进入以下页面,调整时间差:

2.2.5 配置软件信息

进入以下界面,选择【最小安装】:

2.2.6 配置磁盘分区

进入以下界面:

选择【我要配置分区】,点击【完成】;然后进入【手动分区】界面:

选择【标准分区】,点击【+】进行分区配置:

分别添加boot区、swap交换分区以及根目录,最终配置如下:

/boot分区和根目录的文件系统都需要修改为ext4

各文件系统简单介绍:

  1. xfs:XFS是一种高性能的日志文件系统,适用于大型文件和高并发访问场景。它具有良好的可扩展性、高速读写性能和较低的延迟。
  2. ext4:ext4是Linux系统中最常用的文件系统之一,它是ext3的升级版,具有更高的性能和更多的功能。ext4支持更大的文件系统大小、更快的文件删除速度、更好的日志管理等。
  3. ext3:ext3是Linux系统中另一种常用的文件系统,它是ext2的升级版,引入了日志功能,提高了数据完整性和容错能力。但相较于ext4,ext3的性能和功能有所限制。
  4. ext2:ext2是Linux系统中最早的日志文件系统,它具有简单、稳定和兼容性好的特点。但由于其设计年代较早,性能和功能上已经无法满足现代需求,逐渐被ext3和ext4取代。
  5. vfat:vfat(虚拟文件分配表)是一种Windows和Linux都兼容的文件系统,主要用于FAT文件系统的兼容性。它支持长文件名、大文件和小文件存储,但性能和安全性相对较低。
  6. swap:swap(交换分区)是Linux系统中用于内存交换的空间,当物理内存不足时,系统会将部分不常用的内存数据暂时存储到swap分区中,以释放物理内存供其他进程使用。swap分区通常使用swap文件或swap设备来实现。

配置完成后点击左上角【完成】:

点击【接受更改】:

2.2.7 配置KDUMP

点击进入以下界面:

选择禁用KDUMP,节省内存(如果内存充足的话完全可以选择启用)

2.2.8 配置网络和主机名

点击进入以下界面:

主机名根据自己的喜好以及集群功能来定义;

2.2.9 开始安装

安装过程中可以进行root密码设置/用户创建等操作

设置root密码(必需)

进入以下界面:

输入密码,如果太弱的话点击两次【完成】即可

之后等待操作系统安装完成即可;

2.2.10 安装完成

安装完成后重启虚拟机,就可以开始使用了;

重启需要一段时间,耐心等待即可

如上,用户名为root,密码为上面设置的root密码,输入之后即可使用虚拟机

2.3 网络配置

操作系统安装完成后进入网络配置环节,关闭正在运行的虚拟机【hadoopBase】

2.3.1 VMware网络配置

点击【编辑】—【虚拟网络编辑器】:

点击【更改设置】

选中【VMnet8】

(VMnet8是虚拟机使用NAT模式上网的网卡)

将【子网IP】和【子网编码】修改为如图所示:

然后点击【NAT设置】:

修改【网关ip】为如图所示;

之后点击确认即可,VMware网络配置完成;

2.3.2 Windows网络配置

以windows10系统为例:

右键单击:

打开“网络和Internet设置”:

选择【更改适配器选项】:

双击打开【VMnet8】:

选择【属性】:

双击修改【IPv4】:

设置ip地址如图所示,修改子网掩码和默认网关与VMware网络配置一致;

2.4 虚拟机IP修改

启动虚拟机【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

3.Xshell和Xftp的安装配置

3.1安装

安装流程以及常见问题参考:

解决Xshell安装时错误代码-1603的问题_安装xshell报错1603-CSDN博客

3.2 简单使用

3.2.1 创建远程连接

填写名称和主机IP:

填写用户名和密码:

点击【连接】,第一次连接时会出现安全警告:

选择【接受并保存】即可连接成功;

3.2.2 文件传输系统

单击即可打开文件传输系统:

4.模板虚拟机环境配置

(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 firewalldsystemctl 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/modulechown 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重启虚拟机

5.克隆虚拟机

5.1 虚拟机克隆流程

按照需要克隆虚拟机,这里我们克隆三台虚拟机(每台4核、8G内存、50G存储):hadoop105,hadoop106,hadoop107

首先需要关闭虚拟机hadoop100;

在VMware中右键单击虚拟机【hadoop100】,然后选择【克隆】:

进入克隆流程:

点击下一页:

选择克隆自【虚拟机中当前状态】,点击下一页:

选择【创建完整克隆】,点击下一页:

填写虚拟机名称并选择位置,点击【完成】开始克隆:

等待克隆完成即可:

点击【关闭】,完成克隆

重复操作以上步骤,完成hadoop105、106、107的创建

5.2 虚拟机环境配置

对克隆出的虚拟机hadoop105、106、107进行环境配置

以下均以hadoop105为例

5.2.1 修改静态IP

执行指令:vim /etc/sysconfig/network-scripts/ifcfg-ens33

192.168.10.100修改为192.168.10.105即可

对hadoop106,hadoop107执行相同的操作

5.2.2 修改主机名

执行指令:sudo vim /etc/hostname

分别将主机名修改为hadoop105,hadoop106,hadoop107

然后保存并重启虚拟机即可

5.2.3 配置SSH免密登录

以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的内容:

5.2.4 时钟同步

执行命令:sudo ntpdate cn.pool.ntp.org

如上说明时钟同步成功


至此,我们通过模板虚拟机完成了集群虚拟机的创建以及环境配置,接下来可以根据自身需求搭建具体的集群了!

欢迎大家讨论交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot110作业管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的作业管理系统 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资…

vue.js安装

1:下载 Node.js 官网:https://nodejs.org/en/download 2:安装 node -v npm -v 3:配置 npm config set prefix "F:\node\node_global" npm config set cache "F:\node\node_cache" 按 win 键并输入“编辑系统环境变量”调出系统属性界面&a…

AWTK 开源串口屏开发(7) - 屏幕保护

现代屏幕其实并不需要屏幕保护,不过屏幕保护程序会衍生一些其它用途。比如: 保护隐私。长时间不操作,通过动画或者其它方式隐藏屏幕内容。数据安全。长时间不操作,需要输入密码才能恢复。美观/广告。长时间不操作,显示…

C++中的static(静态)

2014年1月19日 内容整理自The Cherno:C系列 2014年1月20日 内容整理自《程序设计教程:用C语言编程 第三版》 陈家骏 郑滔 -----------------------------------------------------------------------------------------------------------------------------…

JS执行顺序

众所周知,JavaScript 是单线程语言,只能同时执行做一件事(js只有一个线程,称之为main thread-主线程) 1.Javascript 运行机制 main thread 主线程和 call-stack 调用栈(执行栈),所有的任务都会被放到调用栈等待主线程执行。 2.Javascript 任…

SpringBoot+beetl idea热更新解决方案

SpringBootbeetl idea热更新解决方案 第一在application中开启: beetl:resource-auto-check: true #热加载beetl模板,开发时候用第二在application中开启: devtools: 这个部分专门用于配置Spring Boot DevTools的相关参数。DevTools…

十八周周报

文章目录 摘要文献阅读3D reconstruction of human bodies from single-view and multi-view images: A systematic review简介研究方法搜索策略选择标准搜索结果 三维重建方法单个视图中使用的技术基于参数化人体模型的回归基于非参数人体模型的回归 多个视图中使用的技术基于…

PaddleNLP评论观点抽取和属性级情感分析

项目地址:PaddleNLP评论观点抽取和属性级情感分析 - 飞桨AI Studio星河社区 (baidu.com) 情感分析旨在对带有情感色彩的主观性文本进行分析、处理、归纳和推理,其广泛应用于消费决策、舆情分析、个性化推荐等领域,具有很高的商业价值。 依托…

C#,因数分解(质因子分解)Pollard‘s Rho算法的源代码

因数分解(也称为质因子分解):将一个大整数分解它的质因子之乘积的算法。 Pollard Rho算法的基本思路:先判断当前数是否是素数(质数),如果是,则直接返回。如果不是,继续找…

11、Kafka ------ Kafka 核心API 及 生产者API 讲解

目录 Kafka核心API 及 生产者API讲解★ Kafka的核心APIKafka包含如下5类核心API: ★ 生产者APIKafka 的API 文档 ★ 使用生产者API发送消息 Kafka核心API 及 生产者API讲解 官方文档 ★ Kafka的核心API Kafka包含如下5类核心API: Producer API&#x…

spring data mongo 在事务中,无法自动创建collection

spring data mongo 在事务中,无法自动创建collection org.springframework.dao.DataIntegrityViolationException: Write operation error on server xxx:30001. Write error: WriteError{code=263, message=Cannot create namespace xxx.xxxin multi-document transaction.…

Redis(四)

1、Redis的单/多线程 1.1、单线程 其实直接说Redis什么单线程或者是多线程,不太准确,在redis的4.0版主之前是单线程,然后在之后的版本中redis的渐渐改为多线程。 Redis是单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的&#…

小白水平理解面试经典题目LeetCode 125 Valid Palindrome(验证回文串)

125 验证回文串 说到公司面试,那就是得考出高度,考出水平,什么兼顾这两者呢,那就得看这道 原题描述: 给定一个字符串,判断它是否是回文串。回文串是指正读和反读都一样的字符串。 输入: “A man, a pla…

超级弱口令检查工具

工具介绍 超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。 工具采用C#开发&#…

1.19(232.用栈实现队列)

1.19(232.用栈实现队列) 在push数据的时候,只要数据放进输入栈就好,但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据&a…

unity-声音与声效OLD

声音与声效 基本概念audio clipaudio listeneraudio source 基本操作如何创建音频源(背景音乐)如何在测试的时候关闭声音 常用代码一般流程如何在一个物体上播放多个音效如何在代码中延时播放多个声音如何在代码中停止音频的播放如何判断当前是否在播放音…

福昕软件的使用

快捷操作 快捷键 快捷键功能备注Ctrl P打印 Ctrl W关闭 Ctrl B书签 鼠标放菜单栏,单击右键即可导入/导出 自定义菜单栏文件-->偏好设置-->文档 1、多实例:单击PDF后均重新打开一个新界面。

MySQL中SELECT字句的顺序以及具体使用

目录 1.SELECT字句及其顺序 2.使用方法举例 3.HAVING和WHERE 1.SELECT字句及其顺序 *下表来自于图灵程序设计丛书,数据库系列——《SQL必知必会》 2.使用方法举例 *题目来源于牛客网 题目描述 现在运营想要查看不同大学的用户平均发帖情况,并期望结…

[AI]文心一言出圈的同时,国外的ChatGPT-4.5最新资讯

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

为了Atcoder系列复习C++语法

很久之前学过忘了 为了打比赛重新复习 每打一次就更一次 含日语内容 B - 1.01.出力とコメント 1.cout << 2525 << endl; 可以没有endl 结尾. endl作用是换行 2.整除问题 int情况下1/2无法变成0.5 所以1/2应该放在后面 100 * (100 1) / 2 3.f…