设为首页 加入收藏

TOP

CentOS 6.5环境下搭建HDFS完全分布式
2019-04-23 00:12:43 】 浏览:46
Tags:CentOS 6.5 环境 搭建 HDFS 完全 分布式

准备工作

首先需要准备4台CentOS6.5虚拟机,并且将网络与JDK配置完全,如需配置JDK详见 分布式存储:HDFS.。
注意:在安装JDK时需要先确认一下系统中是否自带JDK,控制台输入java -version如果显示了JDK版本,最好先卸载后安装并配置自己下载的JDK

之后我们需要对这四台虚拟机做出合理设计,如我的虚拟机主机名分别为Lucian-01到Lucian-04。Lucian-01主要为NameNode,Lucian-02为SecondaryNameNode与DataNode,Lucian-03和04都为DataNode。其中各个组成的作用已在上篇做出总结,这里就不重复了。

分工好后需要进一步配置hosts:
命令行:vi /etc/hosts/
文件打开后在文件结尾处分别添加上四台虚拟机对应的IP地址与主机名。
在这里插入图片描述
注意:四台虚拟机都需要修改hosts文件

配置免密登录

配置免密登录之前需要先弄清楚几台虚拟机之间的连接关系,即NameNode连接其余所有节点。所以本次将会用Lucian-01连接自身与其余节点。
首先在每个节点的命令行中输入:ssh-keygen -t rsa,这样就会在每个节点下的根目录中的 .ssh目录中生成一个公钥与私钥。
最后在NameNode节点(Lucian-01)中运行:

语句意为将公钥写入自身与其余节点中,运行过后,正确如图:

配置Hadoop文件

首先下载并解压Hadoop文件。下载地址.
之后修改Hadoop/etc路径下的hdfs-site.xml,将以下数据添加到标签中
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Lucian-02:50090</value>
</property>

注意:如果主机名不为Lucian-02时注意修改其中的代码

再将以下数据添加到hadoop/etc中的core-site.xml中的<configuration>标签中
<property>
<name>fs.defaultFS</name>
<value>hdfs:Lucian-01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/local</value>
</property>
注意:如果主机名不为Lucian-01时注意修改其中的代码

最后将目录下的slaves中添加DataNode节点的主机名
注意:每个主机名之间必须换行,也不要有多余的空格

将配置好的Hadoop文件分发到其余节点上

因为之前的操作都是在Lucian-01上进行的,所以需要运行一下命令将文件远程发送给其余节点。
scr -r hadoop-2.6.5 root@Lucian-02:/opt/software/
scr -r hadoop-2.6.5 root@Lucian-03:/opt/software/
scr -r hadoop-2.6.5 root@Lucian-04:/opt/software/
注意:需要根据主机名、自身文件路径与目标路径对语句进行简单调整

HDFS初始化与服务启动

首先需要控制台输入 jps 来确认每个节点中都没有Hadoop服务的相关进程,如果有可以使用 killall java命令 来终止进程。
使用hdfs namenode -format命令来对HDFS初始化,如果提示hdfs命令不存在请参考上篇配置Hadoop环境。
再初始化完成后可以运行hadoop/sbin目录中的start-dfs.sh来启动Hadoop服务。
最后通过浏览器输入 NameNode主机名:50070 来确认是否配置成功。如图,当Hadoop首页Live Node为3时表明配置成功。
在这里插入图片描述

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HDFS---dfs目录 下一篇Hadoop:hdfs数据块和拷贝份数

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目