高可用HDFS完全分布式搭建

下面介绍高可用HDFS完全分布式的搭建步骤:

第一步:在VmVare中安装四台CentOs6.5

主机名分别为node1,node2,node3,node4,(这样配置主机名是为了搭建的时候方便和节点关联)。

第二步:分别配置这四台主机的网络。

           修改/etc/sysconfig/network-scripts/下的ifcfg-eth0文件,使ONBOOT=yes,BOOTPROTO=none,再添加
以下文本:

IPADDR=192.168.42.128
PREFIX=24
GATEWAY=192.168.42.2
DNS1=8.8.8.8

指令列表

    1、cd /etc/sysconfig/network-scripts/  
    2、vim ifcfg-eth0

截图

在这里插入图片描述
          修改后的文本内容,其中IPADDR是虚拟机的IP地址,GATEWAY是把虚拟机的IP地址最后一位改成2

在这里插入图片描述
          DNS1可以在宿主机的IP4地址中查看,如下图,四台主机的网络配置方法一致
在这里插入图片描述

第三步:配置四台主机的jdk

          首先我们把自带的jdk卸载:
          1)查看当前Linux系统是否已经安装java
          输入 rpm -qa | grep java
在这里插入图片描述
          2)卸载两个openJDK
          输入rpm -e --nodeps 要卸载的软件
在这里插入图片描述
          3)上传jdk到linux
          4)解压jdk到/usr/local下 tar –xvf jdk-8u121-linux-x64.tar.gz –C /usr/local
          5)配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去

		export JAVA_HOME=/usr/local/jdk1.8.0_121
		export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
		export PATH=$PATH:$JAVA_HOME/bin:$PATH

          6) 检查jdk是否安装成功:java - version
在这里插入图片描述
           四台主机配置步骤一致

第四步:修改各个主机的hosts文件

          1)修改/etc/hosts文件:vim /etc/hosts
在这里插入图片描述

第五步:同步各个主机的时间

          1)各个节点(节点即主机)安装ntp命令:yum install ntp
          2)同步时间:ntpdate ntp1.aliyun.com
          3)可以使用date命令查看时间是否同步

第六步:配置免密登录

          免密示意图:

	node01->node01  node01->node02  node01->node03 node01->node04
	node02->node01

          1)所有节点执行 ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
           步骤都一样,这里仅贴出node1操作的截图
在这里插入图片描述
          2)在node1节点执行,将node1的公钥加入到其他节点的白名单中

	ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@node4
	步骤都一样,这里仅贴出node1操作的截图

在这里插入图片描述
          3)在node2节点执行:ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1,将node1的公钥加入到其他节点的白名单中,截图和上图差不多

第七步:上传hadoop-2.6.5.tar.gz并修改配置文件

1)首先将hadoop-2.6.5.tar.gz上传到/home目录下面,然后解压到/opt/software/hadoop文件夹下,hadoop文件夹解压前创建好
在这里插入图片描述

2)解压完成后修改/hadoop-2.6.5/etc/hadoop下的hdfs-env.sh配置文件,添加JAVA_HOME环境变量
在这里插入图片描述

3)修改hdfs-site.xml配置文件,在其中添加以下属性:

<property>
 <name>dfs.nameservices</name>
 <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>node01:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
 <value>node02:8020</value>
</property>
<property>
	<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>node01:50070</value>
</property>
<property> 
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>node02:50070</value>
</property>
<property>	
 <name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/var/sxt/hadoop/ha/jn</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>  	
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
 <name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>	
<property>
<name>dfs.ha.automatic-failover.enabled</name>
  <value>true</value>
</property>

在这里插入图片描述

4)修改core-site.xml配置文件,在其中添加以下属性:

<property>
   <name>fs.defaultFS</name>
 <value>hdfs://mycluster</value>
</property>
<property>
 <name>ha.zookeeper.quorum</name>
   <value>node2:2181,node3: 2181,node4:2181</value>
</property>

在这里插入图片描述

5)修改slaves配置文件:
在这里插入图片描述
6)将配置好的HDFS安装包拷贝到node2 node3 node4
在这里插入图片描述
7)搭建zookeeper集群并启动
          将zookeeper-3.4.10上传到node2的/home目录下,解压到/opt/software/zookeeper/下
在这里插入图片描述
          修改conf目录下的zoo_sample.cfg的名称,改为zoo.cfg
在这里插入图片描述
           修改zoo.cfg

 dataDir=/var/zfg/zookeeper
server.1=node02:2888:3888
server.2=node03:2888:3888
server.3=node04:2888:3888

dataDir是用来放置zookeeper产生的临时文件,目录可以随便指定
在这里插入图片描述
在dataDir目录下创建一个myid文件,在这个文件中写上当前节点ID号
在这里插入图片描述在这里插入图片描述
将配置好的zookeeper安装包拷贝到node3 node4
在这里插入图片描述
6)拷贝完毕后,在各自节点上创建myid号(在/var/mzj/zookeeper/创建),ID号要依次递增
在这里插入图片描述
在这里插入图片描述

7)将hadoop的指令和zookeeper的指令都配置到系统变量中,node1不用配置zookeeper指令,其他节点都要,修改/etc/profile文件,并令其生效:source /etc/profile,如下图所示:
在这里插入图片描述
分别在node2,node3,node4启动zookeeper
在这里插入图片描述
8) 格式化NameNode(创建目录以及文件)
          ①在node1、node2、node3分别执行如下命令

	hadoop-daemon.sh start journalnode

在这里插入图片描述

          ②随机选择一台NameNode执行:

	hdfs namenode -format
	hadoop-daemon.sh start namenode

在这里插入图片描述
          ③另外一台NameNode节点执行:

	hdfs namenode  -bootstrapStandby

在这里插入图片描述
在两个namenode节点分别执行

	hdfs zkfc -formatZK

在这里插入图片描述
关闭所有节点上的进程

	stop-dfs.sh

在这里插入图片描述
启动HDFS

	start-dfs.sh

启动成功在hdfs上创建一个目录:
在这里插入图片描述

在浏览器输入node1:50070查看刚才创建的目录
在这里插入图片描述

到此,高可用HDFS搭建成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值