54.HDFS分布式文件系统

2023-10-18 1498阅读

温馨提示:这篇文章已超过578天没有更新,请注意相关的内容是否还可用!

Datanode负责管理存储的数据。


HDFS分布式文件系统


HDFS系统借助于一款hadoop工具进行部署,文件系统的主要优势是主要是提高客户端的读取效率,假如一块1TB的磁盘数据需要读取,读取速度为100MB/S,如果将1块磁盘中的数据分别存储到100块磁盘上,那么当用户读取时,它们并行运行,那么用户读取操作就可以瞬间完成。


一个HDFS群集由一个运行于master上的Namenode和多个运行于slave上的Datanode组成。


Namenode负责管理文件系统的命名空间和客户端对文件系统的访问操作。


Datanode负责管理存储的数据。


文件以块形式进行在datanode中存储,假设一个块20MB,块的副本数为3,设置块的副本数来达到冗余效果,防止单个datanode磁盘故障后数据丢失。将相同的副本块存储到不同的datanode中实现冗余,大文件将被切成小块存储。


DHFS文件系统搭建步骤:


Master和Slave服务器的先决环境:

v

关闭防火墙等基本操作

# iptables -F# setenforce 0# ifconfigv

配置host


s


解析

# vim /etc/hosts修改内容:192.168.0.133 master192.168.0.134 slave1192.168.0.135 slave2v

修改主机名

# vim /etc/sysconfig/network修改内容:NETWORKING=yesHOSTNAME=master# hostname master

Master服务器上:

v

创建hadoop运行用户和密码

# useradd hadoop# passwd hadoopv

部署JAVA环境

# tar xzvf jdk-7u65-linux-x64.gz# mv jdk1.7.0_65/ /usr/local/javav

安装hadoop软件

# tar xzvf hadoop-2.4.0.tar.gz# mv hadoop-2.4.0 /usr/local/hadoop# chown -R hadoop.hadoop /usr/local/hadoopv

设置环境变量

# vim /etc/profile添加内容:JAVA_HOME=/usr/local/javaHADOOP_HOME=/usr/local/hadoopPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin# source /etc/profilev

修改hadoop配置文件

# vim /usr/local/hadoop/etc/hadoop/hadoop-env.shHadoop的环境文件添加内容:JAVA_HOME=/usr/local/java# vim /usr/local/hadoop/etc/hadoop/core-site.xml核心配置文件添加内容:

54.HDFS分布式文件系统
(图片来源网络,侵删)

fs.defaultFS

hdfs://master:9000

hadoop.tmp.dir

file:/usr/local/hadoop/tmp

hadoop

# cp/usr/local/hadoop/etc/hadoop/mapred-site.xml.template/usr/local/hadoop/etc/hadoop/mapred-site.xml# vim /usr/local/hadoop/etc/hadoop/mapred-site.x开发云主机域名mlHadoop的进程配置文件添加内容:

mapred.job.tracker

master:9001

mapred.local.dir

/usr/local/hadoop/var

# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

Namenode和Datanode配置文件

添加内容:

dfs.namenode.name.dir

file:/usr/local/hadoop/name

dfs.datanade.data.dir

file:/usr/local/hadoop/data

dfs.replication

3

dfs.webhdfs.enable

true


注:

Namenode负责管理文件系统的命名空间和客户端对文件系统的访问操作。Datanode负责管理存储的数据。# vim /usr/local/hadoop/etc/hadoop/masters添加内容:master# vim /usr/local/hadoop/etc/hadoop/slaves添加内容:Slave1Slave2v

部署SSH





配置免验证开启Hadoop开发云主机域名

# su hadoop$ ssh-keygen$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave1$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave2$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys v

通过SSH将


JAVA,HADOOP


配置文件同步到


S


lave服务器

# scp -r /usr/local/hadoopslave1:/usr/local/# scp -r /usr/local/java slave1:/usr/local/# scp -r /etc/profile slave1:/etc/# scp -r /usr/local/hadoopslave2:/usr/local/# scp -r /usr/local/java slave2:/usr/local/# scp -r /etc/profile slave2:/etc/

Slave服务器上:

#source /etc/profile#chown -R hadoop.hadoop /usr/local/hadoop

部署完后HDFS群集的操作:


Master服务器上操作:

v

格式化HDFS文件系统

#su hadoop$hdfs namenode -format看到下面的日志信息则成功格式化:16/10/13 10:50:22 INFO common.Storage: Storage directory /usr/local/hadoop/name has been successfully formatted. v

检查新生成的目录

$ll /usr/local/hadoop/name/看到:drwxr-xr-x. 2 root root 4096 10月 13 10:50 currentv

启动hadoop群集

$ /usr/local/hadoop/sbin/start-all.shv

验证HDFS节点各进程是否正常

Master上显示:[hadoop@master Desktop]$ jps6114 NameNode6438 ResourceManager6579 Jps6304 SecondaryNameNodeSlaves上显示:[root@localhost 桌面]# jps5387 Jps5303 NodeManager5191 DataNodev

验证访问

访问https://192.168.0.133:50070 可以看到视图系统

为DHFS群集添加节点:

2

关闭防火墙等基本操作

2

配置host解析

2

修改主机名

2

部署JAVA环境

2

设置环境变量

2

安装hadoop软件

2




M


aster服务器通过SSH同步配置文件到节点服务器

2

新节点启动并平衡节点已经存储的数据

$hadoop-daemon.sh start datanode$hadoop-daemon.sh start tasktracker$jps$hadoop dfsadmin -report查看群集信息

为DHFS群集删除节点:

$ vim /usr/local/hadoop/etc/hadoop/core-site.xml添加内容:

dfs.hosts.exclude

/usr/localhadoop/etc/hadoop/exclude

$vim /usr/local/hadoop/etc/hadoop/excludes添加内容:slave4 要删除的节点名$hdfs dfsadmin -refreshnodes 刷新配置$jps$hadoop dfsadmin -report 查看群集信息

Hadoop基本命令的使用


命令


作用

Hadoop fs -help帮助Hadoop fs -usage帮助Hadoop fs -ls显示Hadoop fs -mkdir创建Hadoop fs -put 上传Hadoop fs -report查看节点状态信息Hadoop dfsadmin -safemode enter开启安全模式Hadoop dfsadmin -safemode leave开启安全模式Hadoop fs -copyfromlocal 本地源文件 HDFS目标目录将本地文件复制到HDFS上Hadoop fs -copylocal HDFS文件 本地将HDFS中的文件复制到本地开发云主机域名Hadoop fs -chgrp 组名 DHFS文件或目录修改属组Hadoop fs -chmode 755 DHFS文件或目录修改权限Hadoop fs -chown 属主.属组 DHFS文件或目录修改所有者Hadoop fs -du DHFS文件或目录统计显示目录中文件大小Hadoop fs -getmerge -nl DHFS文件 本地文件合并文件

本文从转载,原作者保留一切权利,若侵权请联系删除。

《54.HDFS分布式文件系统》来自互联网同行内容,若有侵权,请联系我们删除!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]