Datanode多目录配置及block块手动拼接

Datanode多目录配置

datanode也可以配置成多个目录,每个目录存储的数据不一样。即:数据不是副本。具体配置如下:

cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

<!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
<property>
  <name>dfs.datanode.data.dir</name>
  <value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas
</value>
</property>

例如:

<property>
  <name>dfs.datanode.data.dir</name>
<value>
/mnt/disk1/hadoop/hdfs/data,
/mnt/disk2/hadoop/hdfs/data,
/mnt/disk3/hadoop/hdfs/data,
/mnt/disk4/hadoop/hdfs/data,
/mnt/disk5/hadoop/hdfs/data,
/mnt/disk6/hadoop/hdfs/data,
/mnt/disk7/hadoop/hdfs/data,
/mnt/disk8/hadoop/hdfs/data,
/mnt/disk9/hadoop/hdfs/data,
/mnt/disk10/hadoop/hdfs/data,
/mnt/disk11/hadoop/hdfs/data
</value>
</property>

block块手动拼接成为完整数据

HDFS的数据都是以一个个的block块存储的,只要我们能够将文件的所有block块全部找出来,拼接到一起,又会成为一个完整的文件,接下来我们就来通过命令将文件进行拼接
第一步:上传一个大于128M的文件到hdfs上面去
我们选择一个大于128M的文件上传到hdfs上面去,只有一个大于128M的文件才会有多个block块
这里我们选择将我们的jdk安装包上传到hdfs上面去
node01执行以下命令上传jdk安装包

cd /export/softwares/
hdfs dfs -put jdk-8u141-linux-x64.tar.gz  /

第二步:web浏览器界面查看jdk的两个block块id
这里我们看到两个block块id分别为
1073742699和1073742700
那么我们就可以通过blockid将我们两个block块进行手动拼接了
在这里插入图片描述
在这里插入图片描述
第三步:根据我们的配置文件找到block块所在的路径
根据我们hdfs-site.xml的配置,找到datanode所在的路径

<!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
<property>
<name>dfs.datanode.data.dir</name>
  <value>
file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas
</value>
</property>

进入到以下路径

cd /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas/current/BP-557466926-192.168.52.100-1549868683602/current/finalized/subdir0/subdir3

第四步:执行block块的拼接

cat blk_1073742699 >> jdk8u141.tar.gz
cat blk_1073742700 >> jdk8u141.tar.gz

移动jdk到/export路径,然后进行解压

mv  jdk8u141.tar.gz /export/
cd /export/
tar -zxvf jdk8u141.tar.gz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值