hadoop-2.8.4 部署我就不说了 网上一大堆

hdfs-site.xml datanode 储存路径挂载需要修改如下:

<property>
<name>dfs.datanode.data.dir</name>
<value>[DISK]file:///data/hdfs-disk/hadoop/dfs/data,[SSD]file:///data/hdfs-ssd/hadoop/dfs/data,[RAM_DISK]file:///data/hdfs-ram/hadoop/dfs/data</value>
</property>

我们假设你有 ssd/ram-disk 等挂载, 创建好以下目录

sudo mkdir -p /data/hadoop/dfs/name
sudo mkdir -p /data/hdfs-disk/hadoop/dfs/data
sudo mkdir -p /data/hdfs-ssd/hadoop/dfs/data
sudo mkdir -p /data/hdfs-ram/hadoop/dfs/data sudo chown -R hadoop:hadoop /data/hadoop/dfs/name
sudo chown -R hadoop:hadoop /data/hdfs-disk/hadoop/dfs/data
sudo chown -R hadoop:hadoop /data/hdfs-ssd/hadoop/dfs/data
sudo chown -R hadoop:hadoop /data/hdfs-ram/hadoop/dfs/data

把一个默认[DISK]储存的文件变成[SSD]储存步骤 / 如果你想把一个目录下文件变成某种策略,也可以按照以下操作完成

1. hdfs dfs -put hadoop-2.8.4.tar.gz /
2. hdfs fsck /hadoop-2.8.4.tar.gz -files -locations -blocks
查看当前文件的blocks 所在节点 及储存类型如DISK/SSD等,默认上传都是DISK
3. hdfs storagepolicies -setStoragePolicy -path /hadoop-2.8.4.tar.gz -policy ONE_SSD
修改储存策略为ONE_SSD
4. hdfs mover -p /hadoop-2.8.4.tar.gz
执行修改的储存策略
5.hdfs fsck /hadoop-2.8.4.tar.gz -files -locations -blocks 或者 hdfs storagepolicies -getStoragePolicy -path /hadoop-2.8.4.tar.gz
查看发现已经有一个副本在SSD上了

如果你想把例如HBASE WALS目录指定成ALL_SSD策略,如下操作即可

1. hdfs dfs -mkdir /ssd
2. hdfs storagepolicies -setStoragePolicy -path /ssd -policy ALL_SSD
3. hadoop fs -put zookeeper-3.4.6.jar /ssd/
4. hdfs fsck /ssd/zookeeper-3.4.6.jar -files -locations -blocks 或者 hdfs storagepolicies -getStoragePolicy -path /ssd/zookeeper-3.4.6.jar
查看得知 /ssd/zookeeper-3.4.6.jar 已经是ssd储存了
The storage policy of /ssd/zookeeper-3.4.6.jar:
BlockStoragePolicy{ALL_SSD:12, storageTypes=[SSD], creationFallbacks=[DISK], replicationFallbacks=[DISK]}

在hdfs中存储策略分为以下几种:

HOT:用于存储热数据,默认情况,hdfs的数据都采用的是HOT策略,所有的副本都存储在DISK中。
COLD:用于存储冷数据,所有的数据副本存储在ARCHIV中。
Warm:有些数据存在DISK中,有些做归档处理 。
All_SSD:所有的数据副本都存储在SSD中。
One_SSD:将数据的一个副本存储在SSD中,其余的副本存储在磁盘中。
Lazy_Persist:用于在内存中写入单个副本的块。该副本首先在RAM_DISK中写入,后续持久化到DISK中。

常用命令:

1.切换到hdfs用户,查看当前有哪些存储策略可以用
hdfs storagepolicies –listPolicies 2.获取指定路径的存储策略
hdfs storagepolicies -getStoragePolicy -path /user 3. 指定路径的储存策略 文件目录均可
hdfs storagepolicies -setStoragePolicy -path /hadoop-2.8.4.tar.gz -policy ONE_SSD 4.执行修改的储存策略的文件 一般需要花一些时间
例如之前他是[DISK] /hadoop-2.8.4.tar.gz ,然后你指定了储存策略为[ONE_SSD] 然后执行 hdfs mover -p /hadoop-2.8.4.tar.gz 后, 有一个副本就在ssd上了
hdfs mover -p /hadoop-2.8.4.tar.gz

HDFS 异构储存配置及基本命令操作的更多相关文章

  1. linux云计算集群架构学习笔记:rhel7基本命令操作

     1-3-RHEL7基本命令操作 1.1Linux终端介绍 Shell提示符 Bash Shell基本语法. 1.2基本命令的使用:ls.pwd.cd. 1.3查看系统和BIOS硬件时间. 1.4 L ...

  2. Linux高级运维 第三章 Linux基本命令操作

    3.1  Linux终端介绍.Shell提示符.Bash基本语法 3.1.1  登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME Terminal : 2.KDE桌面的Konsole ...

  3. Linux基本命令操作

    3.1  Linux终端介绍.Shell提示符.Bash基本语法 3.1.1  登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME Terminal : 2.KDE桌面的Konsole ...

  4. 第九章 搭建Hadoop 2.2.0版本HDFS的HA配置

    Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是 ...

  5. 使用QJM实现HDFS的HA配置

    使用QJM实现HDFS的HA配置 1.背景 hadoop 2.0.0之前,namenode存在单点故障问题(SPOF,single point of failure),如果主机或进程不可用时,整个集群 ...

  6. Linux单机环境下HDFS伪分布式集群安装操作步骤v1.0

    公司平台的分布式文件系统基于Hadoop HDFS技术构建,为开发人员学习及后续项目中Hadoop HDFS相关操作提供技术参考特编写此文档.本文档描述了Linux单机环境下Hadoop HDFS伪分 ...

  7. 第三章 Linux基本命令操作

    第三章  Linux基本命令操作 ¨  本节所讲内容: ¨  3.1  Linux终端介绍 Shell提示符 Bash Shell基本语法 ¨  3.2  基本命令的使用:ls.pwd.cd.hist ...

  8. MySQL基本命令操作及数据库基本概念

    MySQL基本命令操作及数据库基本概念 1.数据库的基本概念 2.主流数据库介绍 3.关系型非关系型数据库介绍 4.Mysql 安装方法 5.Mysql 基本操作命令 1.数据库的基本概念: 数据库的 ...

  9. flume从kafka读取数据到hdfs中的配置

    #source的名字 agent.sources = kafkaSource # channels的名字,建议按照type来命名 agent.channels = memoryChannel # si ...

随机推荐

  1. 快速了解Python的定制类

    多重继承 class Student(man,oldman): pass 可以继承多个父类,拥有他们的方法,如果有父类有相同的方法,哪个在前用哪个 定制类 看到类似__slots__这种形如 __xx ...

  2. materializecss的水波纹效果

    参考http://www.materializecss.cn/waves.html <html lang="en"> <head> <meta cha ...

  3. 获取一个div下的li或者img元素

    上层div的xpath=//*[@id="launchpadOptionsList"] 其下的所有li的最后一个是//*[@id="launchpadOptionsLis ...

  4. 【Linux】使用fsck对磁盘进行修复

    在后台执行 磁盘修复 nohup fsck.ext3 -y /dev/sdb1 > /root/fsck.log 2>&1 & 使用nohup和& 让进程在后台执行 ...

  5. python 数组 变成 字典的方法

    1.现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','ke ...

  6. python-selenium并发执行测试用例(方法一 各模块每一条并发执行)

    总执行代码: # coding=utf-8import unittest,os,timeimport HTMLTestRunnerimport threadingimport syssys.path. ...

  7. 廖雪峰Java6 IO编程-2input和output-4Filter模式

    1.JDK提供的InputStream分为两类: 直接提供数据的InputStream * FileInputStream:从文件读取 * ServletInputStream:从HTTP请求读取数据 ...

  8. UTC时间和普通时间的区别

            UTC时间 [root@openstack01 ~]# timedatectl Local time: Sat 2018-08-18 23:04:24 CST Universal ti ...

  9. GCViewer / MAT

    jvm出现问题时,我们可以开启jmx功能,使用jvisualvm或者jconsole等监控其他机器上的jvm的运行情况,如https://www.cnblogs.com/princessd8251/p ...

  10. python动态绑定属性和方法

    基于Python 2.7.13测试. Python是动态语言,在类定义了之后,还可以动态地绑定属性和方法. 下面先来看怎么给类的实例动态地绑定属性和方法. >>> class Stu ...