hdfs (hadoop-3.3.1)

99 阅读3分钟

hadoop集群机器需要互相密码登录

ssh-keygen -t rsa cat ./id_rsa.pub >> ./authorized_keys chmod 644 ~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys ip:/home/xxxxx/.ssh chmod 644 ~/.ssh/authorized_keys

修改配置文件

cd /data/hadoop-3.3.1/etc/hadoop

vi workers

    1. 集群地址(主机域名) zookeeper02 zookeeper03 zookeeper04 zookeeper05 zookeeper06

vi core-site.xml

            <property>
                   <name>fs.defaultFS</name>
                   <value>hdfs://10.228.230.*:9000</value>
           </property>
           <property>
                   <name>hadoop.tmp.dir</name>
                   <value>file:/data/hadoop-3.3.1/tmp</value>
           </property>

vi hdfs-site.xml

    <configuration>
            <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>10.228.230.94:50090</value>
            </property>
            <property>
                    <name>dfs.replication</name>
                    <value>5</value>
            </property>
            <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>file:/data/hadoop-3.3.1/tmp/dfs/name</value>
            </property>
            <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>file:/data/hadoop-3.3.1/tmp/dfs/data</value>
            </property>
    </configuration>

vi mapred-site.xml

    <configuration>
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>10.228.230.*:10020</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>10.228.230.*:19888</value>
            </property>
            <property>
                    <name>yarn.app.mapreduce.am.env</name>
                    <value>HADOOP_MAPRED_HOME=/data/hadoop-3.3.1</value>
            </property>
            <property>
                    <name>mapreduce.map.env</name>
                    <value>HADOOP_MAPRED_HOME=/data/hadoop-3.3.1</value>
            </property>
            <property>
                    <name>mapreduce.reduce.env</name>
                    <value>HADOOP_MAPRED_HOME=/data/hadoop-3.3.1</value>
            </property> 
    </configuration>

vi yarn-site.xml

    <configuration>
            <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>10.228.230.*</value>
            </property>
            <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
            </property>
    </configuration>

主节点初始化:(或者./sbin/start-all.sh)

./bin/hdfs namenode -format

./sbin/start-dfs.sh

./sbin/start-yarn.sh

./sbin/mr-jobhistory-daemon.sh start historyserver

验证./bin/hdfs dfsadmin -report

查看hadoop里的数据 ./bin/hadoop fs -ls /

1. hdfs文件系统命令

1.1 文件路径增删改查系列:

hdfs dfs -mkdir dir 创建文件夹

hdfs dfs -rmr dir 删除文件夹dir

hdfs dfs -ls 查看目录文件信息

hdfs dfs -lsr 递归查看文件目录信息

hdfs dfs -stat path 返回指定路径的信息

1.2 空间大小查看系列命令:

hdfs dfs -du -h dir 按照适合阅读的形式人性化显示文件大小

hdfs dfs -dus uri 递归显示目标文件的大小

hdfs dfs -du path/file显示目标文件file的大小

1.3 权限管理类:

hdfs dfs -chgrp group path 改变文件所属组

hdfs dfs -chgrp -R /dir 递归更改dir目录的所属组

hdfs dfs -chmod [-R] 权限 -path 改变文件的权限

hdfs dfs -chown owner[-group] /dir 改变文件的所有者

hdfs dfs -chown -R owner[-group] /dir 递归更改dir目录的所属用户

1.4 文件操作(上传下载复制)系列:

hdfs dfs -touchz a.txt 创建长度为0的空文件a.txt

hdfs dfs -rm file 删除文件file

hdfs dfs -put file dir 向dir文件上传file文件

hdfs dfs -put filea dir/fileb 向dir上传文件filea并且把filea改名为fileb

hdfs dfs -get file dir 下载file到本地文件夹

hdfs dfs -getmerge hdfs://Master:9000/data/SogouResult.txt CombinedResult 把hdfs里面的多个文件合并成一个文件,合并后文件位于本地系统

hdfs dfs -cat file 查看文件file

hdfs fs -text /dir/a.txt 如果文件是文本格式,相当于cat,如果文件是压缩格式,则会先解压,再查看

hdfs fs -tail /dir/a.txt查看dir目录下面a.txt文件的最后1000字节

hdfs dfs -copyFromLocal localsrc path 从本地复制文件

hdfs dfs -copyToLocal /hdfs/a.txt /local/a.txt 从hdfs拷贝到本地

hdfs dfs -copyFromLocal /dir/source /dir/target 把文件从原路径拷贝到目标路径

hdfs dfs -mv /path/a.txt /path/b.txt 把文件从a目录移动到b目录,可用于回收站恢复文件

1.5 判断系列:

hdfs fs -test -e /dir/a.txt 判断文件是否存在,正0负1

hdfs fs -test -d /dir 判断dir是否为目录,正0负1

hdfs fs -test -z /dir/a.txt 判断文件是否为空,正0负1

1.6 系统功能管理类:

hdfs dfs -expunge 清空回收站

hdfs dfsadmin -safemode enter 进入安全模式

hdfs dfsadmin -sfaemode leave 离开安全模式

hdfs dfsadmin -decommission datanodename 关闭某个datanode节点

hdfs dfsadmin -finalizeUpgrade 终结升级操作

hdfs dfsadmin -upgradeProcess status 查看升级操作状态

hdfs version 查看hdfs版本

hdfs daemonlog -getlevel host:port 打印运行在host:port的守护进程的日志级别

hdfs daemonlog -setlevel host:port 设置运行在host:port的守护进程的日志级别

hdfs dfs -setrep -w 副本数 -R path 设置文件的副本数