n先部署一台机器,制作镜像,然后通过这个镜像去创建其他的EC2实例,最后完成配置与启动。
目录
(1).为什么不使用CDH/ambari/云服务
(2).重点概述
1.版本选择
2.组件拓扑
3.节点配置
(3).制作aws模版机与镜像
1.制作模版机
1.1.开EC2
1.2.挂载应用/数据盘
1.3.安装必要软件
1.4.建立基本目录
1.5下载hadoop组件安装包
1.6.hadoop目录/配置文件准备
1.6.1.hadoop目录准备
1.6.2.hadoop配置文件准备
1.6.2.1.log路径修改
1.6.2.2.配置env
1.6.2.3.配置etc/hadoop/core-site.xml
1.6.2.4.配置etc/hadoop/hdfs-site.xml
1.6.2.5.配置etc/hadoop/yarn-site.xml
1.6.2.6.修改etc/hadoop/workers配置
1.7.zookeeper目录/配置文件准备
1.8.flink目录/配置文件准备
2.生成ssh-key
3.制作模版机的镜像
(4).通过镜像购买管理/资源节点
1.通过镜像购买管理节点
2.通过镜像购买资源节点
(5).配置管理/资源节点
1.管理/资源节点挂应用盘
2.依次配置管理节点
3.依次配置资源节点
4.所有节点配置/etc/hosts
(6).启动hadoop集群
1.启动zookeeper集群
2.启动管理节点
3.启动资源节点
4.check激活节点
(7).开放hadoop-flink集群的后台给办公网络/openvpn
(8).问题汇总
(9).可观测性设施
1.机器节点可观测性
2.flink的job/task可观测性
3.上下游系统与中间件的可观测性
(1).为什么不使用CDH/ambari/云服务
ambari已经被CDH所在公司收购,两者现在都已经闭源,生产使用需要付费,费用极其昂贵。
至于为什么不使用云服务,也是费用问题,因为是hadoop-flink集群用于实时计算,云服务的实时计算资源是非常昂贵的。
(2).重点概述
1.版本选择
hadoop3.3.1,flink-1.13.1,zookeeper-3.6.3
JDK使用1.8,官方有文档明确说明hadoop3.3.1最好运行在jdk1.8,后续会支持jdk11(目前在11上有问题),所以生产选择jdk1.8。
2.组件拓扑
每个节点都有node-exporter用于prometheus收集机器监控指标/报警。
管理节点hostname:hadoop-flink-manager-n
上边部署5个管理进程:
zookeeper、namenode、journalnode、resourcemanager、zk-failover-controller。
资源节点hostname:hadoop-flink-resource-m
部署两个进程:
nodemanager、datanode
都使用hadoop用户进行启动、管理、维护。
3.节点配置
3台manager节点,6台resource节点。
manager节点配置:c5.xlarge(4c8g);两个挂载点都是ssd(gp2),/是20G,/app是G。
resource节点配置:c5a.4xlarge(16c32g);两个挂载点都是ssd(gp2),/是20G,/app是G。
ssd-gp2比ssd-gp3要好,因为是实时计算集群,选择好点的ssd-gp2。
(3).制作aws模版机与镜像
1.制作模版机
1.1.开EC2
选择c5.4xlarge。
上图:
子网选择私有子网;禁用自动分配ip/使用弹性ip。
安全组内网全开。
存储盘:
系统盘"/"挂载点:40G
应用盘"/app"挂载点:G
1.2.挂载应用/数据盘
挂载磁盘:
查看磁盘:lsblk
可以看到:nvme1n1是我们要挂载的新磁盘。
红色框是已有磁盘,查看一下两个磁盘:
file-s/dev/nvme0n1
file-s/dev/nvme1n1
使用lsblk-f命令获取有关连接到实例的所有设备的信息。
file-s/dev/nvme1n1
格式化新磁盘的文件系统:
mkfs-txfs/dev/nvme1n1
再次:lsblk-f
可以看到新磁盘就绪。
建立挂载点目录:
mkdir/app
创建的目录挂载卷。
mount/dev/nvme1n1/app
加到/etc/fstab中:(磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载)。
/dev/nvme1n1/appxfsdefaults11
1.3.安装必要软件
sudoyum-yinstall