1. 服务器配置

主节点:

hostname: m1,m2,m3

vcore:48

内存:128G

SSD:1T(不算系统盘)

工作节点:

hostname: n1,n2,n3,n4

vcore : 48

内存:256G

SSD:1T(不算系统盘)

2. 节点职责描述

m1: 控制核心;cdh核心,hadoop主节点

m2: 网关入口;主节点高可用,一些组件的web ui,用户入口 ,(前期做计算任务的driver端,后期优化driver打散到各节点)

m3: 后台服务;组件元数据库,任务的history服务 ,(后期做元数据HA)

n1~n4: 算存一体;提供存储,计算等服务

3.角色分配策略

一、hdfs

NameNode一般在主节点上,初始化安装的时候没有高可用,所以有SecondaryNameNode的作为一个备份,NameNode它会将它拆分后进行分布式存储,其中的数据是分散在各个DataNode节点,且默认都会有3个副本,防止其中一台机器宕机使得数据缺失。balancer一般与namenode搭建在一起。

二、hive

hive metastore server与hiveServer2一般搭载一起上,但也可以分开,因为hive服务需要启动hiveServer2,访问sparksql需要启动metastore而hive gateway,事实上并不是真正的角色,也没有状态,但它们充当了告诉客户端配置应该放置在哪里。 添加Hive服务时,默认情况下会创建Hive网关。

三、cloudera manager server

这个可以根据实际搭建,这个相当于是集群的监听器,在网页上出现的的图表也就是这个监听器类似的,这个可以搭建在主节点上,但若是主节点上分配的角色过多会影响其服务器的性能。

四、spark

这个角色可以分配这任意的机器上,按实际情况调整。spark-gateway全部部署在各个机器上,这个对于个人理解来说相当于spark、spark2机器之间的通信功能。

五、yarn

jobhistory与resourcemanager进行通信,所以部署上一般在同一台机器上放在主节点上,而nodemanager分配在各个节点上

六、zookeeper

这个若是机器足够一般是奇数的,所以部署在m节点上比较合适。奇数台、高可用、与管理角色共置

七、hue

会对外提供一个web ui,以便于数据分析和数据开发做即席查询。这个服务随意部署,根据自己的机器部署情况来看。

4.角色划分详情表

控制核心 网关+入口 元数据+历史服务 存算一体
m1 m2 m3 n1 n2 n3 n4
cloudera management Alert Publisher ✅
Event Server ✅
Host Monitor ✅
Service Monitor ✅
hdfs NameNode ✅ ✅
JournalNode ✅ ✅ ✅
Failover Controller ✅ ✅
HttpFs ✅
DataNode ✅ ✅ ✅ ✅
yarn ResourceManager ✅ ✅
NodeManager ✅ ✅ ✅ ✅
JobHistory Server ✅
hive Hive MetaStore Server ✅
HiveServer2 ✅
HiveGateway ✅ ✅ ✅ ✅ ✅ ✅ ✅
spark Spark History Server ✅
Spark Gateway ✅ ✅ ✅ ✅ ✅ ✅ ✅
impala Impala StateStore ✅
Impala catalog Server ✅
Impala Daemon ✅ ✅ ✅ ✅
zookeeper zk-node ✅ ✅ ✅
hue Hue Server ✅
Hue Load Balancer ✅

5. 未来升级项

  1. work节点扩展硬盘,只需将新盘挂载到新目录/hadoop/data2或/hadoop/data3,更新hdfs配置就能完成存储扩展(支持热加入)

  2. 新增work节点,配置完全复制目前的work节点角色即可

  3. 后期大数据任务多时,将m2的driver职责下沉到其他节点

  4. 后期元数据库,元数据服务可做高可用