ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Flintrock+HDFS搭建教程:为Spark集群配置分布式文件存储

Flintrock+HDFS搭建教程:为Spark集群配置分布式文件存储 FlintrockHDFS搭建教程为Spark集群配置分布式文件存储【免费下载链接】flintrockA command-line tool for launching Apache Spark clusters.项目地址: https://gitcode.com/gh_mirrors/fl/flintrock对于刚接触大数据的新手来说在云上手动搭建一套可用的 Spark 集群已经够麻烦了还要额外配置 HDFS 分布式文件存储更是劝退不少朋友。Flintrock正是一款专为解决这一痛点而生的命令行工具它可以用一条命令在 EC2 上快速启动完整的 Apache Spark 集群并可选地内置 HDFS让你在几分钟内就拥有带分布式存储的可用集群彻底告别繁琐的手工部署。为什么 Spark 集群需要 HDFS 分布式存储Spark 本身是计算框架不负责数据持久化。虽然可以直接读取 S3 等对象存储但当你需要反复迭代计算的机器学习任务追求低延迟的临时数据读写对数据本地性data locality敏感的场景本地搭建一套 HDFS让数据块就近分布在计算节点上性能会明显优于每次都从远端拉取。Flintrock 默认使用 Hadoop 3.3.6 作为 HDFS 版本与 Spark 集成良好开箱即用。Flintrock 快速安装只需一行命令Flintrock 是基于 Python 的 CLI 工具支持 Python 3.8 及以上版本。推荐用 pipx 安装自动隔离环境、避免污染系统 Pythonpipx install flintrock装完后先看帮助确认环境正常flintrock --help flintrock launch --help如果你希望从源码运行或参与贡献也可以直接获取仓库git clone https://gitcode.com/gh_mirrors/fl/flintrock按 README.md 中的说明安装开发版本。最快配置方法用 config.yaml 声明 HDFS 服务Flintrock 支持把常用参数持久化到配置文件避免每次敲一长串命令。运行flintrock configure会打开默认配置文件也可以参照项目自带的 config.yaml.template 手工编写。在配置文件里声明 HDFS 服务并开启安装开关即可services: spark: version: 3.5.0 hdfs: version: 3.3.6 launch: num-slaves: 2 install-hdfs: True关键点说明services.hdfs.version指定 Hadoop/HDFS 版本默认 3.3.6launch.install-hdfs: True等价于命令行--install-hdfs决定是否随集群安装 HDFSprovider: ec2下方的key-name、identity-file、ami等参数需替换为你自己的 AWS 凭证一条命令启动 Spark HDFS 集群 配置文件准备好后启动集群简化为flintrock launch my-clusterFlintrock 会自动在所有节点上安装 Hadoop、格式化 NameNodehdfs namenode -format、启动 DataNode并完成全部配置文件分发。内部实现上HDFS 的安装、配置、启动与健康检查逻辑集中在 services.py 的HDFS类中模板文件则位于 templates/hadoop/conf/ 目录下包括core-site.xml声明默认文件系统为hdfs://{master}:9000hdfs-site.xml设置 128MB 数据块大小与 DataNode 数据目录如果你更习惯纯命令行方式效果完全一致flintrock launch my-cluster \ --num-slaves 2 \ --install-hdfs \ --hdfs-version 3.3.6实测中Flintrock 启动集群非常快约 3 分钟即可拉起 100 节点的集群远快于传统的逐节点手工配置。验证 HDFS 是否正常在线集群启动后用 describe 查看节点状态flintrock describe my-clusterFlintrock 启动 HDFS 时会自动做健康检查通过 WebHDFS 接口请求GETCONTENTSUMMARY确认 NameNode 在线。你也可以自行访问 NameNode Web UIHadoop 3.0 默认端口9870查看数据节点与存储容量。登录主节点用 HDFS 命令做一次最基础的读写验证flintrock login my-cluster hdfs dfs -mkdir /test hdfs dfs -put /etc/hosts /test/ hdfs dfs -ls /test能看到文件列表说明 HDFS 分布式文件存储已经工作正常Spark 可以直接以hdfs://my-cluster/...路径读写数据。常用集群操作扩容、销毁与批量命令水平扩容flintrock add-slaves my-cluster --num-slaves 2新增节点会自动配置并加入 HDFS DataNode缩减节点flintrock remove-slaves my-cluster --num-slaves 1批量执行flintrock run-command my-cluster df -h在所有节点上统一执行命令分发文件flintrock copy-file my-cluster /local/path /remote/path用完销毁flintrock destroy my-cluster避免持续产生费用使用注意事项 ⚠️Flintrock 适合临时实验集群不适合管理长期存活的正式基础设施这类场景建议使用 Terraform、Ansible 或 EMR集群销毁后数据即丢失重要数据请通过s3a://等外部存储持久化HDFS 仅作为高性能临时存储使用若使用较旧 Hadoop 版本NameNode UI 端口为 50070代码中会根据版本自动选择见 services.py总结借助 FlintrockSpark HDFS 的搭建从数小时的折磨变成了几分钟的命令安装工具、写好 config.yaml、一条flintrock launch一套带分布式文件存储的 Spark 集群就绪。对于想快速实验、跑通原型或做性能测试的朋友来说这是目前最省心的上手方式值得一试。【免费下载链接】flintrockA command-line tool for launching Apache Spark clusters.项目地址: https://gitcode.com/gh_mirrors/fl/flintrock创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表