基本命令

/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. MYSQL SHOW 用法

    1.SHOW CHARACTER SET 显示所有可用的字符集 mysql> SHOW CHARACTER SET LIKE 'utf8'; +---------+--------------- ...

  2. Ember.js和Vue.js,哪种框架更适合你?

    JavaScript最初是为Web应用程序而创建的.随着前端技术的发展,比起纯JavaScript 脚本,大多数开发人员更喜欢使用基于JavaScript的框架来开发Web应用,如Vue.React等 ...

  3. DOS命令学习

    DOS命令学习 一.DOS使用常识 DOS的概况 DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统,就连眼下流行的Windows9x/ME系统都是以它为基础. 常 ...

  4. Centos7 添加开机启动服务

    1.在/usr/lib/systemd/system/下创建服务脚本xxx.service,格式如下: [Unit] Description=Scrapyd After=syslog.target n ...

  5. dubbo分布式服务框架-study2

    本文开始对springboot+dubbo集成,使用的版本为springboot 2.0.0.dubbo 2.0.0,步骤如下: 1.添加依赖: <dependency> <grou ...

  6. Python中几个必须知道的函数

    Python中自带了几个比较有意思的函数,一般在面试或者笔试基础的时候会问到,其中3个就是map.filter.reduce函数. 1.map(function, iterable) 它第一个要传的元 ...

  7. FGL内置函数大全

    内置功能摘要: 内置的功能是什么?内置的功能列表支持的功能列表键代码表另请参阅:效用函数,变量,函数,操作符,内置类. ---------------------------------------- ...

  8. Istio技术与实践01: 源码解析之Pilot多云平台服务发现机制

    服务模型 首先,Istio作为一个(微)服务治理的平台,和其他的微服务模型一样也提供了Service,ServiceInstance这样抽象服务模型.如Service的定义中所表达的,一个服务有一个全 ...

  9. Scala学习十四——模式匹配和样例类

    一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你 ...

  10. 关于Mybatis的几件小事(一)

    一.Mybatis简介 1.Mybatis简介 MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架. MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集. M ...