hdfs命令

初学hadoop之linux系统操作的hdfs的常用命令

♀尐吖头ヾ 提交于 2020-03-05 20:51:58
在对linux的一般操作有 ls mikdir rmdir vi 等操作 在对hadoop的hdfs的一般操作语法为hadoop fs -ls / /**表示查看Hadoop跟目录文件**/ hadoop fs -lsr / /***递归查看hadoop的文件目录**/ hadoop fs -mkdir /dl /**表示在hdfs的根目录下创建了一个的d1的文件夹**/e hadoop的hdfs一般创建文件操作很少,在linux上传较多 语法为: hadoop fs -put linux文件路径(也是要上传文件的路径) 空格 hadoop的hdfs的路径 例如,把linux下root下install.log文件上传的hadoop的hdfs的d1目录下 命令操作位 hadoop fs -put /root/install.log /d1 在上传文件时注意: 当你上传文件到hadoop的hdfs文件目录不存在的时候,hdfs会将你上传的文件名改为该文件 夹的名称t hdfs上传文件如果存在会提示,可以该文件名上传 下载操作就是把-put 换成-get,源文件路径,目的地路径,此时原文件为hdfs了,目的地 是linux了,语法与-put一样,只是原文和目的地互换了i1 hdfs 查看文件语法 hadoop fs -text /d1/adc

HDFS 小文件的解决思路

笑着哭i 提交于 2020-03-02 18:03:01
我们知道,HDFS 被设计成存储大规模的数据集,我们可以在 HDFS 上存储 TB 甚至 PB 级别的海量数据。而这些数据的元数据(比如文件由哪些块组成、这些块分别存储在哪些节点上)全部都是由 NameNode 节点维护,为了达到高效的访问,NameNode 在启动的时候会将这些元数据全部加载到内存中。而 HDFS 中的每一个文件、目录以及文件块,在 NameNode 内存都会有记录,每一条信息大约占用150字节的内存空间。由此可见,HDFS 上存在大量的小文件( 这里说的小文件是指文件大小要比一个 HDFS 块大小(在 Hadoop1.x 的时候默认块大小64M,可以通过 dfs.blocksize 来设置;但是到了 Hadoop 2.x 的时候默认块大小为128MB了,可以通过 dfs.block.size 设置) 小得多的文件。 ) 至少会产生以下几个负面影响: 大量小文件的存在势必占用大量的 NameNode 内存,从而影响 HDFS 的横向扩展能力。 另一方面,如果我们使用 MapReduce 任务来处理这些小文件,因为每个 Map 会处理一个 HDFS 块;这会导致程序启动大量的 Map 来处理这些小文件,虽然这些小文件总的大小并非很大,却占用了集群的大量资源! 以上两个负面影响都不是我们想看见的。那么这么多的小文件一般在什么情况下产生?我在这里归纳为以下几种情况:

hive学习(十)------hive运行方式

ⅰ亾dé卋堺 提交于 2020-03-02 14:58:10
1. 命令行运行 2. 脚本运行 3. jdbc运行 4. 图形接口GUI 1.命令行方式运行 这种运行方式需要一台服务器启动 hive --service meta store 服务 另一台服务器启动 hive 注意:这种运行方式可以直接访问hdfs文件系统和本地文件系统。比外面单独访问hdfs速度更快。(由于在启动hive时,hive就和hdfs文件系统建立了连接)。在访问hdfs时,以dfs 为开头,访问本地文件系统时,以!命令 的方式访问 hdfs dfs 的参数 Usage: hadoop fs [generic options] [ - appendToFile <localsrc> . . . <dst> ] [ - cat [ - ignoreCrc ] <src> . . . ] [ - checksum <src> . . . ] [ - chgrp [ - R ] GROUP PATH . . . ] [ - chmod [ - R ] <MODE [ , MODE ] . . . | OCTALMODE> PATH . . . ] [ - chown [ - R ] [OWNER] [ : [GROUP] ] PATH . . . ] [ - copyFromLocal [ - f ] [ - p ] [ - l ] <localsrc> . . .

HDFS的API操作

北城余情 提交于 2020-03-02 13:20:30
大家好, 我是上白书妖! 知识源于积累,登峰造极源于自律 今天我根据以前所以学的一些文献,笔记等资料整理出一些小知识点,有不当之处,欢迎各位斧正 package com . alibaba . hdfs ; import org . apache . hadoop . conf . Configuration ; import org . apache . hadoop . fs . * ; import org . junit . Test ; import java . io . File ; import java . io . IOException ; import java . net . URI ; import java . net . URISyntaxException ; /** * @author 上白书妖 * @date 2020/2/26 21:48 * @Desription:获取客户端的连接对象,操作hadoop集群 * */ public class HdfsClient { /* 创建目录 */ @Test public void testMkdirs ( ) throws IOException , InterruptedException , URISyntaxException { // 1 获取文件系统 Configuration

Hadoop Shell命令官网翻译

前提是你 提交于 2020-03-01 03:42:37
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/FileSystemShell.html#Overview FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是 scheme://authority/path 。对HDFS文件系统,scheme是 hdfs ,对本地文件系统,scheme是 file 。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如 /parent/child 可以表示成 hdfs://namenode:namenodeport/parent/child ,或者更简单的 /parent/child (假设你配置文件中的默认值是 namenode:namenodeport )。大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到 stderr ,其他信息输出到 stdout 。 appendToFile Usage: hdfs dfs -appendToFile <localsrc> ...

大数据-hadoop生态之-HDFS

落花浮王杯 提交于 2020-02-29 07:02:48
一、HDFS初识 hdfs的概念:   HDFS,它是一个文件系统,用于存储文件,通过目录树定位文件,其次,他是分布式的,由很多服务器联合起来 实现功能,集群中的服务器各有各自的角色 HDFS设计适合一次写入,多次读出的场景,且不支持文件的修改,适合用来做数据分析,并不适合做网盘等应用 HDFS的组成:   HDFS集群包括,NameNode和DataNode以及Secondary NameNode NameNode负责管理整个文件系统的元数据,以及每一个路径(文件) 所对应的数据块信息 DataNode负责管理用户的文件数据块,每一个数据块可以在多个NameNode上存储多副本 SecondNameNode 用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照 HDFS的快比磁盘块大的原因: 目的是为了最小寻址开销 寻址时间为传输时间的1%时,则为最佳状态。 hdfs-默认Block块大小是128M hadoop2.0以下默认块是64M,通过hdfs的web端 可以看到数据块的BlockId 和 当前数据分为多少个Block 例如2G的数据, 会分成16个Block块. 而且如果最后一个块分配不满的话,会动态伸缩 不会固定占用128M 二、当一个DataNode进程挂掉,数据还会继续同步吗? 会的hdfs-client会报错,但是数据会继续上传,

FSEditLog: Error: starting log segment 7913 failed for required journal

。_饼干妹妹 提交于 2020-02-28 14:39:29
一台namenode挂掉,另外一台高可用没起起来,journal报错, 解决办法: 1,其实在实际的生产环境中,也很容易发生类似的这种超时情况,所以我们需要把默认的20s超时改成更大的值,比如60s。 我们可以在hadoop/etc/hadoop下的hdfs-site.xml中,加入一组配置: <property> <name>dfs.qjournal.write-txns.timeout.ms</name> <value>60000</value> </property> 2,把zkfailovercontroller去掉,改为手动切换主备nameserver. 修改参数dfs.ha.automatic-failover.enabled=false 当需要切换主备时,使用Hdfs用户(su hdfs), 执行命令hdfs haadmin -failover --forcefence --forceactive nn2 nn1 切换之前同步主备的fsimage和editlog 来源: CSDN 作者: cs123chai 链接: https://blog.csdn.net/u011574074/article/details/104550616

Hadoop 2.2 YARN分布式集群搭建配置流程

人盡茶涼 提交于 2020-02-27 01:09:19
搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoop2.2下载地址: http://www.apache.org/dyn/closer.cgi/hadoop/common/ 步骤一:上传Hadoop 2.2 并解压到/export/yarn/hadoop-2.2.0 外层的启动脚本在sbin目录 内层的被调用脚本在bin目录 Native的so文件都在lib/native目录 配置程序文件都放置在libexec 配置文件都在etc目录,对应以前版本的conf目录 所有的jar包都在share/hadoop目录下面 步骤二:配置环境变量    在~/.bashrc文件中添加以下配置: export JAVA_HOME=/export/servers/jdk1.6.0_25/ export HADOOP_DEV_HOME=/export/yarn/hadoop-2.2.0 export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME} export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME} export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}

ubuntu 16.0安装 hadoop2.8.3

拥有回忆 提交于 2020-02-27 01:01:23
环境:ubuntu 16.0 需要软件:jdk ssh https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 2.8.3 安装 jdk并配置环境变量 安装ssh和rshync,主要设置免密登录 sudo apt-get install ssh sudo apt-get install rshync sh-keygen -t dsa - P '' -f ~ /.ssh/id_dsa cat ~ /.ssh/id_dsa.pub >> ~ /.ssh/authorized_keys ssh 安装hadoop root@hett-virtual-machine:/usr/local/hadoop# tar -xzvf /home/hett/Downloads/hadoop-2.8.3.tar.gz root@hett-virtual-machine:/usr/local/hadoop# mv hadoop-2.8.3 hadoop root@hett-virtual-machine:/usr/local# cd hadoop/ root@hett-virtual-machine:/usr/local/hadoop# mkdir tmp root@hett-virtual-machine:/usr/local/hadoop#

Hadoop学习笔记02

╄→尐↘猪︶ㄣ 提交于 2020-02-25 10:58:03
hdfs的shell操作 hadoop fs -操作命令 -参数 -ls #显示目录信息 -copyFromLocal #从本地文件系统中拷贝文件到hdfs路径 -copyToLocal #从hdfs中拷贝到本地文件系统 -put #等同于copyFromLocal -get #等同于copyToLocal -getmerge #合并下载多个文件 -moveFromLocal #类似剪切,本地->hdfs -moveToLocal #类似剪切,hdfs->本地 -cp #拷贝 hdfs->hdfs -mv #移动hdfs->hdfs -mkdir #在hdfs上创建文件夹 -rm #删除文件或文件夹 -rmdir #删除空目录 -cat #显示文件内容 hdfs运行机制 文件系统 hdfs有一个统一的命名空间,客户端访问hdfs文件时就是通过指定目录树中路径来访问 分布式 hdfs文件都是分块(block)存储的,其大小可通过dfs.blocksize来规定,hadoop2.x默认128M,老版本64M block分布在各个datanode服务节点上,并且可以存储多个副本(通过dfs.replication配置) namenode负责维护目录树,以及每个文件对应的block信息 hdfs适用于一次写入,多次读出,不支持文件的修改 hdfs的Java操作 导包 public