基本命令

/usr/local/hadoop/bin/hadoop fs -ls /

/usr/local/hadoop/bin/hadoop fs -mkdir /test           # 创建目录
/usr/local/hadoop/bin/hadoop fs -touchz /test.txt # 创建文本 /usr/local/hadoop/bin/hadoop fs -put localfile /test # 上传文件
/usr/local/hadoop/bin/hadoop fs -get /test # 下载文件

统计词频

# 创建文件夹
/usr/local/hadoop/bin/hadoop fs -mkdir /input # 上传要分析的文件
/usr/local/hadoop/bin/hadoop fs -put *.txt /input # 提交分析作业
/usr/local/hadoop/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /input /output # 查看结果
/usr/local/hadoop/bin/hadoop fs -cat /output/*

增加节点

--启动新系统,禁用selinux  firewall

--设置SSH免密登陆

--在所有节点修改/etc/hosts,增加新节点的主机信息

ansible all -m shell -a 'echo "192.168.1.15 new" >> /etc/hosts'

--安装java运行环境

 yum -y install java-1.8.0-openjdk-devel

--拷贝NameNode的/usr/local/hadoop

[root@nn01 hadoop]# rsync -aSH --delete /usr/local/hadoop new:/usr/local/

--修改NameNode的slaves文件增加该节点

--在该节点启动DataNode

/usr/local/hadoop/sbin/hadoop-daemon.sh start datanode

--设置同步带宽并同步数据

/usr/local/hadoop/bin/hdfs dfsadmin -setBalancerBandwidth 60000000
/usr/local/hadoop/sbin/start-balancer.sh

--查看集群状态

/usr/local/hadoop/bin/hdfs dfsadmin -report

修复节点,与增加节点基本一致,新节点的ip和主机名要与损坏节点的一致

  启动服务/usr/local/hadoop/sbin/hadoop-daemon.sh start datanode

  数据恢复是自动的

删除节点

配置NameNode的/usr/local/hadoop/etc/hadoop/hdfs-site.xml,增加以下配置

        <property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/etc/hadoop/exclude</value>
</property>

增加exclude配置文件NameNode的/usr/local/hadoop/etc/hadoop/exclude,写入要删除的节点主机名

修改配置文件/usr/local/hadoop/etc/hadoop/slaves, 去掉要删除的节点主机名

导出数据

/usr/local/hadoop/bin/hdfs dfsadmin -refreshNodes

/usr/local/hadoop/bin/hdfs dfsadmin -report   # 删除的节点处于Decommissioned状态

停止datanode

/usr/local/hadoop/sbin/hadoop-daemon.sh stop datanode      

yarn节点管理  

# 增加节点
/usr/local/hadoop/sbin/yarn-daemon.sh start nodemanager
# 删除节点
/usr/local/hadoop/sbin/yarn-daemon.sh stop nodemanager
# 查看节点
/usr/local/hadoop/bin/yarn node -list

NFS网关

停止集群

/usr/local/hadoop/sbin/stop-all.sh

在nameNode和nfsgw上添加用户

[root@nn01 hadoop]# groupadd -g 800 nfsuser
[root@nn01 hadoop]# useradd -g 800 -u 800 nfsuser

hdfs授权,配置/usr/local/hadoop/etc/hadoop/core-site.xml,并同步配置至所有node节点

        <property>
<name>hadoop.proxyuser.nfsuser.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.nfsuser.hosts</name>
<value>*</value>
</property> # 同步

 rsync -aSH --delete /usr/local/hadoop/etc node1:/usr/local/hadoop/

启动服务

/usr/local/hadoop/sbin/start-dfs.sh

配置NFSGW

--启动新系统,禁用selinux、firewall

--卸载rpcbind、nfs-utils

--配置/etc/hosts,添加所有的NameNode和DataNode的主机名与ip对应关系

--安装java运行环境

 yum -y install java-1.8.0-openjdk-devel

--同步NameNode的/usr/local/hadoop到本机

[root@nfsgw ~]# rsync -aSH --delete nn01:/usr/local/hadoop /usr/local/

--配置/usr/local/hadoop/etc/hadoop/hdfs-site.xml

        <property>
<name>nfs.exports.allowed.hosts</name>
<value>* rw</value>
</property>
<property>
<name>nfs.dump.dir</name>
<value>/var/nfstmp</value>
</property>

--启动与挂载

  ***先rpcbind,再启动nfs3

  ***启动rpcbind服务必须使用root用户

  ***启动nfs3服务必须使用nfsuser用户

  ***nfsuser对/var/nfstmp、/usr/local/hadoop/logs有读写权

[root@nfsgw hadoop]# chown nfsuser.nfsuser /var/nfstmp
[root@nfsgw hadoop]# setfacl -m nfsuser:rwx logs/
/usr/local/hadoop/sbin/hadoop-daemon.sh --script ./bin/hdfs start portmap

[root@nfsgw hadoop]# su - nfsuser
/usr/local/hadoop/sbin/hadoop-daemon.sh --script ./bin/hdfs start nfs3

--客户端挂载

# 安装nfs
yum -y install nfs-utils # 挂载
mount -t nfs -o proto=tcp,nolock,noatime,sync 192.168.1.25:/ /mnt/

hdfs基本使用的更多相关文章

  1. hadoop 2.7.3本地环境运行官方wordcount-基于HDFS

    接上篇<hadoop 2.7.3本地环境运行官方wordcount>.继续在本地模式下测试,本次使用hdfs. 2 本地模式使用fs计数wodcount 上面是直接使用的是linux的文件 ...

  2. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  3. python基础操作以及hdfs操作

    目录 前言 基础操作 hdfs操作 总结 一.前言        作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路, ...

  4. C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。

    一.Hadoop环境配置概述 三台虚拟机,操作系统为:Ubuntu 16.04. Hadoop版本:2.7.2 NameNode:192.168.72.132 DataNode:192.168.72. ...

  5. HDFS的架构

    主从结构 主节点,只有一个: namenode 从节点,有很多个: datanodes 在版本1中,主节点只有一个,在 版本2中主节点有两个. namenode 负责(管理): 接收用户操作请求 维护 ...

  6. hdfs以及hbase动态增加和删除节点

    一个知乎上的问题:Hbase的Region server和hadoop的datanode是否可以部署在一台服务器上?如果是的话,二者是否是一对一的关系?部署在同一台服务器上,可以减少数据跨网络传输的流 ...

  7. hadoop程序问题:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///

    Java代码如下: FileSystem fs = FileSystem.get(conf); in = fs.open(new Path("hdfs://192.168.130.54:19 ...

  8. 01 HDFS 简介

    01.HDFS简介 大纲: hadoop2 介绍 HDFS概述 HDFS读写流程 hadoop2介绍 框架的核心设计是HDFS(存储),mapReduce(分布式计算),YARN(资源管理),为海量的 ...

  9. 何为HDFS?

    该文来自百度百科,自我收藏. Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时, ...

  10. Flume(4)实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式

    一.概述: 在实际的生产环境中,一般都会遇到将web服务器比如tomcat.Apache等中产生的日志倒入到HDFS中供分析使用的需求.这里的配置方式就是实现上述需求. 二.配置文件: #agent1 ...

随机推荐

  1. Java基础部分 2

    一. Java基础部分 2 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2 2.Java有没有goto? 2 3.说说&和&&am ...

  2. 二叉查找树 & B(B-)树 & B+树 & B*树

    一 二叉查找树 1 特点 (1)所有非叶子结点至多拥有两个子节点, left和right (2)一个结点存储一个关键字 (3)非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树 2 ...

  3. IT学习的计算机网络内容

    1.一种结构:数据结构 参考书目:<大话数据结构>.<数据结构(C#语言描述)>.<剑指Offer> ①线性表部分: 线性表(上){ 数组.ArrayList } ...

  4. php7和PHP5对比的新特性和性能优化

    1  抽象语法树( AST) 1)在 PHP5中,从 php 脚本到 opcodes 的执行的过程是: Lexing:词法扫描分析,将源文件转换成 token 流:    Parsing:语法分析,在 ...

  5. Timezone offset does not match system offset: 0 != -32400. Please, check your config files

    apscheduler使用uWSGI的mule模块部署的时候报错, 因为系统时区和代码运行时区不一样导致. 解决办法:在初始化的时候指定上海的时区 scheduler = BlockingSchedu ...

  6. 2-MySQL DBA笔记-MySQL安装部署和入门

    第2章 MySQL安装部署和入门 第1章介绍了MySQL的一些基础知识,本章将为读者介绍MySQL的部署.安装及一些常用命令和参数的设置.2.1 如何选择MySQL版本 在选择MySQL的版本时,要根 ...

  7. git diff 的简单使用(比较版本区别)

    假如我们修改viewMail.vue 文件(部分代码) 从 //根据ID获取详情 getById () { let that = this; this.viewMailModal = true; th ...

  8. 前端vue项目执行npm install 报错cd() never called()

    前端我刚开始接触Vue,从GitHub上下载了代码程序,但缺少一些插件,用vscode打开并下载插件执行报错cd() never called! 解决的方式 1.执行cmd命令行不要再vscode里执 ...

  9. QT调用CHM方法

    QDesktopServices desktopServices;QString strUrl=QCoreApplication::applicationDirPath () ;strUrl=QStr ...

  10. div 清除浮动的四种方法

    概述:为了解决父级元素因为子级内部高度为0的问题 (很多情况 不方便给父级元素高,因为不知道有多少内容,让里面的盒子自动撑起高度),清除浮动本质叫闭合浮动更好一些,清除浮动就是把浮动的盒子关到里面,让 ...