分布式数据存储基础与HDFS操作实践

本篇博客由作者女朋友亲情赞助,本人所撰写内容见资源文件。

1. 虚拟机集群的安装与配置

1.1 创建并配置两个虚拟机

配置网络,让主机和所有部署的虚拟机处于同一个网段下,主机可以去连虚拟机,虚拟机可以去连主机,虚拟机之间也可以相互连接。

(1)寻找空闲的IP地址

(2)进入cd /etc/sysconfig/network-scripts

将bogon切换到localhost:

(3)vi编辑文件ifcfg-ens33

(4)service network restart进行重启

(5)再次通过ping发现主机可以访问到虚拟机,基本配置完成。

3、使用xshell创建namenode和datanode,分别对应两个虚拟机的地址。

输入用户密码进行连接:

4、实现相互免密登录(namenode和datanode都做)

(1)修改主机名,ping的时候可以直接使用对方的主机名。

(2)生成公钥实现免密登录

配置java的jdk

(1)使用winSCP远程传输工具

(2)将java的jdk文件拖入software文件夹中

(3)使用ls看到目录下有了java解压包

(4)解压文件 tar -xzvf jdk-8u65-linux-x64.t.gz

进入配置文件 vi /etc/profile,添加以下配置内容

复制代码
export JAVA_HOME=/software/jdk/

export PATH=.:$PATH:$JAVA_HOME/bin:$PATH

export HADOOP_HOME=/software/hadoop

export PATH=.:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

(6)让配置文件生效

主节点namenode配置Hadoop

(1)使用winSCP将hadoop压缩文件上传到software目录

(2)解压压缩文件

(3)修改对应的名字

修改Hadoop的配置文件:

core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、slaves、yarn-site.xml

(5)打包Hadoop分发至datanode

进入到software目录后,对hadoop进行打包:

复制代码
cd /software

tar -czvf hadoop.tar.gz hadoop

将其分发:

复制代码
scp hadoop.tar.gz datanode:/software

在分节点进行解压完成配置:

复制代码
cd /software

tar -zxvf hadoop.tar.gz hadoop

7、启动集群(namenode完成)

(1)格式化集群

复制代码
hdfs namenode -format

(2)启动集群

(3)jps查看状态

(4)查看集群报告

2. 启动Hadoop HDFS

1、进入hadoop的目录

2、启动HDFS:start-dfs.sh

3、使用jps命令查看Java进程,确认NameNode和DataNode等进程正在运行。

3. HDFS基本操作实践

1、使用hdfs dfs -mkdir命令创建新的目录。

2、使用hdfs dfs -put命令上传本地文件到HDFS。

遇到问题:There are 0 datanode(s) running and no node(s) are excluded in this operation.

hdfs dfsadmin -report全为0:

解决方案:①格式化多次,在core-site.xml中把file:/data/hadoop/tmp目录全部删除

②datanode: nodemanager running as process 6332. Stop it first.

这个错误提示表明NodeManager(YARN的组件)在使用DataNode所需的端口或资源,所以DataNode无法启动。可以通过以下步骤解决此问题:

因为NodeManager和DataNode使用的资源冲突,首先需要停止NodeManager进程,然后再启动DataNode。

执行以下命令停止NodeManager:

$HADOOP_HOME/sbin/yarn-daemon.sh stop nodemanager

确保NodeManager已成功停止。

③使用以下命令检查 DataNode 是否在所有相关节点上运行:

$HADOOP_HOME/sbin/hadoop-daemon.sh status datanode

如果 DataNode 未启动,可以尝试在各节点上启动它:

$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode

之后,再次运行 hdfs dfsadmin -report 检查容量状态。

可以看到集群中有1个正常运行的DataNode,问题成功得到了解决。

使用hdfs dfs -get命令下载HDFS上的文件到本地。

4、使用hdfs dfs -cat命令查看HDFS上的文件内容。

5、使用hdfs dfs -rm命令删除HDFS上的文件。

相关推荐
ACP广源盛139246256739 分钟前
破局 PCIe 4.0 交换瓶颈@ACP#IX8024 / ASM58024参数及应用对比
大数据·人工智能·分布式·嵌入式硬件
AOwhisky29 分钟前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
岑梓铭1 小时前
考研408《操作系统》复习笔记,第四章《4.2.2 文件操作、文件共享、文件保护》
linux·考研·操作系统·文件系统·408
Mr.HeBoYan1 小时前
DPDK为什么越来越少使用rte_ring?——从Lock-Free到Run-to-Completion,重新理解现代DPDK架构演进(上)
linux·网络·算法·性能优化·架构·dpdk
南讯股份Nascent1 小时前
颖通电商全渠道项目启动会成功举办
大数据·人工智能·物联网
猴子15516811 小时前
问卷逻辑跳转功能谁更强?2026年四款工具条件设置实测
大数据
Elastic 中国社区官方博客1 小时前
使用 Elasticsearch 作为 Grafana 的直接替代 Prometheus 后端
大数据·数据库·sql·elasticsearch·搜索引擎·grafana·prometheus
XTIOT6661 小时前
CRPT 诚实标识采集落地技术实践:分工况硬件选型与合规数据标准化解决方案
大数据·运维·人工智能·嵌入式硬件·物联网
杨婷1231 小时前
2026 企业微信会话存档服务商选型指南:一维助手方案深度解析
大数据·数据库·企业微信
淡然的煎蛋2 小时前
开始使用RabbitMQ
分布式·rabbitmq·ruby