三HDFS文件系统搭建

Posted 程序员的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三HDFS文件系统搭建相关的知识,希望对你有一定的参考价值。

再对HDFS有所了解之后,我们开始手动搭建一个HDFS系统

环境准备

在VMware中搭建三台linux虚拟机,分别命名为master node1 node2。并设置静态ip,关闭防火墙

操作过程中涉及到VMware和Linux的操作就不作完整说明



01


开始配置


1、修改三台机器的host文件。目的是在以后的参数设置时不用填写ip,直接填写host名更加方便

vim /etc/hosts格式为 : ip host名,如下192.168.110.10 master192.168.110.11 node1192.168.110.12 node2

2、设置三台机器的免密码登录。目的是为了以后传输文件方便,同时HDFS在启动java进程时也需要免密码登录

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
运行完上述代码后,在家目录~/.ssh中会产生三个文件authorized_keys id_rsa id_rsa.pub将master中的authorized_keys文件追加到node1、node2中。(我是通scp传输过去再追加的,直接复制可能存在问题)
测试免密登陆 在master中 $ ssh node1, $ ssh node2

3、三台虚拟机中安装jdk,配置环境变量


4、安装hadoop2.8.5


5、建立文件目录(不建立也可以,运行format进行格式化时会自动创建)

[root@master hadoop-2.8.5]# mkdir tmp[root@master hadoop-2.8.5]# mkdir hdfs[root@master hadoop-2.8.5]# mkdir hdfs/name[root@master hadoop-2.8.5]# mkdir hdfs/data


6、修改配置文件
# 修改 etc/hadoop/hadoop-env.sh 配置java环境export JAVA_HOME=/usr/java/jdk1.8.0_191
# 修改etc/hadoop/core-site.xml<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/hadoop/tmp/data</value> </property> <property> <name>dfs.name.dir</name> <value>/var/hadoop/tmp/name</value> </property></configuration>说明:① fs.defaultFS 配置的是NameNode 的主机和端口,master为hosts文件中配置的机器。② hadoop.tmp.dir 配置hdfs的工作目录。可以不做配置,会默认在机器的 /tmp 文件夹中创建,但是linux重启之后此目录会清空。
③ 配置的是NameNode的工作目录,可以不做配置,会默认根据hadoop.tmp.dir的目录进行创建
# 修改etc/hadoop/hdfs-site.xml<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>node1:50090</value> </property> <property> <name>dfs.data.dir</name> <value>/var/hadoop/data</value> </property></configuration>说明:①因为我只有两台DataNode机器,所以副本数最大只能为2。默认配置为3②设置secondary namenodes 位于 [node1] 节点,
#修改 slaves 修改salves 文件 说明了DataNode 节点的机器,只需要将DataNode所在机器列出即可

7、 同步所有配置到三台机器中


8、在master中格式化hdfs
# 在bin 目录下./hadoop namenode -format

9、启动hdfs
# 在sbin 目录下./start-dfs.sh

在三台机器上使用JPS查看java进程,如果成功看到NameNode、DataNode的进程说明成功了一大步。

访问:http://master:50070/ 看到如下界面说明成功了

三、HDFS文件系统搭建


可以在Utilities -> Browse the file system 浏览你的文件系统


02



特殊说明


1、在本地浏览器访问虚拟机中的应用,所以需要在hosts文件中添加master的ip。(不是必须的,可以直接通过ip访问)


2、虚拟机中linux的防火墙没有关闭,可能无法访问到页面


3、HDFS有相应的访问命令

基本语法为:bin/hadoop fs + 具体命令

大多数命名与linux的文件系统类似


以上


欢迎关注,源于技术,不止技术



以上是关于三HDFS文件系统搭建的主要内容,如果未能解决你的问题,请参考以下文章

搭建部署Hadoop 之 HDFS

分布式文件系统 HDFS

HDFS伪分布式环境搭建

Hadoop伪分布式集群搭建

Hadoop三HDFS命令行接口

HDFS伪分布式环境搭建