1.Datanode管理多块数据盘
1.理解
其实就是扩展Datanode空间,之前一个盘,现在加一个盘或者多个盘,
2.优点:
- 1.提高容错(避免硬盘损坏全部数据丢失)
- 2.实现数据分离模式存储(框架本体与数据分离,集群出现问题数据可进行单独恢复,这样也是提高容错)
3.配置(临时挂载,晚点查永久挂载)
1.磁盘配置
- lsblk 查看磁盘数据
- sudo fdisk /dev/sdb 建立分区
- sudo mkfs.ext4 /dev/sdb1 格式化
- 挂载
- sudo mkdir -p /data/disk1
- sudo mount /dev/sdb1 /data/disk1
- lsblk
类似这样就是挂载成功
- sudo chown -R atguigu:atguigu /data/disk1 修改权限
2. 将磁盘路径写入配置文件
注意,这个是不能分发的,独属于这个datanode的
dfs.datanode.data.dir
file://${hadoop.tmp.dir}/dfs/data,file:///data/disk1
4.磁盘的数据均衡(根据空间百分比进行分配)
1.生成均衡计划
c
$ hdfs diskbalancer -plan hadoop102 --thresholdPercentage 1 --v
磁盘的数据均衡
这些的思路都是重点
HDFS---集群扩容及缩容
数据的分治管理
加个服务器然后配成DN
修改主机名 用户名
安装HADOOP
为什么会死?
为什么DN里面能显示
datanode上的version中有datanodeuuid
新扩容的删掉DataNode
为什么不用在workers注册就识别是DN
缩容
数据迁移 NN自己迁移
白名单: 表示在白名单的主机IP地址可以,用来存储数据。
黑名单
当服务器要退休时,在黑名单中添加,但是,不能删除白名单,因为要完成数据迁移,如果删除了,数据就丢失了.
每个数据块来一个副本,满足最低保证,就能退出安全模式了
其实安全模式就是为了避免数据混乱.
可以手动打开安全模式
等待安全模式,只要有一个DN离开,就关
什么时候需要主动进入安全模式?
出现问题,维护
等待什么时候用?
定时上传,或者维护结束
脚本执行
直接在wait第二行直接写代码就行
为什么hadoop.tmp.dir是这么写的?
压缩
原则: 运算密集少用压缩,IO密集多用压缩
只要有IO操作的地方都可以使用压缩
数据量小于块大小,不用切
为什么mapper为什么不考虑压缩率,因为他不需要永久落盘