【Ambari Plus】Step5—Nginx 本地 Yum 文件服务
Step5—Nginx 本地 Yum 文件服务Ambari Plus 安装包已经放在/data/modules但其他节点不能直接读核心节点的本地目录。这里要做一层 Nginx 文件服务把这个目录通过 HTTP 暴露出去。后面 RHEL 系写.repo、Ubuntu 写本地 APT 源都会指向这个地址。本文约定项目值核心节点hadoop1.test.com仓库目录/data/modulesHTTP 地址http://hadoop1.test.com/安装 Nginx只在核心节点hadoop1.test.com安装。sudodnf-yinstallnginx||sudoyum-yinstallnginxsudosystemctlenable--nownginxsudoaptupdatesudoaptinstall-ynginxsudosystemctlenable--nownginx检查服务systemctl is-active nginx准备目录权限Nginx 要能读取/data/modulessudomkdir-p/data/modulessudochmod-R755/data/modulesRHEL 系如果开启 SELinux还要处理上下文。临时验证可以用chcon正式环境建议写成持久规则getenforcesudosemanage fcontext-a-thttpd_sys_content_t/data/modules(/.*)?sudorestorecon-Rv/data/modules如果系统没有semanage先安装sudodnf-yinstallpolicycoreutils-python-utils||\sudoyum-yinstallpolicycoreutils-python-utils如果getenforce显示Disabled可以跳过这一段。写入站点配置在核心节点创建 Nginx 配置sudotee/etc/nginx/conf.d/ambari-plus-repo.conf/dev/nullEOF server { listen 80; server_name hadoop1.test.com 192.168.3.101 localhost; root /data/modules; index index.html index.htm; location / { allow 192.168.3.0/24; allow 127.0.0.1; deny all; autoindex on; autoindex_exact_size off; autoindex_localtime on; try_files $uri $uri/ 404; } types { application/xml xml; application/x-rpm rpm; text/plain repomd; } } EOF这里的server_name和allow 192.168.3.0/24按你的核心节点主机名、IP 和集群网段修改。root /data/modules不要写错否则后面仓库地址能打开但找不到包。测试并启动sudonginx-tsudosystemctl restart nginxsudosystemctlenablenginx放通 HTTP 端口如果启用了防火墙sudofirewall-cmd --add-servicehttp--permanentsudofirewall-cmd--reloadsudoufw allow80/tcpsudoufw reload云主机还要检查安全组是否允许工作节点访问核心节点 80 端口。先做目录访问验证在核心节点执行curl-HHost: hadoop1.test.com-Ihttp://127.0.0.1/curl-HHost: hadoop1.test.comhttp://127.0.0.1/|head在工作节点执行curl-Ihttp://hadoop1.test.com/curlhttp://hadoop1.test.com/|head如果返回200 OK或能看到目录索引说明 Nginx 文件服务已经通了。::: warning 访问范围这里打开了autoindex读者可以直接看到/data/modules下的包名。实验环境问题不大生产内网我建议至少保留上面的allow/deny并配合防火墙或安全组只允许集群网段访问。:::常见问题现象原因处理nginx -t失败配置语法错误检查大括号、分号和try_files本机能访问工作节点不能访问防火墙或安全组未放通放通 80/tcp403 ForbiddenNginx 没有目录权限、SELinux 拦截或不在允许网段检查权限、restorecon和allow网段404 Not Foundroot目录写错确认配置指向/data/modules本机127.0.0.1访问到默认页命中了默认站点用curl -H Host: hadoop1.test.com http://127.0.0.1/验证Nginx 通过后核心节点就具备了本地文件服务能力下一步准备 JDK 双环境。

相关新闻

N_m3u8DL-CLI-SimpleG:告别命令行恐惧的M3U8下载终极方案

N_m3u8DL-CLI-SimpleG:告别命令行恐惧的M3U8下载终极方案

N_m3u8DL-CLI-SimpleG:告别命令行恐惧的M3U8下载终极方案 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 还在为复杂的命令行操作而头疼吗?面对那些密密麻…

2026/6/26 1:52:29阅读更多 →
[工具分享]CCSwitch 接入Claude 无限token

[工具分享]CCSwitch 接入Claude 无限token

[工具分享]CCSwitch 接入Claude 无限token 本期将会分享开源免费的AI环境切换助手,同时以AgnesAI来给大家演示完整配置。目前AgnesAI提供免费Token使用,大家可完整体验整个流程。1. 概念 CCSwitch 是一款开源免费的跨平台桌面 AI 环境切换助手&#xff0…

2026/6/26 1:52:29阅读更多 →
AI Coding改变职场:收藏这份0基础Agent工程师高薪入门指南!

AI Coding改变职场:收藏这份0基础Agent工程师高薪入门指南!

AI技术快速发展,职场岗位需求正经历巨变,Agent工程师逐渐成为主流。AI能够自动化完成大量编程任务,使得传统前后端工程师价值下降,而Agent工程师凭借设计、监督和审核AI的能力,获得更高薪资和更广阔的发展空间。 AI Co…

2026/6/26 1:52:29阅读更多 →
嵌入式通信协议PESP:轻量级数据交换的设计范式与实战解析

嵌入式通信协议PESP:轻量级数据交换的设计范式与实战解析

1. 项目概述:PESP是什么,以及它为何值得关注最近在和一些做嵌入式开发的朋友聊天时,频繁听到一个词:PESP。一开始我以为是什么新的协议栈或者开发框架,深入了解后才发现,它其实是一个相当有意思且实用的概念…

2026/6/26 3:02:34阅读更多 →
云原生架构驱动企业学习平台:游戏化与数据驱动的数字化学习实践

云原生架构驱动企业学习平台:游戏化与数据驱动的数字化学习实践

1. 项目概述:从“云领橙长”看企业数字化学习新范式最近和几个做企业培训的朋友聊天,大家都在感慨,传统的线下培训、E-Learning平台越来越难做了。员工不爱学,学了记不住,记住了用不上,培训部门花了大力气&…

2026/6/26 3:02:34阅读更多 →
数据分包传输:从原理到实践,解决大文件传输与网络不稳定的关键技术

数据分包传输:从原理到实践,解决大文件传输与网络不稳定的关键技术

1. 项目概述:从“传输数据”到“数据分包传输”的实践演进“传输数据”这四个字,听起来像是计算机科学教科书里最基础、最枯燥的章节标题。但如果你真的动手去实现它,尤其是在资源受限、网络环境复杂或者对可靠性有极致要求的场景下&#xff…

2026/6/26 3:02:34阅读更多 →
Kubernetes Pod 重启策略解析

Kubernetes Pod 重启策略解析

Kubernetes Pod 重启策略解析 在Kubernetes集群中,Pod是最小的调度单元,其稳定性直接影响应用服务的可用性。当Pod因故障退出时,合理的重启策略能够快速恢复服务,保障业务连续性。本文将深入解析Pod的重启策略,帮助开…

2026/6/26 3:02:34阅读更多 →
从靶机实战到权限提升:Lord of the Root渗透测试全流程解析

从靶机实战到权限提升:Lord of the Root渗透测试全流程解析

1. 项目概述:从靶机到实战的渗透测试演练场最近在渗透测试的实战演练和技能提升圈子里,一个名为“Lord of the Root”的靶机项目热度一直不减。这可不是什么新出的奇幻电影,而是一个被设计成“夺旗”(CTF)风格的虚拟机…

2026/6/26 3:02:34阅读更多 →
深度学习系统设计思考

深度学习系统设计思考

深度学习系统设计思考:构建智能未来的核心引擎 在人工智能技术飞速发展的今天,深度学习已成为推动自动驾驶、医疗诊断、自然语言处理等领域突破的核心动力。一个高效、可靠的深度学习系统并非仅依赖算法创新,其设计过程涉及计算资源、数据质…

2026/6/26 2:57:34阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/25 9:39:54阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/25 2:52:24阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/25 9:01:34阅读更多 →
HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

一、前言:企业运维痛点与资源价值自博通收购 VMware 之后,原 VMware 公开免费下载渠道全面关闭,企业运维人员想要获取适配 HPE 慧与服务器的 ESXi 9 原厂镜像,必须注册博通账号、绑定有效授权才能下载,无授权账号无法获…

2026/6/26 0:02:15阅读更多 →
Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin作为一门现代编程语言,与Java的互操作性一直是其核心优势之一。为了让Kotlin代码能够无缝对接Java,Kotlin提供了多种注解来优化互操作体验,其中JvmStatic和JvmField是两个关键注解。它们分别用于解决静态成员和字段在Java中的访问问题&…

2026/6/26 0:02:15阅读更多 →
深入解析musl libc中的mmap实现源码

深入解析musl libc中的mmap实现源码

最近在阅读musl libc源码时,发现其mmap的实现非常精妙,特分享给大家。 一、代码整体结构 这段代码实现了__mmap函数,并通过weak_alias导出为mmap。这是典型的musl libc风格——提供弱符号以便用户可以重写。 weak_alias(__mmap, mmap); 二…

2026/6/26 0:02:15阅读更多 →