Hadoop分布式存储的体验

简介: Hadoop分布式存储的体验

今天我们来把Hadoop弄到多台机器上,脑补一下手头有500多台机器,大大大老板喊我们去部署一套传说中的大数据平台,好多好多银子,人生小巅峰有木有。啪,打醒,回到现实,我们现在手头只有几台虚拟机。

下面开始动手了 。

第二台DataNode的部署

 有了之前的准备工作,新增一台DataNode的部署显得很简单,我的新机器取名为gz-bigdata-lw-02.com,在第一台机器中配置好/etc/hosts域名解析,同时配置好和DataNode的免密码登录,方便我们传输文件:

 

图一:域名解析映射

图二:建立免密码登录

接下来,依次同步jdk目录、hadoop安装包目录、/etc/hosts、/etc/profile

 

图三:同步文件夹

在第二台节点上建立软链接和数据目录:

 

图四:软链接和数据目录

接下来,为了使配置生效,在新节点中执行source /etc/profile,然后在任意目录执行启动datanode命令:

图五:DataNode节点启动

我们也可以从ui面板上面看到有两个DataNode节点了,DataNode启动就算完成了。

图六:ui中查看DataNode

这种方式是datanode本来的启动方式,我们不希望每次登陆到从节点中去执行命令,我们可以直接在NameNode中实现一键启动,我们只需要在hadoop配置文件/etc/salves中添加我们的DateNode节点:

图七:从节点的配置

 

图八:感受一下

 

分布式存储

我们来进一步了解一下数据在hdfs文件中的样子;我们注意看之前上传的文件,有个replication是1,BlockSize是128MB,这个信息是表示数据在hdfs中存储了一份,占用了一个文件块。

图九:UI中的存储信息

点击文件名可以看到数据块的信息:

 

 

 

 

图十:UI中的文件亏信息

很自然,我们想找到文件丢到hdfs长什么样子了,还记得我们配置的那个dat目录么,我们通过块的名字去find一波

 

图十一:查看存储的文件块

不出所料,我们的文件果然在里面,内容还保持完好

 

我们调整一下参数,备份数改成了2,文件块大小改成了1m,记得重启集群

 

 

 

 

图十二:调整参数

我们这次上传一个69M的文件,按照我们的块大小,我们预期是68份文件

 

图十三:上传大块文件

 

我们查看ui可以看到块文件从0到了68正好我们的预期,同时注意到两台节点中都有存储,这个其实就是我们的备份配置。

图十四:文件块情况

由此我们可以脑补这么个片段, 数据被丢进hdfs系统中,大块的数据文件被拆分成多个bolck,存储在各个节点中,按照这种存储法则,只要存储节点足够的话,再大的文件也可以被拆分成小文件存储进hdfs中,这就是hdfs中存储的小秘密。

 

让部署更加懒一点

我们发现,部署DataNode的时候,我们只要scp相应的文件就可以了,至于启动,我们也是在slaves中配置了从节点,然后启动。这种事情碰到了平时爱偷懒的我,自然想到,更自动一点,我这边还准备了剩下3台机器,下面我们把部署做得更加简单一点 :

我们还是在01节点里面搞事,先配置和其他节点的域名解析

 

图十五:文件块情况

   全部进行免密码登录配置:

 

图十六:免密码登录

获得了root权限的免密码登录之后,我们把需要部署的节点定义成一个数组、把需要做的操作,封装成函数,然后一键执行,就把配置和部署的文件都分发到节点了,达成成就,初级懒人!

 

图十六: 初级懒人秘籍

然后只要执行脚本,想想我们有500台机器的样子~~

 

小总结和下作业

回想一下部署从节点的方法,基本的套路都是首先打通免密码登录->远程下发配置文件->一键启动。这个办法适用大部分分布式软件的部署,当我们这些操作写到了脚本中之后,可以快速方便地部署到很多台机器上去,你get到了么^^~~

最后我们想想上面留下的几个问题:

  • 在做免密码登录的时候,脚本会提示输入密码,这个地方可以自动化么?
  • 我们在添加节点的时候,还是需要去改脚本,能不能更加方便?
  • 当我们单独部署一个配置文件的时候如何去做 ?

 

这些问题,大家想想,我们再后续的文章中介绍哈~~

未完,待续!

目录
相关文章
|
5天前
|
分布式计算 资源调度 Hadoop
分布式系统详解--架构(Hadoop-克隆服务器)
分布式系统详解--架构(Hadoop-克隆服务器)
15 1
|
5天前
|
XML 分布式计算 Hadoop
分布式系统详解--框架(Hadoop-单机版搭建)
分布式系统详解--框架(Hadoop-单机版搭建)
22 0
分布式系统详解--框架(Hadoop-单机版搭建)
|
9天前
|
存储 分布式计算 Hadoop
Hadoop是一个强大的分布式系统基础架构
【6月更文挑战第17天】Hadoop是一个强大的分布式系统基础架构
23 1
|
13天前
|
存储 分布式计算 安全
|
22天前
|
存储 分布式计算 Hadoop
使用Apache Hadoop进行分布式计算的技术详解
【6月更文挑战第4天】Apache Hadoop是一个分布式系统框架,应对大数据处理需求。它包括HDFS(分布式文件系统)和MapReduce编程模型。Hadoop架构由HDFS、YARN(资源管理器)、MapReduce及通用库组成。通过环境搭建、编写MapReduce程序,可实现分布式计算。例如,WordCount程序用于统计单词频率。优化HDFS和MapReduce性能,结合Hadoop生态系统工具,能提升整体效率。随着技术发展,Hadoop在大数据领域将持续发挥关键作用。
|
26天前
|
分布式计算 Hadoop 大数据
分布式计算框架比较:Hadoop、Spark 与 Flink
【5月更文挑战第31天】Hadoop是大数据处理的开创性框架,专注于大规模批量数据处理,具有高扩展性和容错性。然而,它在实时任务上表现不足。以下是一个简单的Hadoop MapReduce的WordCount程序示例,展示如何统计文本中单词出现次数。
76 0
|
5天前
|
存储 分布式计算 监控
分布式系统详解--框架(Hadoop-HDFS的HA搭建及测试)
分布式系统详解--框架(Hadoop-HDFS的HA搭建及测试)
12 0
|
5天前
|
分布式计算 资源调度 网络协议
分布式系统详解--框架(Hadoop--RPC协议)
分布式系统详解--框架(Hadoop--RPC协议)
10 0
|
5天前
|
分布式计算 Hadoop Java
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
14 0
|
5天前
|
分布式计算 Hadoop Shell
分布式系统详解--框架(Hadoop-基本shell命令)
分布式系统详解--框架(Hadoop-基本shell命令)
8 0

相关实验场景

更多