三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 master
192.168.110.11 node1
192.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进行格式化时会自动创建)
[ ]
[ ]
[ ]
[ ]
# 修改 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、 同步所有配置到三台机器中
# 在bin 目录下
./hadoop namenode -format
9、启动hdfs
# 在sbin 目录下
./start-dfs.sh
在三台机器上使用JPS查看java进程,如果成功看到NameNode、DataNode的进程说明成功了一大步。
访问:http://master:50070/ 看到如下界面说明成功了
可以在Utilities -> Browse the file system 浏览你的文件系统
02
—
特殊说明
1、在本地浏览器访问虚拟机中的应用,所以需要在hosts文件中添加master的ip。(不是必须的,可以直接通过ip访问)
2、虚拟机中linux的防火墙没有关闭,可能无法访问到页面
3、HDFS有相应的访问命令
基本语法为:bin/hadoop fs + 具体命令
大多数命名与linux的文件系统类似
以上
欢迎关注,源于技术,不止技术
以上是关于三HDFS文件系统搭建的主要内容,如果未能解决你的问题,请参考以下文章