hadoop fs命令无法使用_「大数据」「Hadoop」HDFS的配置与管理
HDFS(Hadoop Distributed File System)是Hadoop三个基础组件之一,为另外的组件以及大数据生态中的其他组件提供了最基本的存储功能,具有高容错、高可靠、可扩展、高吞吐率等特点。HDFS运行在java环境中,因此我们都需要安装JDK。安装完成之后是一个分布式网络文件系统,需要多节点协同组成Master/Slave模式。
安装
Hadoop版本的历史是2011年1.0+版,2012年2.0+可用,目前最新已经是3.0在2017年就发布了。安装包中包括了HDFS与Yarn组件,以及MapReduce计算框架,还有其他的基础工具包和 RPC 框架。
- 下载安装包,可以在官网https://hadoop.apache.org/releases.html,国内也有镜像。然后解压到一个目录。
- 安装JDK,新版的需要JDK1.8及以上。yum -y install jdk。
- JDK依赖配置,配置etc/hadoop/hadoop-env.sh文件的JAVA_HOME,默认是export JAVA_HOME=${JAVA_HOME}。/etc/profile中再加export JAVA_HOME=/usr/lib/jvm/java.xxx。
- Hadoop执行环境配置,将hadoop/bin和sbin加入到path中,/etc/profile中加:
export HADOOP_HOME=/usr/local/hadoop-xxxexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
配置
Hadoop部署方式分三种,Standalone mode(本地单独模式)、Pseudo-Distributed mode(伪分布模式)、Cluster mode(集群模式),其中前两种都是在单机部署,都是分别是开发与测试用途,生产环境使用集群模式。后面两种模式中包括的组件进程有:HDFS daemon的 NameNode(包括Sercondary NameNodes) 和 DataNode、YARN daemon的 ResourceManger 和 NodeManager,分别启动单独的java进程。
Hadoop解压并配置好环境之后,修改各配置文件。配置文件都是xml,所以都是这样子的:
keyvalue
hdfs-site.xml 全局参数,主要是NameNode来读取的配置,文件目录等。
- hadoop.tmp.dir,默认是/tmp,生产需要修改。
- fs.default.name,文件系统的名字。通常是NameNode的hostname与port。如:hdfs://:9000/ 。(单一NameNode,配置fs.default.name,有HA的配置fs.defaultFS)
- 日志:hadoop.logfile.size与hadoop.logfile.count,fs.trash.interval回收站清空时间,io.file.buffer.size读写缓存。
hdfs-site.xml HDFS的核心配置文件,副本数,数据存储目录等。
- dfs.name.dir,NameNode 元数据存放位置, 默认值:${hadoop.tmp.dir}/dfs/name。
- dfs.data.dir,DataNode 在本地磁盘存放block的位置,可多个,默认值:${hadoop.tmp.dir}/dfs/data。
- dfs.replication,DataNode上设置的副本份数,默认是3份,客户端也可以指定。
- dfs.block.size,数据块大小,单位byte。默认是67108864(64M),建议是128M。
- dfs.http.address,NameNode web管理地址与端口,默认9870。
etc/hadoop/slaves DataNode上读取的所有的slave的名称或IP,每行存放一个。
启动及异常处理
HDFS启动会独立NameNode、Sercondary NameNodes 和 DataNode 这三个进程。
- 生效环境配置变量:etc/hadoop/hadoop-env.sh
- 启动,sbin/start-dfs.sh
- 访问控制台,http://localhost:9870/,注意3.0版本的端口与之前不同。

遇到的常见异常及处理:
- 报用户问题Attempting to operate on hdfs namenode as root,hadoop-env.sh中加启动用户
export HDFS_NAMENODE_USER="root"export HDFS_DATANODE_USER="root"export HDFS_SECONDARYNAMENODE_USER="root"export YARN_RESOURCEMANAGER_USER="root"export YARN_NODEMANAGER_USER="root"
- 大量的command not found,先要hdfs namenode -format,再直接 start-all.sh启动,不能加sh。
- 报localhost: Permission denied,ssh问题,生成并注册一下这个ssh key即可。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- localhost:9870/访问失败,关闭防火墙或配置hdfs-site.xml中的dfs.http.address为0.0.0.0:9870 。如有服务端口访问不到的,都可以检查一下IP是否是0.0.0.0。
文件系统的使用
命令hadoop fs-help可以获取所有的基本的文件系统操作命令。如,hadoop fs -ls、-fsck等和hdfs dfs -ls、-mkdir、-cp等等。
访问http://localhost:9864/可以查看datanode节点上文件的占用情况等。

各组件端口

相关文章:

Oracle 触发器 Update 不能操作本表的疑问
今天要解决一个需求,类似表A有个字段叫flag存储的是0 or 1 ,当一行记录更改为1的时候,其他行同字段要变为0。 这样的需求第一个思路想尝试下能否用触发器来实现 create or replace trigger tr_equiptreeweatherstation before UPDATE ON con…

前景检测算法_3(GMM)
摘要 本文通过opencv来实现一种前景检测算法——GMM,算法采用的思想来自论文[1][2][4]。在进行前景检测前,先对背景进行训练,对图像中每个背景采用一个混合高斯模型进行模拟,每个背景的混合高斯的个数可以自适应。然后在测试阶段&…

ADO.Net五个对象
Connection Command DataAdapter DataSet DataReader 取5个单词的首字母CCDDD,在拼音输入法里面打一下,出来5个字,然后就记忆为曹操打豆豆。 制作了一张图片,用来帮助记忆曹操打豆豆。 Reference ADO.NET的五大对象转载于:ht…
XPath与多线程爬虫
一. Xpath的介绍与配置 1. XPath是什么 XPath是一门语言 XPath可以在XML文档中查找信息 XPath支持HTML XPath通过元素和属性进行导航 总结: XPath可以用来提取信息(和正则表达式类似) XPath比正则表达式更加厉害 XPath比正则表…

html无序列表空心圆_列表样式的使用CSS入门基础(018)
今天我们分享关于列表样式的内容。列表项list-sytle-type:在HTML学习中,我们知道有有序列表和无序列表,都是使用type属性来定义的。1、有序列表有序列表 有序列表 有序列表 属性值type:1,数字1、2、3……;…

2013年3月百度之星B题
Sigma Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Problem Description 小H是一个程序员。他很喜欢做各种各样的数学题,尤其喜欢做《水泥数学》。 在看了《水泥数学》的2.5章后,小H终于会用9种计算 1^22^2...n^…

TCP/IP 10.1集成IS-IS协议
樱桃小小的 软软的甜甜的好吃哈!感谢上帝 , 恩呢 , 让我吃的这么满足,开心!第十章 集成IS-IS协议建议在学习ISIS的时候联系2个<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office"…

运维基础-文件权限管理
Linux是一个多用户操作系统,在多用户操作系统上我们需要一种方法来允许或者拒绝访问特定的文件和目录。文件有所属人和相关的单个组。我们可以设置所属人或者租的权限,以及所有其他人的权限。 文件只具有三个应用权限的用户类别。文件的所有者࿰…

android帧动画实现方法之一
好多动画离不开帧动画的使用,下面就实现帧动画的制作方式之一,以后会推出其他方法。 上面是文件存放位置。 a.xml文件的代码如下: <?xml version"1.0" encoding"utf-8"?> <animation-list xmlns:android"…

python技术晨讲_python系列教程14
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家!好了,是开始…

三字母词和转义字符
1. 三字母词 在C语言中有一种三字母词的说法,trigraph sequences,目前为止有九种三字母词,如下 ?? # ??) ] ??! | ??( [ …

写了个Python脚本监控nginx进程
写了个Python脚本监控nginx进程 Xiaoxia[PG]写了个Python脚本监控nginx进程接上一文用iptables让SSH服务对陌生人说不。还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案。view pla…

Linux shell 脚本报错:/bin/bash^M: bad interpreter: No such file or directory
今天遇到一个很诡异的问题,一直运行很正常的shell脚本失败了,只是昨天增加了一个参数而已。 报错信息: /bin/bash^M: bad interpreter: No such file or directory 后来发现root cause, 昨天修改文件的时候在windows中修改保存,然…

C语言volatile关键字详解
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值&#…

python储存数据的容器_Python基础四容器类数据
一、上周内容回顾int bool str 之间的互相转换int str:str(int)int(str) #字符串必须是数字组成int bool:bool(int):非零即TrueTrue --->1 Fasle --->0bool str:str-->bool #非空即Truestr:BIF自己去背吧二、列表why:1.取值费劲。2.对字符串…

Android 清单文件 详解
转载于:https://www.cnblogs.com/mohe/archive/2013/03/31/2991642.html

android屏幕分辨率详解 ldpi mdpi hdpi 程序UI自适应 《官方翻译》
2019独角兽企业重金招聘Python工程师标准>>> 看世界杯的空闲 时间,翻译一下 官方文档。分辨率 问题是大家都很关心的(720480会不会悲剧),而关于这个问题,android官方的文档无疑最有说服力。由于不是所有的人…

010 并发的三个特性
一 . 概述 在之前,我们使用synchronized关键词解决了原子性的操作,本节我们分析一个JVM内存模型导致的另外的两个问题. 二 . 可见性 为了加速线程的运行的速度,JVM的内存模型中设置了线程栈中的缓存,当一个线程使用了堆内存的数据的时候,首先会将这个数据缓存到线程栈之中, 当这…

LeetCode: Longest Consecutive Sequence
想到map了,可惜没想到用erase来节省空间,看了网上答案 1 class Solution {2 public:3 int longestConsecutive(vector<int> &num) {4 // Start typing your C/C solution below5 // DO NOT write int main() function6 …

python做测试书籍推荐_学习pytest应该观看的书籍?
这本书有中文版了pytest是动态编程语言Python专用的测试框架,它具有易于上手、功能强大、第三方插件丰富、效率高、可扩展性好、兼容性强等特点。《pytest测试实战》深入浅出地讲解了pytest的使用方法,尤其是具有特色的fixture的用法。作者通过丰富的测试…

路由器、路由与路由表
2019独角兽企业重金招聘Python工程师标准>>> 路由器、路由与路由表 路由器就是一台网络设备,它配备多个网络接口卡(NIC),能利用它的网络知识正确转发入口流量。 决定一个入口封包应当送给本地主机还是转发所需要的信息,以及在转发…

Hadoop虚拟机的jdk版本和本地eclipse的版本不一致怎么办
在本周学习Hadoop遇到了一个问题,困扰了半天,本人在安装Hadoop时是按照视频来的,结果发现Hadoop上的jdk版本和本地eclipse的版本不一致,导致本地的程序到处jar包传到虚拟机上运用Hadoop不能正常运行,如果你遇到相同的问…
操作符和表达式
一. 操作符 1. 算术操作符 - * / % 除了%之外其余的几个操作符既可以用于计算整型也可以用于计算浮点型数据,%只能计算整型数据,得到的结果是余数 2. 移位操作符 << 左移位操作符 >> 右移位操作符 <<左移…

kuayu react_react跨域解决方案
react跨域解决方案1.开发环境:reactaxioselement2.电脑系统:windows10专业版3.在使用react开发的过程中,我们总是会遇到跨域的问题,下面我来分享一下,在react中跨域处理方法!4.我使用的是axios向后台发送请求,安装axios:npm i axios --save5.安装代理中间件(http-proxy-middlew…

HDU 1429 胜利大逃亡(续) (BFS+位压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3309 Accepted Submission(s): 1063 Problem DescriptionIgnatius再次…

Ext fucionchart插件
http://code.google.com/p/uxmedia/downloads/list转载于:https://www.cnblogs.com/jerome-rong/archive/2012/06/09/2543565.html

前端 ----jQuery的动画效果
03-jQuery动画效果 jQuery提供的一组网页中常见的动画效果,这些动画是标准的、有规律的效果;同时还提供给我们了自定义动画的功能。 显示动画 方式一: $("div").show(); 解释:无参数,表示让指定的元素直接显…

结构和联合--结构体内存和位段内存开辟规则
一. 结构的基本知识 聚合数据类型能够存储多个数据,C语言提供了两种类型的聚合数据类型,数组和结构。数组是相同的数据,结构是不同类型的数据聚合。结构也是一些值得集合,这些值成为它的成员,每个结构都有它的名字&a…

antd自定义分页器_自定义分页器
classPagination(object):def __init__(self, current_page, all_count, per_page_num10, pager_count11):"""封装分页相关数据:param current_page: 当前页:param all_count: 数据库中的数据总条数:param per_page_num: 每页显示的数据条数:param pager_count:…

.net实现跨页面传值
//一般用于向php,jsp等传值,因为跨语言session等不能共用,只有通过post提交 //下面演示的是服务器端控件提交 PostBackUrl"WebForm3.aspx"//这个页面只需要修改控件属性就能把值传给下一页面 protected void Page_Load(object send…