54.HDFS分布式文件系统
admin
2023-03-17 22:21:08
0

HDFS分布式文件系统

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

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

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

Datanode负责管理存储的数据。

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

DHFS文件系统搭建步骤:

MasterSlave服务器的先决环境:

关闭防火墙等基本操作

# iptables -F

# setenforce 0

# ifconfig

配置hosts解析

# vim /etc/hosts

修改内容:

192.168.0.133  master

192.168.0.134  slave1

192.168.0.135  slave2

修改主机名

# vim /etc/sysconfig/network

修改内容:

NETWORKING=yes

HOSTNAME=master

# hostname master

Master服务器上:

创建hadoop运行用户和密码

# useradd hadoop

# passwd hadoop

部署JAVA环境

# tar xzvf jdk-7u65-linux-x64.gz

# mv jdk1.7.0_65/   /usr/local/java

安装hadoop软件

# tar xzvf hadoop-2.4.0.tar.gz

# mv hadoop-2.4.0  /usr/local/hadoop

# chown -R  hadoop.hadoop  /usr/local/hadoop

设置环境变量

# vim /etc/profile

添加内容:

JAVA_HOME=/usr/local/java

HADOOP_HOME=/usr/local/hadoop

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# source /etc/profile

修改hadoop配置文件

# vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh    Hadoop的环境文件

添加内容:

JAVA_HOME=/usr/local/java

# vim /usr/local/hadoop/etc/hadoop/core-site.xml     核心配置文件

添加内容:

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.xml  Hadoop的进程配置文件

添加内容:

mapred.job.tracker              

master:9001                  

 

mapred.local.dir             

/usr/local/hadoop/var          

# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml    NamenodeDatanode配置文件

添加内容:

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

添加内容:

Slave1

Slave2

部署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

通过SSHJAVA,HADOOP配置文件同步到Slave服务器

# scp -r /usr/local/hadoop   slave1:/usr/local/

# scp -r /usr/local/java   slave1:/usr/local/

# scp -r /etc/profile   slave1:/etc/

# scp -r /usr/local/hadoop   slave2:/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服务器上操作:

格式化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.

检查新生成的目录

$ ll    /usr/local/hadoop/name/

看到:

drwxr-xr-x. 2 root root 4096 1013 10:50 current

启动hadoop群集

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

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

Master上显示:

[hadoop@master Desktop]$ jps

6114 NameNode

6438 ResourceManager

6579 Jps

6304 SecondaryNameNode

Slaves上显示:[root@localhost 桌面]# jps

5387 Jps

5303 NodeManager

5191 DataNode                       

验证访问

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

DHFS群集添加节点:

关闭防火墙等基本操作

配置host解析

修改主机名

部署JAVA环境

设置环境变量

安装hadoop软件

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

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

$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文件  本地文件

合并文件

 


相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...