HDFS分布式文件系统
创新互联主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务随县,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108HDFS系统借助于一款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
# ifconfig
v 配置hosts解析
# vim /etc/hosts
修改内容:
192.168.0.133 master
192.168.0.134 slave1
192.168.0.135 slave2
v 修改主机名
# vim /etc/sysconfig/network
修改内容:
NETWORKING=yes
HOSTNAME=master
# hostname master
Master服务器上:
v 创建hadoop运行用户和密码
# useradd hadoop
# passwd hadoop
v 部署JAVA环境
# tar xzvf jdk-7u65-linux-x64.gz
# mv jdk1.7.0_65/ /usr/local/java
v 安装hadoop软件
# tar xzvf hadoop-2.4.0.tar.gz
# mv hadoop-2.4.0 /usr/local/hadoop
# chown -R hadoop.hadoop /usr/local/hadoop
v 设置环境变量
# 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
v 修改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 核心配置文件
添加内容:
# 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的进程配置文件
添加内容:
# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml Namenode和Datanode配置文件
添加内容:
注:
Namenode负责管理文件系统的命名空间和客户端对文件系统的访问操作。
Datanode负责管理存储的数据。
# vim /usr/local/hadoop/etc/hadoop/masters
添加内容:
master
# vim /usr/local/hadoop/etc/hadoop/slaves
添加内容:
Slave1
Slave2
v 部署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配置文件同步到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服务器上操作:
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 current
v 启动hadoop群集
$ /usr/local/hadoop/sbin/start-all.sh
v 验证HDFS节点各进程是否正常
Master上显示:
[hadoop@master Desktop]$ jps
6114 NameNode
6438 ResourceManager
6579 Jps
6304 SecondaryNameNode
Slaves上显示:[root@localhost桌面]# jps
5387 Jps
5303 NodeManager
5191 DataNode
v 验证访问
访问https://192.168.0.133:50070 可以看到视图系统
为DHFS群集添加节点:
2 关闭防火墙等基本操作
2 配置host解析
2 修改主机名
2 部署JAVA环境
2 设置环境变量
2 安装hadoop软件
2 从Master服务器通过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
添加内容:
$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文件 本地文件 | 合并文件 |
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。