基本命令

/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. Windows 与 linux文件相互传输的方法

    公司里面办公机器大部分都是 windows 但是现在随着云计算.docker.linux等的越来越兴起,需要大量的操作linux服务器. 最重要和最直接的需要将windows 上面的文件上传到 lin ...

  2. [转]史上最最最详细的手写Promise教程

    我们工作中免不了运用promise用来解决异步回调问题.平时用的很多库或者插件都运用了promise 例如axios.fetch等等.但是你知道promise是咋写出来的呢? 别怕-这里有本promi ...

  3. Oracle的查询-多表查询中的一些概念

    --笛卡尔积 select * from emp e,dept d; --等值连接 select * from emp e,dept d where e.deptno=d.deptno --内连接 s ...

  4. 记一次INFA抽取数据报 WRT_8165 - TIMEOUT_BASED_COMMIT_POINT错误

    今天抽取数据报1千多W的数据报错 powercenter workflow卡死不动,也没报错就显示 timeout based commit point  WRT_8165 - TIMEOUT_BAS ...

  5. thinkphp5.1路由设置小计

    route下定义路由路径,如果是这种情况 'product'=>'home/product/index',//产品信息首页 'product/list'=>'home/product/li ...

  6. 【第二季】CH11_ ZYNQ软硬调试高级技巧

    [第二季]CH11_ ZYNQ软硬调试高级技巧 软件和硬件的完美结合才是SOC的优势和长处,那么开发ZYNQ就需要掌握软件和硬件开发的调试技巧,这样才能同时分析软件或者硬件的运行情况,找到问题,最终解 ...

  7. Linux:删除一个目录下的所有文件,但保留一个指定文件

    面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件 [root@oldboy xx]# touc ...

  8. Windows 编程 键盘

    键盘对于大家来说可能再也熟悉不过了,它和鼠标是现在最常用的电脑输入设备.虽然在现在的图形界面操作系统下使用鼠标比使用键盘更方便.更广泛,但是鼠标还是一时半会儿取代不了它的老前辈——键盘的地位,尤其是在 ...

  9. jquery model 框设定

    https://www.bootcdn.cn/   国内网址引用 js function searchItemInfo(conditionNo,lotCD,itemKey) { var conditi ...

  10. js之数据类型(对象类型——构造器对象——日期)

    Date对象是js语言中内置的数据类型,用于提供日期与时间的相关操作.学习它之前我们先了解一下什么是GMT,什么时UTC等相关的知识. GMT: 格林尼治标准时间(Greenwich Mean Tim ...