hadoop集群的搭建脚本及构思(一):用户和用户权限

11 篇文章 0 订阅
4 篇文章 0 订阅
本文介绍了搭建复杂Hadoop 2.6集群的思路,包括使用Zookeeper进行HA,以及部署HBase和Hive。强调了避免使用root用户,提倡为不同角色创建独立用户,并详细阐述了SSH配置在集群中的作用,尤其是Master到Slave的单向无密码登录配置。同时,提出了在小规模集群中使用脚本管理的便利性。
摘要由CSDN通过智能技术生成

打算搞一个复杂的Hadoop 2.6集群,加上Zookeeper来搞HA,再部署上HBase,Hive等一系列的东西。发现机器多了,从建虚机到配置都不能再靠命令行一条一条的敲,需要搞脚本出来自动/半自动执行。

其实想想,这个部署的过程就是一个类似PaaS的任务。完全可以搞成可视化的部署工具。当年搞十八摸的中间件的部署就是有这样的工具。可以自己先定义所需要的系统拓扑,比如一个WAS ND的集群,要几个Deploy Manager,几个WAS App Server,后面跟着几个DB2的数据库实例。然后一个命令就全部虚机都部署出来了,相互间的连接配置也搞好了。管理的时候,就直接上WAS ND的页面管理。

现在的Hadoop之类的集群,动不动就是成百上千台机器,靠脚本的执行来管理,不是什么好方法。携程出现的问题就是个好的例子。相信BAT这样的巨头一定会有自己的PaaS部署和管理的系统。

自己搞的小集群就还是用脚本来吧。哪天系统出问题了,就直接虚机删除,然后再部署一套,来的方便快捷。


用户和用户权限的思考

首先看到很多网上的科普hadoop,zookeeper,HBase的安装配置的文章都用root来搞。科普简介还行,但是正常的开发、测试环境这就不行了,就更别说生产环境了。root什么都管了,危险太大。

还没搞完,不过觉得数据分析和管理应该分开,开发和测试环境可以都用一个帐号,比如我常用的hadoop帐号。基本思路是:

1. root用户是在虚机建立后才用的,可以写脚本来干几件事

    • 创建大数据工具的各个帐号,创建/修改密码;
    • 安装Java或者其他语言,这个是给所有用户使用的,应该是要root来安装;
    • 保持各个工具需要的软件包,赋予不同用户对各自软件包的权限;
    • 针对不同的用户,创建基础目录和临时目录,根据用户的需求赋予不同的权限

2. 管理相关的帐号,这里主要是指zookeeper帐号。
3. DFS/Hadoop/相关的帐号。
4. 数据应用的帐号,比如HBase、Hive、Spark等的帐号

2-4,在开发和测试环境可以用一个帐号全部管理,省去很多麻烦。比如hadoop要求的master到slave和slave之间需要能无密码的ssh登陆,设置N×N之间能无密码ssh登陆是很烦的事,一旦新增节点,将要求大家都来一遍,多帐号就会很麻烦。

终于又有时间来继续这个项目。今天碰到的一个问题是到底hadoop 2.6里面SSH的作用是什么,到底需要配置谁和谁之间无需密码的SSH登录。

《Hadoop权威指南》v3版里面说的是只需要Master到Slave单向需要配置SSH无密码登录,以方便控制脚本来启动全集群的操作。还特别强调不是java的进程需要SSH。但并没有细化到到底node级别。对于一个NameNode,Resource Manager都分离的环境,这个问题就比较的复杂了,需要考虑下面的几种情况:

  1. NameNode 和 Data Nodes间的配置;
  2. Resource Manager -> Node Managers的配置
  3. 主NameNode和从NameNode间的配置;
  4. 主ResMgr和从ResMgr间的配额制;
  5. DataNode间的配置;
  6. NodeMgr间的配置;

以上这些都涉及到双向的问题。又google了一圈,看到讲解清楚的还真的很少。有一个StackOver上面说道了这样的观点:

  1. 和《指南》的说法一样,Master们一定要能SSH到Slaves上去,才好启动。所以NameNode>DataNodes和ResMgr>NodeMgr是一定要配置的,单向!
  2. Slaves直接的通信是通过TCP/IP加上RCP协议来实现的,所以不用SSH。

但是,在我的3节点环境中,曾经发生过slave之间必须要能SSH才能跑通程序的情况,所以上述说法还有待验证。

由于没找到标准的原理解释部分,我暂且认为StackOver上的关于Master到Slave的观点正确。由于主从节点之间也没有找到原理文章,我现阶段决定先按StackOver的说法配置我的7节点环境:

账号都采用hadoop;

只配置NameNode>DataNodes和ResMgr>NodeMgr的SSH无密码登录;

其他情况现在都不配置。在实际安装配置中来发现问题,再改进。


(关于这个话题就谈到这里,以后就实际出席的问题再修改此帖里的SSH原理部分。关于我的7节点的hadoop ha环境,另开新帖讨论)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值