大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

在大数下,Hadoop中的HDFS存储应用广范,为了写此篇文章,重新搭建了一回环境,带有命令及截图,有助于大家更好的参考,后面我会分享结合HDFS的基础上搭建HBase。有些同学可能还不知HDFS是什么,我先引用百科的描述

介绍:

大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。

HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。

HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。

HDFS介绍到此,还不明白的可以上网查询相关资料,以下将带领大家从下载安装到启动,测试,一整个流程。

一、下载Hadoop

在你要下载的目录下,执行下面的下载命令

wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.1.tar.gz

二、解压下载文件

tar -zvfx hadoop-2.6.0-cdh5.15.1.tar.gz

三、修改配置

1、修改Hadoop中的JDK配置

编辑etc下的hadoop目录下的hadoop-env.sh文件中的JDK

vim etc/hadoop/hadoop-env.sh 
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

1.1:再配置环境配置:打开Linux系统配置文件

vim ./etc/profile

增加以下配置(hadoop文件目录,如果PATH已经有用到,比如JDK有用到,可以直接添加到PATH后面 :$HADOOP_HOME),环境用冒号分隔。

export HADOOP_HOME=/home/hadoop/hadoop-2.6.0-cdh5.15.1
export PATH=$HADOOP_HOME/bin:$PATH

2、配置core-site.xml

如果你的hadoop目录下没有core-size.xml 那一定会有mapred-site.xml.template。我们复制一个XML出来做修改

cp core-site.xml.template core-site.xml #复制命令
vim etc/hadoop/core-site.xml #修改命令
<configuration>
<property>
<name>fs.default.name/<name>
<value>hdfs://localhost:9000/<value>
/<property>
/<configuration>
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

3、配置hdfs-site.xml

dfs.namenode.name.dir:这是HDFS中的namenode文件存储地址

dfs.datanode.data.dir:这是HDFS中的datanode文件存储地址

dfs.replication:因为我的是单机,所以1

vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir/<name>
<value>/home/hadoop/tmp/dfs/name/<value>
/<property>

<property>
<name>dfs.datanode.data.dir/<name>
<value>/home/hadoop/tmp/dfs/data/<value>
/<property>

<property>
<name>dfs.replication/<name>
<value>1/<value>
/<property>

<property>
<name>dfs.permissions/<name>
<value>false/<value>
/<property>
/<configuration>

四、格式化HDFS

进入hadoop目录下的bin文件

大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

执行下面的命令,会自动执行一大串命令。执行成功后就会出现下面截图红线标注的successfully formatted。我们进入目录看一下是否有变化(图2生成一些文件)

hdfs namenode -format
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

五、启动HDFS

HDFS启动有两种

1、HDFS需要一个个启动,我们先启动namenode,再启动datanode,进入hadoop目录下的sbin目录

cd ./hadoop-2.6.0/sbin/

启动namenode,启动完后再输入jps查看一下进入中是否有namenode,然后再执行datanode启动命令,然后再执行jps查看。命令及截图如下。如果执行后没有出现对于的进程,可以查看hadoop目录下的log目录下的日志文件。

./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode

2、sbin目录下执行一键启动

start-dfs.sh
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

六、测试HDFS

1、使用命令创建和查看文件来验证是否启动成功,一样是在sbin目录下

#查看hadoop中的文件命令 -ls 中的l是小字的L,执行完后,返回的是空的
hadoop fs -ls /
#在根目录上创建一个test2019文件,然后再执行查看命令,看返回的结果是否多了一个test2019的文件
hadoop fs -mkdir /test2019
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

2、测试往文件里写数据。命令如下,效果可看截图,在cat查看文档时,将输出文档中的内容。并且在namenode和datanode文件夹中都有文件修改

#往test2019文件目录中增加slaves.sh文档,相当于把slaves.sh复制到test2019上
hadoop fs -put slaves.sh /test2019
#查看test2019下的slaves.sh文档,看是否存在
hadoop fs -cat /test2019/slaves.sh
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

大数据之搭建HDFS分布式文件系统(Hadoop第一篇)

七、停止HDFS

停止也有两种:

1、先停止datanode,再停止namenode

./hadoop-daemon.sh stop datanode
./hadoop-daemon.sh stop namenode
#jps查看一下

2、sbin目录下执行一键停止

stop-dfs.sh
大数据之搭建HDFS分布式文件系统(Hadoop第一篇)


分享到:


相關文章: