Hadoop HA 高可用平台配置实例

Hadoop

概述

  • Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
    用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
  • Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
  • HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
  • Hadoop的框架最核心的设计就是:HDFS和MapReduce。
  • HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

Hadoop2.x之后的版本提供了解决单点问题的方案-HA(HighAvailable 高可用) 执行步骤如下:

下载链接:

2.搭建(系统环境: CentOS 7.2)

2.1创建Hadoop用户
[root@ ~]# useradd hadoop && passwd hadoop
[root@ ~]# vim /etc/sudoers 
hadoop ALL=(root)   NOPASSWD:ALL 
[root@ ~]# mkdir -p /opt/source/hadoop && chown hadoop:hadoop /opt/source/hadoop -R
[root@ ~]# ls /opt/source/hadoop
drwxrwxr-x 10 hadoop hadoop 4096 Dec 22 13:25 hadoop
drwxr-xr-x 10 hadoop hadoop   4096 Dec 21 18:20 zookeeper
2.2 安装JDK
[root@ ~]# ls /opt/source
drwxr-xr-x  8 root   root   4096 Sep 23 07:27 jdk1.8.0_111
[root@ ~]# ln -s /opt/source/jdk1.8.0_111 /opt/jdk
2.3 配置hosts
  • 集群中所有机器的 hosts 配置要相同:
10.211.55.12    nna  # NameNode Active
10.211.55.13    nns  # NameNode Standby
10.211.55.14    dn1  # DataNode1
10.211.55.15    dn2  # DataNode2
10.211.55.16    dn3  # DataNode3

然后用 scp 命令,分发到各个节点,
这里以NNS节点为例子

scp /etc/hosts hadoop@nns:/etc/
2.4 安装SSH
输入如下命令:
ssh-keygen –t rsa
然后一路按回车键,最后在将id_rsa.pub写到authorized_keys,命令如下:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在hadoop用户下,需要给authorized_keys赋予600的权限,不然免密码登陆无效。
在其他节点只需要使用 ssh-keygen –t rsa 命令,生产对应的公钥,然后将各个节点的id_rsa.pub追加到nna节点的authorized_keys中。
最后,将nna节点下的authorized_keys文件通过scp命令,分发到各个节点的 ~/.ssh/ 目录下。目录如下:
# 这里以NNS节点为例子
scp ~/.ssh/authorized_keys hadoop@nns:~/.ssh/
然后使用ssh命令相互登录,看是否实现了免密码登录,登录命令如下:
# 这里以nns节点为例子
ssh nns
若登录过程中木有提示需要输入密码,即表示密码配置成功。

2.5关闭防火墙
[root@ ~]# systemctl stop firewalld && systemctl disable firewalld
2.7 ZooKeeper(安装,启动,验证)
2.7.1 安装
将下载好的安装包,解压到指定位置,这里为直接解压到当前位置,命令如下:
[hadoop@ ~] tar -zxvf zk-{version}.tar.gz
修改zk配置,将zk安装目录下conf/zoo_sample.cfg重命名zoo.cfg,修改其中的内容:
[hadoop@es1 ~]$ vim zoo.cfg
# The number of milliseconds of each tick
# 服务器与客户端之间交互的基本时间单元(ms) 
tickTime=2000   

# The number of ticks that the initial  
# synchronization phase can take 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值