54.HDFS分布式文件系统

建站服务器

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

创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为察哈尔右翼后企业提供专业的网站设计、网站建设,察哈尔右翼后网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

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

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

Datanode负责管理存储的数据。

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

DHFS文件系统搭建步骤:

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

# iptables -F

# setenforce 0

# ifconfig

# 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服务器上:

# useradd hadoop

# passwd hadoop

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

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

# 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

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

添加内容:

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

添加内容:

mapred.job.tracker

master:9001

mapred.local.dir

/usr/local/hadoop/var

# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xmlNamenode和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

添加内容:

Slave1

Slave2

# 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

# 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服务器上操作:

#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 10月 13 10:50 current

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

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群集添加节点:

$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 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分布式文件系统
转载来于:http://ybzwz.com/article/cjojsd.html