hadoop怎么保存配置文件

hadoop怎么保存配置文件,第1张

从安装Hadoop 单机版的配置说起

在这里配置了Hadoop的文件目录

1. 启动Hadoop 并上传文件

上传文件命令:hadoop fs -put hadoop-2.9.2.tar.gz hdfs://hdgroup01:9000/

可以看到已经上传了文件了

2. 删除本地文件

如果删除后你在浏览器刷新页面 然后还能下载 说明 肯定存在其他地方

使用命令下载也可以:hadoop fs -get hdfs://hdgroup01:9000/hadoop-2.9.2.tar.gz

3. hdfs 文件存放的位置

通过查看 安装时配置的hadoop文件目录 上传文件后的结果

这个dfs 应该见过的 就是在缓液格式化namenode的时候 在我们配置的文件中创建了dfs 文件夹

4. 上传一个349.5M 的文件

5. 进到hadoop 本地存储文件中查看 存储格式

上传的文件为349.47M 被切分成了 三块 因为是单机版 所以都存放到了 这台主机的文件系统中孙亮

可以看到 hadoop 块大小为128M(默认) 超过128M的文件会被切则哪宽成不同的块存放

总结

1. hdfs是是通过分布式集群来存储文件,为客户端提供了一个便捷的访问方式 虚拟的目录结构

2. 文件存储到hdfs集群中的时候是被切分成block的 默认为128M

3. 文件的block 存放在若干台datanode节点中

4. hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理

5. 每个block 在集群中会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量。

初步了解一下情况,后续根据给出案例

一、从本地文件系统到HDFS

使用hdfs自带的命令

命令:hdfs dfs -copyFromLocal inputPath outputPath

inputPath:本地文件目录的路径

outputPath:hdfs文件目录路径,即存储路径

二、从HDFS到本地文件系统

命令:hdfs dfs -copyToLocal inputPath outputPath

inputPath:hdfs文件目录

outputPath:本地文件文件目录,即本地存储路径

因为Hbas和Hive都在存储在HDFS中,所以可以通过该条命令可以把Hbase和Hive存储在HDFS中的文件复制出来。但是经过实践,通高简过这种方式复制出来的Hbase文件是乱码。Hive里的文件有时候也会乱码,这取决于Hive数据的插入方式。

三、文件在HDFS内的移动

1、从Hbase表导出数据到HDFS

命令:hbase org.apache.hadoop.hbase.mapreduce.Export tableName outputPaht

例子:hbase org.apache.hadoop.hbase.mapreduce.Export test /user/data

test为需要从Hbase中导出的表,/user/data为hdfs上的路径,即存储路径,如果最后一个参数有前缀file:// 则为本地上的文件存储系统

2、从HDFS导入到Hbase表中,需要事先建立好表结构

命令:hbase org.apache.hadoop.hbase.mapreduce.Export tableName inputPaht

例子:hbase org.apache.hadoop.hbase.mapreduce.Import test1 /态拍temp/part-m-00000

案列:

两个不同环境数据,数据导入

过程描述:

            导出正式环境数据到hdfs中,然后从hdfs中导出到本地,本地传到测试环境主机,然后从本地导入到hdfs中,再从hdfs中导入到hbase中。

处理过程:

1、注意事项:1、权限问题使用hdfs:sudo -u hdfs ;

                      2、存放上传路径最好不要在root下

    帆念羡                  3、上传完成后,查看是否在使用,数据已经插入。

1、sudo -u hdfs hbase org.apache.hadoop.hbase.mapreduce.Export ** /hbase/**_bak  (导出到hdfs中的**_bak)

2、hdfs dfs -copyToLocal /hbase/sw_bak /test  (导出hdfs中文件到本地test,注:提前建好目录)

3、scp -r test_bak [email protected].**:/root/test  (传送目录到测试环境主机目录下,注:传到测试环境后,把文件不要放到root的目录下,换家目录下)

4、sudo -u hdfs hdfs dfs -copyFromLocal /chenzeng/text_bak /data (把sw传到hdfs 中,注意上传时,文件路径要对,放在data路径下比较好)

5、sudo -u hdfs hbase org.apache.hadoop.hbase.mapreduce.Import test /data/test_bak/part-m-0000 (注意上次文件)

6、在hbase shell 中查看test :count 'test' 确认是否上传成功

优化:

truncate ‘’

正式环境导入至hdfs中时,

可以直接在另一个环境的执行sudo -u hdfs hbase org.apache.hadoop.hbase.mapreduce.Import test hdfs://server243:8020/hbase****  可以直接加主机和对应路径进行put。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12277234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存