Hadoop高可用HDFS集群搭建详解

说明:

Hadoop高可用HDFS集群搭建步骤详解,在搭建的过程中会出现各种各样的问题,大家要养成看日志的习惯,大部分错误在启动或者 搭建的过程中都会在日志中体现,(由于日志信息过多,一般错误会在日志最后部分出现建议使用tail命令查看日志,注意不要粘贴命令,格式问题)

集群图表:

这里写图片描述

步骤1:准备工作

  • 保证网络可以ping通
  • hosts文件要修改(也可不修)
  • 防火墙关闭
  • -

关闭防火墙方法:
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

步骤2:同步时间(可选择,建议同步)

确保安装了ntpdate,
没安装的话使用命令进行安装:yum install ntpdate
然后执行命令:ntpdate 132.163.4.101

步骤3:进行免密钥设置

每一台NN 需要免密钥登录到集群当中其他的机器
两台NN之间一定要做免密钥:
node1到node1~4  做免密钥
node2到node1~4 做免密钥

  • ①在node1节点生成密钥
    ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

  • ②cd到密钥所在的文件夹目录下:cd ~/.ssh/id_dsa,将生成的密钥拷贝到所有需要免密钥登陆的节点上,如:
    scp id_dsa.pub node2:/tmp
    scp id_dsa.pub node3:/tmp
    scp id_dsa.pub node4:/tmp

  • ③在所有需要免密钥的节点上(node~node3),将NameNode的公钥添加到 ~/.ssh/uthorized_keys文件的最后,如:
    cat /id_dsa.pub >> ~/.ssh/authorized_keys

  • ④在node1测试免密钥登陆node3

  • 验证下:
    ssh node2——>登陆node2
    exit 退出

步骤4:安装jdk 配置环境变量

可以使用xftp工具,将JDK拷贝到指定目录:如:/home/tools目录(tools没的话可以创建)

  • 解压(默认在当前目录):tar -zxvf hadoop-2.5.1_x64.tar.gz

  • (为了节省时间提高效率)在node1节点上,使用 scp jdk-7u67-linux-x64.rpm node2:`pwd` 命令将jdk分别复制到node2~4的 /home/tools目录
    (pwd就相当于 /home/tools目录,也可以写全,使用反引号括起来)

  • 配置jdk:使用命令:vi /etc/profile,建议在最后添加:

    export JAVA_HOME=/usr/java/jdk1.7.0_67
    export PATH=$PATH:$JAVA_HOME/bin
    
  • 使用命令:source /etc/profile,使之生效

步骤5:Hadoop安装包上传(不要放到tmp)并解压、配置环境变量(zookeeper包同样的方式上传、解压、配置环境变量!!!)

  • 解压:tar -zxvf hadoop-2.5.1_x64.tar.gz -C /home/

  • 配置环境变量:vim /etc/profilr

  • export HADOOP_HOME=hadoop安装路径
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

步骤6:修改配置文件(最需要细心的一步)

这里写图片描述

Hadoop需要配置的文件:
core-site.xml
hdfs-site.xml
slaves 指定DN
yarn-site.xml
mapred-site.xml
hadoop-env.sh

zookeeper需要配置的文件:
这里写图片描述
zoo.cfg(这个是经过修改文件名称过来的)
并创建:vim myid,分别在每个虚拟机里写上1、2、3、4

步骤7:同步配置文件

拷贝一个目录到另外虚拟机:

  • Hadoop需要拷贝到node2~4台上
    scp -r hadoop-2.5.1 node4:pwd

  • zookeeper需要拷贝到前三台上:
    scp -r zookeeper-3.4.6 node4:`pwd`

步骤8:三台JN上(node2、node3、node4)启动JN

命令: hadoop-daemon.sh start journalnode

步骤9:在一台NN 执行格式化(如node1,注意查看上面的集群图标,每台机器都代表什么)

格式化命令: hdfs namenode -format
!!启动当前NN
启动命令:hadoop-daemon.sh start namenode

步骤10:在其它没有格式化的NN上执行同步命令(如node2)

命令: hdfs namenode -bootstrapStandby

步骤11:启动ZK集群,三台zk(node1、node2、node3)执行

命令:zkServer.sh start
使用jps命令查看启动情况

步骤12:格式化ZK,在一台NN上执行 (如node1)

命令: hdfs zkfc -formatZK
使用jps命令查看启动情况

步骤13:启动集群

启动:start-dfs.sh
关闭:stop-dfs.sh

node1启动情况

node2启动情况

node3启动情况

node4启动情况

在浏览器查看启动情况:node1(active状态,端口:50070)

在浏览器查看启动情况:node2(standby状态,端口:50070)

在浏览器查看启动情况:node3(端口8088)

浏览器查看启动情况:node4(端口8088)会自动转到node3

补充:

搭建完成之后重启集群
先确定关闭集群:stop-all.sh
重启:
① 启动zk集群:三台zk(node1~3)执行zkServer.sh start
② 启动(node1或node2):start-all.sh
③ 启动ResourceManager(后两台)
yarn-daemon.sh start resourcemanager

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值