Apache hdfs日常操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dazuiba008/article/details/80736544
配置文件修改
core-site.xml
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://192-168-100-142:9999</value>    //HDFS基本路径
        </property>
        <property>
                <name>fs.trash.interval</name>    //开启回收站功能,这里保留3分钟
                <value>3</value>
        </property>
</configuration>


hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name> 
                <value>1</value>
      <description>表示数据块的备份数量,不能大于DataNode的数量</description>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop-twq/bigdata/dfs/name</value>
                <description>表示NameNode需要存储数据的地方</description>
        </property>
 
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop-twq/bigdata/dfs/data</value>
                <description>DataNode存放数据的地方</description>
        </property>
</configuration>


启动HDFS  start-dfs.sh
关闭HDFS  stop-dfs.sh


以下命令效果一样
$HADOOP_HOME/bin/hadoop fs == $HADOOP_HOME/bin/hdfs dfs


日常操作
创建目录:
hadoop fs -mkdir [-p] hdfs://master:9999/hank/data01
上传文件:
hadoop fs -put [-f -d] [localFile1...localFile2] hdfs://master:9999/hank/data01
hadoop fs -put - hdfs://master:9999/hank/data01/out.txt => 从标准流中上传数据
hadoop fs -copyFromLocal [-f -d] localFile hdfs://master:9999/user/hank/data01
查看文件内容:
hadoop fs -cat hdfs://master:9999/hank/data01/word.txt
查看文件目录:
hadoop fs -ls [-d -h -r] hdfs://master:9999/hank/data01
修改文件权限:
hadoop fs -chmod [-R] 777 hdfs://master:9999/hank/data01
创建新文件:
hadoop fs -touchz hdfs://master:9999/hank/data01/flag.txt
查看文件大小:
hadoop fs -du [-s -h] hdfs://master:9999/hank/data01/cmd
查看集群容量使用情况
hadoop fs -df [-h] hdfs://master:9999/
移动文件:
hadoop fs -mv hdfs://master:9999/hank/data01/file hdfs://master:9999/hank/data01/cmd
下载文件:
hadoop fs -get [-f] hdfs://master:9999/hank/data01/t1.txt
删除文件:
hadoop fs -rm [-r -skipTrash] hdfs://master:9999/hank/data01/word.txt
默认文件删除就恢复不出来了
hadoop fs -rm -r -skipTrash /user/hadoop-twq/cmd-20180326 => 删除的文件跳过回收站,直接删除


更改数据块大小
hdfs默认是数据块大小为128M,可以通过修改配置参数修改大小
hdfs-site.xml
<property>  
         
<name>dfs.block.size</name>  
         
<value>268435456</value>  
 
</property>
如果数据块的的备份数为3份,可以通过以下命令修改备份数
hadoop fs -setrep 2 /users/hadoop-twq/cmd/word.txt


可以通过设置一下参数配置,设置http访问
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
<description>使得可以使用http的方式访问HDFS</description>
</property>
修改后,复制hdfs-site.xml文件到数据节点,然后重启hdfs






hdfs balancer 数据重平衡
[-threshold <threshold> => 默认是10,表示每一个datanode的存储使用率和整个集群存储的使用率的差值]
[-policy <policy> => 默认是datanode表示对datanode的存储进行平衡,还有一个值为blockpool,表示每一个blockpool平衡就行]
[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
[-include [-f <hosts-file> | <comma-separated list of hosts>]]
[-idleiterations <idleiterations> => 默认是5,表示退出之前几次空的迭代]






safemode安全模式:无法在集群进行增删改,只能查,集群维护的时候可以进入此模式
hdfs dfsadmin -safemode get  //获取安全模式
Safe mode is OFF
hdfs dfsadmin -safemode enter   //开启安全模式
Safe mode is ON
hdfs dfsadmin -safemode get 
Safe mode is ON
hdfs dfsadmin -safemode leave    //关闭安全模式
Safe mode is OFF
hdfs dfsadmin -safemode get 
Safe mode is OFF

猜你喜欢

转载自blog.csdn.net/dazuiba008/article/details/80736544