查看原文
其他

为了学习大数据我买了服务器,整了一套企业级大数据集群(解决方案速取)

涤生-树哥 涤生大数据
2024-12-05
1.背景

因为某种原因,接了一个大数据平台相关的业务,需要搞一个大数据集群来开发大数据平台。最开始计划用云平台,对比了几个平台后,买了腾讯云平台的三台( 8C32G + 300G )的云主机。但是感觉,这玩意儿是真贵啊,一个月加流量什么的,大概要3k大洋,心痛(这还是对比各个云平台后相对便宜的一个)。而且随着数据的加入,真心越来越不稳定,经常OOM。而且什么上传下载什么的,都得花钱。

抱着“降本增笑”的想法,本来就是开发环境,我能不能自己在家用硬件电脑搞一套呢,抱着这个想法,说干就干。

2.规划思路

从零开始搞一套整体的环境,这个得需要解决以下几个问题:

  • 物理机采购

  • 云平台设置(物理机只打算搞一台,不做云的话不好管理)

  • 大数据平台-HDP

  • 网络配置

拿到以上的问题分析后,就开工。

3.物理机采购

开局第一步,买机器。买新的是不可能买新的,本来就是开发环境,还是自己掏钱的东西,必须得上“二手”的啊。于是,打开咸鱼搜索“二手服务器”。经过一番查找后,将服务器配置大概定位为:48核CPU,内存384G 磁盘12TB,SSD磁盘400G * 2 ;

主要原因如下:

  1. MEM:大数据平台需要5台主机,采用2+3模式部署。单台主机64G以上内存(32G经常OOM),外加一些额外服务,差不多得384G的内存空间。

  2. CPU:使用虚拟化1:4 做配比(Zstack参考建议,以及公司实际运行比例得出的结果)

  3. DISK:两个SSD的系统盘是标配,数据盘的话采用 4T * 4 的方式来提供。差不多够用了。

  4. 规格:采用2U服务器规格,这样给以后预留点硬件接口空间,方便以后扩展。

再经过多方比价和砍价后,使用3580大洋拿下了,这价格和配置,是真的香啊。

到货后验收加接线接网什么的,先搞起来,完成后如下,显示器什么的是以前自己的台式机的,忽略这种小细节:

因为店家发货时候安装的是windows系统,自己在里面安装了鲁大师跑了一波评分,发现击败了10%的用户。主要不给力的地方是磁盘和显卡,磁盘因为用的是机械盘(大家使用的笔记本一般是SSD,差3-4倍的速度)。至于显卡什么的,就没配置,服务器,能提供黑屏白字的访问方式就够了。 

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之上搭建灵活的云应用场景。

4.2云平台安装

这里需要使用到的资源如下

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 就可以访问了/

这时候会进入设置引导手册,主要需要添加如下内容:

  1. 创建区域

  2. 添加集群

  3. 集群中添加物理机器(ip + 账号密码)

  4. 主存储

  5. 镜像服务器

具体设置方法,参考官网。

除此之外,还需要设置网络,为了方便,采用的是扁平网络(桥接模式),虚拟机和物理机同用一个网络。

公有网络:一般表示可直接访问互联网的网络,由于公有网络是一个逻辑概念,在无法连接互联网的环境中,用户也可以自定义该网络。

扁平网络:可与物理机网络直通,也可直接访问互联网的网络。云主机可使用扁平网络提供的分布式 EIP 访问公有网络。

VPC网络:云主机使用的私有网络,可通过VPC路由器访问互联网。

全部设置完毕后,就可以使用案例数据创建一个云主机来测试整体可用性了。

以上只说了重要的几个配置,具体使用的话还有很多小细节,有需要的小伙伴留言或者去官网多多查询。能创建云主机,并且云主机能ip访问即可。

5.大数据安装

此处,大数据平台主要采用的是HDP平台,详细的安装步骤,可以参考另外一个文档里面的内容,写这里就不合适了。主要是量比较大,要开新副本,如果需要的话,留言后再更新。

5.1 云主机创建

在云平台,按照大数据规划需求,创建如下主机:

主机

配置

说明

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

集群计算节点

建好后的列表如下:

5.2 大数据平台安装

然后就是登陆具体的主机安装对应的服务。大概安装了如下12项内容吧,需要具体步骤的,请留言,因为真心内容太多。这篇文章更像是一个目录。

6.网络设置

以上全部组件安装完毕后,那么数据平台就OK了。但是这个平台只能内网玩,不能提供外网访问。那么这时候就需要搞一个外网访问的方式来提供其他开发人员,或者自己远程办公。这里主要需要设置两个问题:

  • NAT端口映射

    • NAT端口映射是一种网络技术,允许将内部网络的私有IP地址映射到外部网络的公共IP地址,以实现内外网的互联互通。

  • OpenVPN

    • VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。

6.1 NAT端口映射

这个东西需要到路由器或者光猫上去设置,笔者家里使用的是联通宽带,下行1000mib/s,上行100mib/s(吐槽下,这个网络配置,在云平台上得好几千一个月)。

用的光猫型号是:中兴的WiFi6(光猫 + 路由)。

这时候需要有两操作:

  1. 问超管密码(也有破解方法的,自行百度,我是直接电话问的)

  2. 需要一个公网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 中的域名)



就可以愉快得登陆和访问内部资源了。

就可以平替云平台上的服务。

说明:以上更多的是从技术可行性方面叙述,如果是企业使用,在带宽、防火墙、电源、空调、主机备份等,还有很多很多的技术需要做,此处只单纯提供一个家用可用环境使用。单纯的能用,和企业机房建设差得很远。

当然这只是树哥的我自己的大数据集群哈,涤生大数据我们为了大家教学,页自己买了服务器搭建了一个中小型公司大数据平台哈,内容比这还丰富哈;涤生大数据数仓开发学习路线(包含离线&&实时两个方向)

1.涤生大数据教学集群的首次运维现场复现

2.涤生大数据HDFS小文件治理总结

3.运维实战:DolphinScheduler 生产环境升级

4.运维实战:Ambari开发手册-DolphinScheduler集成实操

5.大数据运维实战之Ambari修护Hive无法更换tez引擎

6.大数据平台实践之CDH6.2.1+spark3.3.0+kyuubi-1.6.0

7.运维实战:CDH6.3.2编译集成Flink

8.运维实战100:CDH5.16.2升级至CDH6.3.2

9.CDH集成的kerberos迁移实战(原创干货)

10.CDH启用kerberos 高可用运维实战

11.Hbase 迁移小结:从实践中总结出的最佳迁移策略

12.WebHDFS Rest API 企业实战:大佬手把手带你堵住漏洞,企业实例解析

13.解析线上HBase集群CPU飙高的原因与解决方案

15.迁移策略:CDH 集群整体平缓迁移的最佳实践

16.你知道HDFS 节点内数据(磁盘间)是怎么均衡的吗?

18.一站式解析Spark 日志 ,助力开发Spark任务调优诊断

19.大数据运维实战:Presto如何自定义日志插件实现日志采集存储?

个人观点,仅供参考
继续滑动看下一个
涤生大数据
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存