基本命令

/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. [转帖]四个修改Docker默认存储位置的方法

    四个修改Docker默认存储位置的方法 https://blog.51cto.com/forangela/1949947 易改乾坤关注0人评论27435人阅读2017-07-22 09:18:48   ...

  2. Linux上面mount 域控的目录 超时 然后提示 error的解决办法

    mount error(112): Host is down 故障解决 https://blog.csdn.net/lepton126/article/details/89447713 之前查到过 这 ...

  3. Python之random.seed()用法

    import random # 随机数不一样 random.seed() print('随机数1:',random.random()) random.seed() print('随机数2:',rand ...

  4. Java打包

    打成jar包 如果你使用的是maven来管理项目,执行以下命令既可以 cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令## 排除测试代码后进行打包mv ...

  5. 【USB】struct usb_device_id 结构体详解

    struct usb_device_id { /* which fields to match against? */ __u16 match_flags; //说明使用哪种匹配方式 /* Used ...

  6. Delphi编译器属性(特别修饰符Ref,Unsafe,Volatile,Weak)

    1 Refdelphi中常量参数就像一个本地常量,或者说只读变量.常量参数与值参数类似,除了不能在过程或函数体内给常量参数赋值,并且不能将常量参数传给另一个var类型参数.(但是,如果你常量参数传递的 ...

  7. 怎样获取所有style节点

    通过 document.styleSheets 获取所有的样式表节点. document.styleSheets instanceof StyleSheetList; // true 注意: 1. 返 ...

  8. JAVA对ArrayList排序

    ava如何对ArrayList中对象按照该对象某属性排序 增加排序功能,打印时:输出学生对象的时候,需要先按照年龄排序,如果年龄相同,则按照姓名排序,如果姓名也相同,则按照学号排序. Code hig ...

  9. 第一章、前端之html

    目录 第一章.前端之html 一. html介绍 第一章.前端之html 一. html介绍 web服务本质 import socket sk = socket.socket() sk.bind((& ...

  10. Django—views系统:views基础

    Django的View(视图)简介 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错 ...