HDFS集群搭建:伪分布式
参考网址:hadoop官网
前期准备:JAVA环境 + SSH,hadoop用java开发,java移动性好,C++移植性好。
问题:ssh远程登录有个弊端:通过SSH远程登录启动其JVM进程,由于SSH远程执行的时候是不会加载profile文件里面的环境变量的
实操论证:
在node1的profile中创建一个环境变量BIGDATA=hello
,在Node1中打印
在node2节点远程登录node3,并且在node3中创建一个文件夹,去node3查看 ==> 可以查看是OK的
在node2中远程登录node1且打印node1中的环境变量====> 会发现无法打印,即不会加载pfofile环境配置。
那么可以远程链接node1并且加载其环境变量配置:ssh root@192.168.182.111 ‘source etc/profile ; echo $BIGDATA’
意味着虽然每台节点自己虽然可以正常获取环境变量,但是如果是远程的话无法获取环境变量配置信息=>意味着hadoop集群内要手动配置,即java_home变量信息除了告诉操作系统同时也要告诉Hadoop自己。
官网推荐的三种模式:
- 本地独立模式:Local (Standalone) Mode
- 伪分布式模式:Pseudo-Distributed Mode => 角色相同的服务节点
- 全分布式模式:Fully-Distributed Mode => 角色分布在不同的服务节点,企业一般用这个
由于多节点涉及在当前节点操作不同的节点,所以最好在之前为各个节点设置免密操作。
搭建思路:
-
基础设施
-
部署配置
-
初始化运行
-
命令行使用
基础设施
操作系统、环境、网络、必须软件
- 设置IP以及主机名
- 关闭防火墙$selinux
- 设置host映射
- 时间同步
- 安装JDK
- 设置SSH免秘钥
设置IP以及主机名
设置IP地址/网关等
设置网卡
设置hosts文件
关闭防火墙&SElinux
踩坑:
解决方案:
关闭SElinux
SElinux类似就是一种安全机制,假如现在是2023年一关机之后电脑重启可能出现一种现象就是时间回退了,变为2022年,那么根据Linux安全策略模式会触发SELinux,将计算机置为只读模式,将无法修改,SElinux有的版本有有的版本没有,但这毕竟是属于运维的知识,咱先不关注,详情可以参照[SELinux简介](# 附录一、SELinux简介)
SELinux 有三个运行状态,分别是disabled, permissive 和 enforcing
- Disable: 禁用SELinux,不会给任何新资源打Label,如果重新启用的话,将会给资源重新打上Lable,过程会比较缓慢。
- Permissive:如果违反安全策略,并不会真正的执行拒绝操作,替代的方式是记录一条log信息。
- Enforcing: 默认模式,SELinux的正常状态,会实际禁用违反策略的操作
查看当前的运行状态
临时改变运行状态为Permissive
临时改变运行状态为 Enforcing
使用sestatus
可以查看完整的状态信息
长久关闭
时间同步
由于集群之间的机器涉及到心跳问题,所以必须要做时间同步,不然心跳检测容易出现问题
同步阿里云时间
重启ntpd并且设置为开机运行
安装JDK
省略,老早之前就装了
记得设置环境变量。
设置SSH免密
Now check that you can ssh to the localhost without a passphrase:
If you cannot ssh to localhost without a passphrase, execute the following commands:
登录自己都需要密码,肯定不是免密
进入ssh目录
创建公钥
如果A想远程登录B,那么
A本地创建公钥与私钥,同时将公钥追加到B的~/.ssh/authorized_keys
文件里
如果是远程就涉及公钥分发。
部署配置
伪分布式:(单一节点)
-
部署路径
-
配置文件
- hadoop-env.sh
- core-site.xml
- hdfs-site.xml
- slaves
hadoop配置
为了hadoop到处可以运行,需要为hadoop配置环境变量,即etc/profile,
o
新开一行
Hadoop配置
配置副本个数
slaves配置DataNode放的位置,在3.X版本文件名更改为workers
secondNameNode配置
初始化运行
修改win与hafs的映射
打开前端界面
创建一个文件,里面填充字符,后面进行
将新建的文件上传到HDFS,同时指定文件块大小
可以看到hdfs并不关心文件里面的含义,只是根据byte进行切割。
__EOF__

本文链接:https://www.cnblogs.com/Courage129/p/17528364.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!