该文由本人于网上查阅资料所得,如有错误希望帮忙评论指正谢谢。
-
hadoop fs:
FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file systems such as Local FS, HFTP FS, S3 FS, and others
意思是说该命令可以用于其他文件系统,不止是hdfs文件系统内,也就是说该命令的使用范围更广
-
hadoop dfs
专门针对hdfs分布式文件系统
-
hdfs dfs
和上面的命令作用相同,相比于上面的命令更为推荐,并且当使用hadoop dfs时内部会被转为hdfs dfs命令
该文由本人于网上查阅资料所得,如有错误希望帮忙评论指正谢谢。hadoop fs: FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file sys
当我们使用python的
hdfs
包进行上传和下载文件的时候,总会出现如下问题
requests.packages.urllib3.exceptions.NewConnectionError:: Failed to establish a new connection: [Errno -2] Name or service not known
其实这主要是由于没有将各个集群节点的ip映射到/etc/hosts文件中
修改/etc/host
hdfs
脚本中,关于
dfs
的操作,统一走了org.apache.
hadoop
.
fs
.
Fs
Shell这个类。这个代码在脚本第153行
elif [ "$COMMAND" = "
dfs
" ] ; then
CLASS=org.apache.
hadoop
.
fs
.
Fs
Shell
HADOOP
_OPTS="$
HADOOP
_OPTS $
HADOOP
_CLIENT_OPTS"d
这个类中的mai...
Usage:
hdfs
dfs
-appendToFile ...
追加一个或者多个文件到
hdfs
制定文件中.也可以从命令行读取输入.
·
hdfs
dfs
-appendToFile localfile /user/
hadoop
/
hadoop
file
·
hdfs
dfs
-appendToFile localfile1 localf
端口 作用
9000
fs
.default
FS
,如:
hdfs
://172.25.40.171:9000
9001
dfs
.namenode.rpc-address,DataNode会连接这个端口
50070
dfs
.namenode.http-address
50470
dfs
.namenode.https-address
50100
dfs
.namenode.backup.address
50105
dfs
.namenode.backup.http-address
50090
dfs
.namenode.secondary.http-address,如:172.25.39.166:50090
50091
dfs
.namenode.secondary.https-address,如:172.25.39.166:50091
50020
dfs
.datanode.ipc.address
50075
dfs
.datanode.http.address
50475
dfs
.datanode.https.address
50010
dfs
.datanode.address,DataNode的数据传输端口
8480
dfs
.journalnode.rpc-address
8481
dfs
.journalnode.https-address
8032 yarn.resourcemanager.address
先说一下环境,flume 1.9.0,
hadoop
3.2.1,兼容没有问题,官方文档没什么好说的,足够详细,每一项后面都附带有例子,好评。但是在配置sink to
hdfs
的时候足足踩了不少雷,记录下来希望可以帮到更多的人。
错误最常见的还是java.lang.NoClassDefFoundError异常,出现这个提示100%是因为flume缺少相应的组件包,下面分别说一下缺少的内容,找到对应jar之后复制到{FLUME_HOME}/lib下即可。
org/apache/
hadoop
/io/SequenceFile$CompressionType
缺少
hadoop
-common-X.jar
启动
HDFS
,在命令行窗口输入下面的命令:
/apps/
hadoop
/sbin/start-
dfs
.sh
运行后显示如下,根据日志显示,分别启动了NameNode、DataNode、Secondary NameNode:
dolphin@tools:~$ /apps/
hadoop
/sbin/start-
dfs
.sh
Starting name
有需求就有技术支持。
数据量越来越多。在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此就迫切需要一种系统来管理多态机器上的文件,这就是分布式文件管理系统。
是一种允许文件通过网络在多台主机上分享的文件系统,可以让多台机器上的多用户分享文件和存储空间。
通透性。让司机上是通过网络来访问文件的动作,由程序与用户来看,就是像访问本地磁盘
1、遇到问题
今天使用自己的电脑,使用外网操作阿里云服务器上的
HDFS
。
报错 org.apache.
hadoop
.
hdfs
.BlockMissingException: Could not obtain block
2、百度结果
参考 https://blog.csdn.net/xiaozhaoshigedasb/article/details/88999595
防火墙记得关掉;
查看DataNode是否启动;
有些数据块是损坏了,可以命令查看
阿里云防火墙已经关闭了
使用 jps 查看本地本地 datanode 启动没问题
使用
hadoop
fs
ck /weblog/log.
http://py
hdfs
.readthedocs.io/en/latest/
由于是windows环境(linux其实也一样),只要有pip或者setup_install安装起来都是很方便的
>pip install
hdfs
2:Client——创建集群连接
> from
hdfs
import *
> client = Client(“http://s100:50070”)
其他参数说明:
class
hdfs
.client.Client(url, root=None, proxy=None, timeout=None, session=None)
url:ip:端
hadoop
单机安装与测试
1•Local (Standalone) Mode(单节点的本地模式)Linux的文件系统就是
hadoop
的存储系统运行在单个的jvm环境,它使用linux的文件系统,适用于开发、测试、调试环境
2•Pseudo-Distributed Mode(伪分布式模式,其实也是在一台机器上)
做自己搭一下(最后)
熟悉
hdfs
shell
hdfs
dfs
-help
3•Fully-Distributed Mode(分布在多个节点上,每个节点上都在运行)
对于
hadoop
小白看到这几个命令时真的晕头转向,仔细研究了一番决定自己写歌笔记记下来~~~如有不对的地方欢迎指教
fs
与
dfs
有什么
区别
呢?
(1)
fs
是一个通用的文件系统可以指向任何的文件系统如local,
HDFS
等,而
dfs
是分布式文件系统,是针对
hdfs
的。
(2)
fs
>
dfs
。
(3) 分布式环境情况下,
fs
与
dfs
无
区别
。
(4) 本地环境中,
fs
就是本地文件,
dfs
就不能用了。
总结起来,这四个命令的
区别
与联系如下:
hadoop
fs
,
hadoop
dfs
,
hdfs
dfs
都是
Hadoop
文件系统的命令行接口,用于管理
Hadoop
分布式文件系统中的文件和目录。其中,
hadoop
fs
和
hadoop
dfs
是早期版本的命令,而
hdfs
dfs
是
Hadoop
2.x 版本后引入的新命令,用于替代旧命令。
hadoop
fs
和
hadoop
dfs
命令的功能基本相同,都可以用于上传、下载、删除、复制、移动文件和目录等操作。而
hdfs
dfs
命令则更加简洁,只提供了最常用的操作,同时也支持一些新的功能,如支持
HDFS
中的 ACL 等。
总的来说,
hadoop
fs
和
hadoop
dfs
命令已经逐渐被
hdfs
dfs
命令所取代,建议在使用
Hadoop
2.x 及以上版本时使用
hdfs
dfs
命令。