HDFS系统的搭建(整理详细版)

HDFS系统的搭建

节点的介绍:

首先我这里有5台虚拟机,1台NameNode,4台DataNode

IPHosts(主机名)
192.168.56.101master
192.168.56.102slave1
192.168.56.103slave2
192.168.56.104slave3
192.168.56.105slave4

master充当着NameNode的角色,其他的salve充当着DataNode的角色,并且在这5台虚拟机上我都修改了hosts文件,配置了他们的主机名他们可以通过主机名进行互相的访问。

编辑hosts文件:vim /etc/hosts

《HDFS系统的搭建(整理详细版)》 15108863775255.jpg

配置完成 wq 保存退出。

开始搭建HDFS

1.基础环境变量配置
  1. 解压Hadoop包

    《HDFS系统的搭建(整理详细版)》 15108865894824.jpg

  2. 配置hadoop的java运行环境
    解压完成后进入 /hadoop-2.7.3/etc/hadoop 在这个文件夹里都是Hadoop的一些配置文件,基本上我都要修改的东西都在这个目录下。
    编辑hadoop-env.sh配置上java的环境地址

vim hadoop-env.sh

《HDFS系统的搭建(整理详细版)》 15108870160873.jpg

  1. 在Linux中配置hadoop环境
    编辑 /etc/profile文件 这是Hadoop的安装路径

vim /etc/profile

《HDFS系统的搭建(整理详细版)》 15108873392934.jpg

加入 export PATH=$PATH:/usr/local/hadoop-2.7.3/bin:/usr/local/hadoop-2.7.3/sbin
保存后输入命令让profile文件立即生效。

source /etc/profile

输入命令:hadoop
如果出现以下内容 Hadoop环境就配置成功了

《HDFS系统的搭建(整理详细版)》 15108877402569.jpg

2.设置SSH免密码登录

在我的master机器上也就是我192.168.56.101这台机器,这台机器将会成为我的Hadoop集群NameNode节点。
进入master这台机器的的根目录

输入命令:ssh-keygen -t rsa

《HDFS系统的搭建(整理详细版)》 15108884094151.jpg

出现提示可以不理会 直接按几次回车键就行了,出现以下界面说明生成私钥id_rsa和公钥id_rsa.pub

《HDFS系统的搭建(整理详细版)》 15108885311607.jpg

把生成的公钥id发送到 slave1、slave2、slave3、slave4机器上

输入命令: ssh-copy-id slave1

slave1会要求你输入slave1这台机器上的密码

《HDFS系统的搭建(整理详细版)》 15108888665301.jpg

密码输入正确后你会看到以下界面,它说已经添加了密钥,它叫你尝试登陆一下

《HDFS系统的搭建(整理详细版)》 15108890151455.jpg

输入命令SSH免密登陆到slave1

ssh slave1

你发现你已经从master不用输入密码登陆到slave1上了

《HDFS系统的搭建(整理详细版)》 15108892010506.jpg

添加其他的slave2、slave3、slave4 也是同样的操作。

3.配置HDFS

在所有有的机器上的上core-site.xml、和hdfs-site.xml 文件

修改core-site.xml,在configuration标签内加入以下配置

<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000</value>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoopData</value>
</property>

<property>
    <name>fs.trash.interval</name>
    <value>4320</value>
</property>
</configuration>

修改hdfs-site.xml,在configuration标签内加入以下配置

<configuration>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>/home/hadoopData/dfs/name</value>
 </property>
 
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/home/hadoopData/dfs/data</value>
 </property>
 
 <property>
   <name>dfs.replication</name>
   <value>3</value>
 </property>
 
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
 </property>
 
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
 </property>
</configuration>

创建文件夹Hadoop存放数据的文件夹
mkdir /home/hadoopData

4.配置NameNode节点

master主机是我的NameNode节点,所以我在我的master主机上操作,也就是192.168.56.101这台主机。
在master主机的Hadoop目录下修改slaves文件,加入DataNode的节点
注意!注意!注意!
在我hosts文件中已经绑定了域名所以可以直接通过主机的名字访问(不明白看本文章中的节点的介绍)

编辑slaves文件: vim slaves

《HDFS系统的搭建(整理详细版)》 15108970623371.jpg

slave1、slave2、slave3、slave4都是DataNode的节点我把它们加入到我的NanmeNode节点中
这样我就可以一个命令启动整个集群。

5.格式化NameNode、启动HDFS系统

在我master这台主机上 输入命令HDFS格式化命令

格式化HDFS:hdfs namenode -format

《HDFS系统的搭建(整理详细版)》 15108974677949.jpg

输入启动HDFS系统命令

输入命令:start-dfs.sh

《HDFS系统的搭建(整理详细版)》 15108975951914.jpg

检查是否启动成功
在游览器中输入 :http://192.168.56.101:50070/
默认 你NameNode的IP+50070端口
当你见到以下界面说明你的集群已经起来了

《HDFS系统的搭建(整理详细版)》 15108982601690.jpg

再检查DataNode

《HDFS系统的搭建(整理详细版)》 15108983457181.jpg

我这里配了4个DataNode也起来了 说明整个HDFS集群搭建完成了!

    原文作者:陈_志鹏
    原文地址: https://www.jianshu.com/p/58b39974abb7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞