为了学习大数据我买了服务器,整了一套企业级大数据集群(解决方案速取)
因为某种原因,接了一个大数据平台相关的业务,需要搞一个大数据集群来开发大数据平台。最开始计划用云平台,对比了几个平台后,买了腾讯云平台的三台( 8C32G + 300G )的云主机。但是感觉,这玩意儿是真贵啊,一个月加流量什么的,大概要3k大洋,心痛(这还是对比各个云平台后相对便宜的一个)。而且随着数据的加入,真心越来越不稳定,经常OOM。而且什么上传下载什么的,都得花钱。
抱着“降本增笑”的想法,本来就是开发环境,我能不能自己在家用硬件电脑搞一套呢,抱着这个想法,说干就干。
从零开始搞一套整体的环境,这个得需要解决以下几个问题:
物理机采购
云平台设置(物理机只打算搞一台,不做云的话不好管理)
大数据平台-HDP
网络配置
拿到以上的问题分析后,就开工。
开局第一步,买机器。买新的是不可能买新的,本来就是开发环境,还是自己掏钱的东西,必须得上“二手”的啊。于是,打开咸鱼搜索“二手服务器”。经过一番查找后,将服务器配置大概定位为:48核CPU,内存384G 磁盘12TB,SSD磁盘400G * 2 ;
主要原因如下:
MEM:大数据平台需要5台主机,采用2+3模式部署。单台主机64G以上内存(32G经常OOM),外加一些额外服务,差不多得384G的内存空间。
CPU:使用虚拟化1:4 做配比(Zstack参考建议,以及公司实际运行比例得出的结果)
DISK:两个SSD的系统盘是标配,数据盘的话采用 4T * 4 的方式来提供。差不多够用了。
规格:采用2U服务器规格,这样给以后预留点硬件接口空间,方便以后扩展。
再经过多方比价和砍价后,使用3580大洋拿下了,这价格和配置,是真的香啊。
到货后验收加接线接网什么的,先搞起来,完成后如下,显示器什么的是以前自己的台式机的,忽略这种小细节:
因为店家发货时候安装的是windows系统,自己在里面安装了鲁大师跑了一波评分,发现击败了10%的用户。主要不给力的地方是磁盘和显卡,磁盘因为用的是机械盘(大家使用的笔记本一般是SSD,差3-4倍的速度)。至于显卡什么的,就没配置,服务器,能提供黑屏白字的访问方式就够了。
4.1平台选型
服务器搞定后,那么就要开始在里面安装各种东西了,常见的虚拟化软件有VMware,Virtualbox这种的话,感觉用起来不专业,和大佬的身份不太符合。要用,就用B格高的。
能不能直接和企业用的方式一样,搞个云平台呢。而且这东西,我会啊。OpenStack,Zstack什么的,都搞过,不得不说,现在的科技发展了,Zstack是真心好用,而且还免费啊。大概是8年前搞OpenStack,那时候真心的是被折磨得死去活来的啊。所以,果断将云平台定位为Zstack。
Zstack官网:https://www.zstack.io/
使用手册:
https://www.zstack.io/help/product_manuals/user_guide/v4/4.html
ZStack Cloud云平台(简称ZStack Cloud)是下一代云计算IaaS软件。它主要面向未来的智能数据中心,通过提供灵活完善的APIs来管理包括计算、存储和网络在内的数据中心资源。用户可以利用ZStack Cloud快速构建自己的智能云数据中心,也可以在稳定的ZStack Cloud之上搭建灵活的云应用场景。
这里需要使用到的资源如下
ZStack Cloud ISO:
Zstack安装包:ZStack-Cloud-x86_64-DVD-4.8.0-h79c.iso
下载地址:https://www.zstack.io/product/product_downloads/
U盘烧录工具:
工具名:UltraISO / rufus
下载地址:https://cn.ultraiso.net/xiazai.html
下载完毕后,将系统安装包(8.4G)烧录到U盘(要用16G或者32G的U盘)。
烧录完毕后,将U盘插入服务器的USB接口,注意,服务器一般有很多个USB接口,但是不是每个都能用的,经过N多年的经验,一般服务器前面,第一个USB被识别到的机会最高。然后就是愉快的安装步骤:
重启,进入BIOS,设置USB启动。
启动,进入安装模式。
配置安装信息:
主要有键盘,语言,时区,磁盘分区,账号密码,安装模式等等...
建议,安装的时候先把网线插上,配置好网络,后面比较好设置。全部设置完毕后等待安装。
更细节的安装参考官网:
https://www.zstack.io/help/product_manuals/user_guide/v4/4.html
安装完毕后,输入:http://ip:5000
默认账号密码:admin / password 就可以访问了/
这时候会进入设置引导手册,主要需要添加如下内容:
创建区域
添加集群
集群中添加物理机器(ip + 账号密码)
主存储
镜像服务器
具体设置方法,参考官网。
除此之外,还需要设置网络,为了方便,采用的是扁平网络(桥接模式),虚拟机和物理机同用一个网络。
公有网络:一般表示可直接访问互联网的网络,由于公有网络是一个逻辑概念,在无法连接互联网的环境中,用户也可以自定义该网络。
扁平网络:可与物理机网络直通,也可直接访问互联网的网络。云主机可使用扁平网络提供的分布式 EIP 访问公有网络。
VPC网络:云主机使用的私有网络,可通过VPC路由器访问互联网。
全部设置完毕后,就可以使用案例数据创建一个云主机来测试整体可用性了。
以上只说了重要的几个配置,具体使用的话还有很多小细节,有需要的小伙伴留言或者去官网多多查询。能创建云主机,并且云主机能ip访问即可。
5.大数据安装
此处,大数据平台主要采用的是HDP平台,详细的安装步骤,可以参考另外一个文档里面的内容,写这里就不合适了。主要是量比较大,要开新副本,如果需要的话,留言后再更新。
在云平台,按照大数据规划需求,创建如下主机:
主机 | 配置 | 说明 |
rpm镜像 | 4C8G 200G | 安装nginx服务器,负责本地yum源rpm文件下载 |
client | 4C8G 200G | 提供开发登陆命令行,以及安装OpenVPN等辅助软件 |
DB-Mysql-1 | 4C8G | mysql数据库-主 |
DB-Mysql-2 | 4C8G | mysql数据库-备 |
DB-Redis-1 | 4C8G | Redis-主 |
DB-Redis-2 | 4C8G | Redis-备 |
NameNode1 | 16C32G 200G | 集群控制节点 |
NameNode2 | 16C32G 200G | 集群控制节点 |
DataNode1 | 32C64G 2T | 集群计算节点 |
DataNode2 | 32C64G 2T | 集群计算节点 |
DataNode3 | 32C64G 2T | 集群计算节点 |
建好后的列表如下:
然后就是登陆具体的主机安装对应的服务。大概安装了如下12项内容吧,需要具体步骤的,请留言,因为真心内容太多。这篇文章更像是一个目录。
以上全部组件安装完毕后,那么数据平台就OK了。但是这个平台只能内网玩,不能提供外网访问。那么这时候就需要搞一个外网访问的方式来提供其他开发人员,或者自己远程办公。这里主要需要设置两个问题:
NAT端口映射
NAT端口映射是一种网络技术,允许将内部网络的私有IP地址映射到外部网络的公共IP地址,以实现内外网的互联互通。
OpenVPN
VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。
这个东西需要到路由器或者光猫上去设置,笔者家里使用的是联通宽带,下行1000mib/s,上行100mib/s(吐槽下,这个网络配置,在云平台上得好几千一个月)。
用的光猫型号是:中兴的WiFi6(光猫 + 路由)。
这时候需要有两操作:
问超管密码(也有破解方法的,自行百度,我是直接电话问的)
需要一个公网IP
超管密码
路由器后面有一个user的账号密码,但是这个是低权限的用户,能设置的功能很少,需要一个超管的密码来进行NAT相关的设置。
一般用户设置页面:
超管用户登陆后的设置页面
公网地址
现在宽带,都是采用的一个SDN技术,你分到的公网IP还是依旧是一个内网IP(城域网)。怎么判定自己的IP是公网IP还是内网IP呢,主要看系统配置中的Wan口状态信息。
看此处的IP地址是什么,如果是100.开通的,这个就是内网IP。如果是其他的。那么就是公网IP。如果不是公网IP,打运营商电话,让他帮你配置一个,24h内帮你设置完毕。
另外一种判定方法就是,访问:https://www.ip138.com/
看里面显示的IP和路由器中的IP十分一致,如果一致,那么就OK。
NAT端口映射
在这款机器里面,不叫端口映射,叫虚拟主机。具体的位置和内容如下:
主要参数就是外网端口直接转发到内网主机,如果我在192.168.1.21 上面安装一个OpenVPN,那么即可通过公网地址来进行访问。
另:公网地址会在设备重启过程中变化,为了保证服务使用,建议再注册一个域名,比如花生壳免费域名。
这样,不管在世界上的什么地方,用这个域名 + 端口就可以访问到我们的内网服务器了
6.2 OpenVPN
网络问题搞定后,我们不可能把所有的主机都搞一个外网地址,这很显然是不合理的。主要是网络攻击真的太多了,端口开得越多,越危险。所以,只开启一个OpenVPN的端口,通过此端口建立内网隧道后,来访问其他的主机资源。
OpenVPN的安装:
参考:https://blog.csdn.net/m0_49027804/article/details/13099121
使用:下载并配置具体文件;
修改内容:自己的公网IP(步骤6.1.2中的内容,或者6.1.3 中的域名)
就可以愉快得登陆和访问内部资源了。
就可以平替云平台上的服务。
说明:以上更多的是从技术可行性方面叙述,如果是企业使用,在带宽、防火墙、电源、空调、主机备份等,还有很多很多的技术需要做,此处只单纯提供一个家用可用环境使用。单纯的能用,和企业机房建设差得很远。
当然这只是树哥的我自己的大数据集群哈,涤生大数据我们为了大家教学,页自己买了服务器搭建了一个中小型公司大数据平台哈,内容比这还丰富哈;涤生大数据数仓开发学习路线(包含离线&&实时两个方向)
3.运维实战:DolphinScheduler 生产环境升级
4.运维实战:Ambari开发手册-DolphinScheduler集成实操
5.大数据运维实战之Ambari修护Hive无法更换tez引擎
6.大数据平台实践之CDH6.2.1+spark3.3.0+kyuubi-1.6.0
8.运维实战100:CDH5.16.2升级至CDH6.3.2
12.WebHDFS Rest API 企业实战:大佬手把手带你堵住漏洞,企业实例解析