HDFS 异构储存配置及基本命令操作
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 异构储存配置及基本命令操作的更多相关文章
- linux云计算集群架构学习笔记:rhel7基本命令操作
		
1-3-RHEL7基本命令操作 1.1Linux终端介绍 Shell提示符 Bash Shell基本语法. 1.2基本命令的使用:ls.pwd.cd. 1.3查看系统和BIOS硬件时间. 1.4 L ...
 - Linux高级运维 第三章  Linux基本命令操作
		
3.1 Linux终端介绍.Shell提示符.Bash基本语法 3.1.1 登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME Terminal : 2.KDE桌面的Konsole ...
 - Linux基本命令操作
		
3.1 Linux终端介绍.Shell提示符.Bash基本语法 3.1.1 登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME Terminal : 2.KDE桌面的Konsole ...
 - 第九章 搭建Hadoop 2.2.0版本HDFS的HA配置
		
Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是 ...
 - 使用QJM实现HDFS的HA配置
		
使用QJM实现HDFS的HA配置 1.背景 hadoop 2.0.0之前,namenode存在单点故障问题(SPOF,single point of failure),如果主机或进程不可用时,整个集群 ...
 - Linux单机环境下HDFS伪分布式集群安装操作步骤v1.0
		
公司平台的分布式文件系统基于Hadoop HDFS技术构建,为开发人员学习及后续项目中Hadoop HDFS相关操作提供技术参考特编写此文档.本文档描述了Linux单机环境下Hadoop HDFS伪分 ...
 - 第三章  Linux基本命令操作
		
第三章 Linux基本命令操作 ¨ 本节所讲内容: ¨ 3.1 Linux终端介绍 Shell提示符 Bash Shell基本语法 ¨ 3.2 基本命令的使用:ls.pwd.cd.hist ...
 - MySQL基本命令操作及数据库基本概念
		
MySQL基本命令操作及数据库基本概念 1.数据库的基本概念 2.主流数据库介绍 3.关系型非关系型数据库介绍 4.Mysql 安装方法 5.Mysql 基本操作命令 1.数据库的基本概念: 数据库的 ...
 - flume从kafka读取数据到hdfs中的配置
		
#source的名字 agent.sources = kafkaSource # channels的名字,建议按照type来命名 agent.channels = memoryChannel # si ...
 
随机推荐
- 快速了解Python的定制类
			
多重继承 class Student(man,oldman): pass 可以继承多个父类,拥有他们的方法,如果有父类有相同的方法,哪个在前用哪个 定制类 看到类似__slots__这种形如 __xx ...
 - materializecss的水波纹效果
			
参考http://www.materializecss.cn/waves.html <html lang="en"> <head> <meta cha ...
 - 获取一个div下的li或者img元素
			
上层div的xpath=//*[@id="launchpadOptionsList"] 其下的所有li的最后一个是//*[@id="launchpadOptionsLis ...
 - 【Linux】使用fsck对磁盘进行修复
			
在后台执行 磁盘修复 nohup fsck.ext3 -y /dev/sdb1 > /root/fsck.log 2>&1 & 使用nohup和& 让进程在后台执行 ...
 - python 数组 变成 字典的方法
			
1.现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','ke ...
 - python-selenium并发执行测试用例(方法一 各模块每一条并发执行)
			
总执行代码: # coding=utf-8import unittest,os,timeimport HTMLTestRunnerimport threadingimport syssys.path. ...
 - 廖雪峰Java6 IO编程-2input和output-4Filter模式
			
1.JDK提供的InputStream分为两类: 直接提供数据的InputStream * FileInputStream:从文件读取 * ServletInputStream:从HTTP请求读取数据 ...
 - UTC时间和普通时间的区别
			
UTC时间 [root@openstack01 ~]# timedatectl Local time: Sat 2018-08-18 23:04:24 CST Universal ti ...
 - GCViewer / MAT
			
jvm出现问题时,我们可以开启jmx功能,使用jvisualvm或者jconsole等监控其他机器上的jvm的运行情况,如https://www.cnblogs.com/princessd8251/p ...
 - python动态绑定属性和方法
			
基于Python 2.7.13测试. Python是动态语言,在类定义了之后,还可以动态地绑定属性和方法. 下面先来看怎么给类的实例动态地绑定属性和方法. >>> class Stu ...