化繁为简,快速完成 Spark 大数据平台机群配置
2018-03-16 16:14
375 查看
Ambari 是 Apache Software Foundation 中的一个基于 web 的顶级开源项目,其自身也是一个分布式架构的软件,主要由两部分组成: Ambari Server 和 Ambari Agent 。 它是集创建、管理、监视 Hadoop 生态圈中众多软件为一体的一个工具。 它为大数据平台的搭建 ,可视化分析及运维提供了巨大的便利。 目前, Ambari 的最新发布版本为 2.4.2。
注释掉下图区域后保存退出。
以下为脚本的具体内容,为便于用户理解,对脚本做了部分注释,读者可以先将其拷贝下来,新建一个 shell 脚本文件,比如 installsetup.sh(vi installsetup.sh),将拷贝下来的内容粘贴到 shell 文件中保存退出,执行 chmod 775 installsetup.sh 赋予文件可执行权限。用户也可以根据自己的喜好及方便来改写脚本中的内容。在脚本中,为了保持机群所有机器配置的一致性,用了 scp 拷贝命令覆盖机群所有机器原来的配置并把原配置做了备份,如脚本中的 scp /etc/hosts root@c6501:/etc/hosts。当然,为了安全起见,请用户自行备份原来机器的配置文件。
以下为 IBM IOP 提供的下载路径,用户可以根据需要下载相对应的版本, 图 1 所示为已经发布的 IOP 版本,目前最新版为 4.2。Ambari:https://ibm-open-platform.ibm.com/repos/Ambari/rhel/6/x86_64/IOP:https://ibm-open-platform.ibm.com/repos/IOP/rhel/6/x86_64/4.2.x/GA/IOP_UTILS: https://ibm-open-platform.ibm.com/repos/IOP-UTILS/rhel/6/x86_64/图 1 IBM IOP 版本
安装 Ambari server 只需执行如下命令,安装过程中首先会从 IBM 网站下载 Ambari 的相关安装包。[root@c6501 yum.repos.d]# yum clean all
[root@c6501 yum.repos.d]# yum install ambari-server第二步 完成 Ambari server 安装配置,如果用户不想分离数据库可采用缺省值安装。[root@c6501 yum.repos.d]# ambari-server setup第三步 启动 Ambari server 服务。[root@c6501 yum.repos.d]# ambari-server start
创建机群如图 3 所示图 3 Ambari 创建机群界面
如果是离线安装的话,用户需要在这里配置自己的 Base URL,在线安装保持缺省值, 如图 4 所示。配置完成后点击下一步。图 4 选择安装源界面
执行 cat /root/.ssh/id_dsa 获取 SSH Private Key,并把其粘贴到 web 上 SSH Private Key 粘贴区,如图 5 所示。其余的安装过程跟采用 HDP 等部署没有不同,用户可以根据安装向导来完成。值得注意的是,在 Confirm Hosts 过程中要尽量避免出现任何错误或警告。图 5 安装设置界面
功夫不负有心人,经过一翻耐心的等待,大数据平台终于准备好了,快来开启大数据的旅程吧。图 6 Ambari 机群服务界面
IBM 的杰作之 IOP
IOP 是指 IBM Open Platform for Apache Hadoop,IOP 中集成并优化了大量的 Apache Hadoop 项目,包括 HDFS, YARN, MapReduce, Ambari, Hbase, Hive, Oozie, Parquet, Parquet Format, Pig, Snappy, Solr, Spark, Sqoop, Zookeeper, Open JDK, Knox, Slider 等,目前 IOP 已经发布了最新的 4.2 版本,相比之前的 4.1 版本增加了更多的项目。表 1 为 IOP4.2 与 IOP4.1 的比对 。表 1 IOP 4.2 Version VS IOP 4.1 VersionComponent | IOP 4.1 Version | IOP 4.2 Version |
---|---|---|
Ambari | 2.1.0 | 2.2.0 |
Avro | 1.7.7 | 1.7.7 |
Flume | 1.5.2 | 1.6.0 |
Hadoop | 2.7.1 | 2.7.2 |
Hbase | 1.1.1 | 1.2.0 |
Hive | 1.2.1 | 1.2.1 |
Kafka | 0.8.2.1 | 0.9.0.1 |
Knox | 0.6.0 | 0.7.0 |
Oozie | 4.2.0 | 4.2.0 |
Sqoop | 1.4.6 | 1.4.6 |
Ranger | - | 0.5.2 |
Phoenix | - | 4.6.1 |
Titan | - | 1.0.0 |
Parquet | 2.2.0 | 2.2.0 |
Parquet -mr | 1.6.0 | 1.6.0 |
Pig | 0.15.0 | 0.15.0 |
Slider | 0.80.0 | 0.90.2 |
Solr | 5.1.0 | 5.5 |
Spark | 1.5.1 | 1.6.1 |
Zookeeper | 3.4.6 | 3.4.6 |
困惑,安装前数据平台繁杂的配置准备
相信很多同仁都有过搭建大数据平台时由于机群机器之间的设置或配置不一致等诸多问题最后造成安装过程中出错,不得不排错后回滚到前几步重新开始,而且出现的错误还不容易排除,造成大量的时间都浪费在排错上。特别是机群有几十个甚至上百台机器时更不容易。比如要在所有机器上同步时钟,要给机群所有机器配置 SSH 无密码登录,关闭防火墙等等。化繁为简,利用脚本快速完成安装前配置
文中结合作者工作中的实际,给出了一个简单的脚本,方便用户来统一进行安装过程前的配置工作,有兴趣的伙伴们也可以修改并完善这个脚本。同时也期望这个脚本能给大家的工作带来实实在在的便利。当然实际生产中更多为离线安装部署,但道理是一样的。文中假设用户已经安装并配置了 yum 源并选择在线安装,操作系统为 Centos6.5。具体安装本地 yum 源的方法请参考 IBM developerWorks 技术文章 "利用安装光盘创建本地 yum 源补装 RPM 软件包"准备机器
文中假设我们要部署一个含 3 台机器的机群,这三台机器的 FQDN 名分别为 c6501.ambari.apache.org,c6502.ambari.apache.org 和 c6503.ambari.apache.org,需要特别强调的是主机名要符合完全限定域名。同步时钟
假设我们以 c6501 这台机器作为 Ambari server 机器,安装部署前首先要同步时钟设置,文中假设机群机器均安装了 ntp 软件包。 如果没有安装可通过运行: yum -y install ntp ntpdate 来安装 ntp 服务。一切准备就绪,在终端执行命令:# vi /etc/ntp.conf在 ntp.conf 文件中加入:编辑脚本
由于客户机群内机器的 IP 地址、机器名等存在不同,为了简单起见,文中给出的脚本在开头预先定义了机群内所有机器的相关信息,这些内容会被写入到机群内所有机器中。当然,读者也可以把机群的相关信息定义到一个单独的配置文件中,通过读取配置文件来获取机群的配置信息。脚本的预定义内容说明:prefix:是指机群里所有机器名的前缀,比如本文中所有机器都是以"c650"开头的master:是指 Ambari server 所在机器,文中安装在 c6501 这台机器上machineName: 是指机群所有机器的名称、地址等信息,文中三台机器的信息如下,这些信息将会被加入到机群所有机器的 hosts 文件中。完成配置
用户完成脚本的编辑后,在 Ambari Server 机器上执行./installsetup.sh 运行脚本,过程中按照要求输入机群内机器的密码(第一次执行会要求输入密码,再次执行会提示是否覆盖/root/.ssh/id_dsa),等脚本执行完成,那么所有机器的前期配置也就完成了。按部就班,完成大数据平台安装
离线安装
离线安装需要用户提前下载所需的安装包,配置本地 yum 源,开启 http 服务(或者直接用本地 file 模式)并修改相关的配置源指向本地解压后的路径。甚至用户也可以编写自己的 IOP.repo 文件等。其余的安装过程同在线安装大同小异,请参考文中在线安装完成部署。IOP.repo 内容如下:在线安装
在线安装需要机群内机器能够访问安装源所在的网站,由于网速,网络的稳定性等外在因素的影响,相比离线安装可能耗时会多一些。安装过程中如果出现由于网络等原因造成的相关服务安装失败,用户只需重试安装即可。不管是离线安装还是在线安装,首先都需要安装 Ambari,其安装配置可以通过以下几步来完成:第一步 安装 Ambari server从 IBM 网站下载或者自己编辑 ambari.repo 文件到/etc/yum.repos.d 目录下,ambari.repo 文件内容如下:[root@c6501 yum.repos.d]# yum install ambari-server第二步 完成 Ambari server 安装配置,如果用户不想分离数据库可采用缺省值安装。[root@c6501 yum.repos.d]# ambari-server setup第三步 启动 Ambari server 服务。[root@c6501 yum.repos.d]# ambari-server start
开始部署
启动 Ambari server 后,通过 web 页面登录安装部署界面,用户名和密码分别为 admin 和 admin,如图 2 所示。图 2 Ambari 登录界面创建机群如图 3 所示图 3 Ambari 创建机群界面
如果是离线安装的话,用户需要在这里配置自己的 Base URL,在线安装保持缺省值, 如图 4 所示。配置完成后点击下一步。图 4 选择安装源界面
执行 cat /root/.ssh/id_dsa 获取 SSH Private Key,并把其粘贴到 web 上 SSH Private Key 粘贴区,如图 5 所示。其余的安装过程跟采用 HDP 等部署没有不同,用户可以根据安装向导来完成。值得注意的是,在 Confirm Hosts 过程中要尽量避免出现任何错误或警告。图 5 安装设置界面
功夫不负有心人,经过一翻耐心的等待,大数据平台终于准备好了,快来开启大数据的旅程吧。图 6 Ambari 机群服务界面
安装过程中常见问题及解决办法
问题 1:Ambari 节点报错 heartbeat lost解决办法: ambari-agent restart问题 2:登录 http://c6501.ambari.apache.org:8080/ 报错 Unable to connect解决办法:外部机器登录主机,需要在外部机器的 hosts 文件中加入对应的 IP 映射。问题 3:ntpd 报错解决办法:到对应 node 下检查是否安装了 ntpd 包, 重启此服务 service ntpd restart问题 4:Confirm Hosts 过程警告解决办法:首先需要确定该机器以前是否安装部署过相关服务,如果部署过,则需要把以前部署时残留的目录、文件等信息全部删除。执行 python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py --silent --skip=users 后再移除对应机器存在的用户组。例如:userdel -rf hiveuserdel -rf zookeeperuserdel -rf sparkuserdel -rf ambari-qauserdel -rf hdfsuserdel -rf sqoopuserdel -rf yarnuserdel -rf hcatuserdel -rf mapreduserdel -rf hbaseuserdel -rf oozieuserdel -rf flumeuserdel -rf kafkauserdel -rf knoxuserdel -rf amsuserdel -rf hadoopuserdel -rf tezuserdel -rf rrdcached总结
由于大数据平台部署前对机群内机器都有一定的要求,如需要配置 SSH 无密码登录,修改文件最大限制,关闭防火墙,修改 hosts 文件等等,利用文中的脚本,通过简单的配置就可以在一台机器上完成整个机群所有节点部署前的配置工作,简单易用,能够节约大量的配置时间,减少配置时出错的机会。另外,此脚本同样也适用于采用 HDP 来部署大数据平台的机群预设置。当然,由于用户机群的差异性可能也存在部分服务缺失等问题,但这并不妨碍脚本的优势,希望大家能积极探讨,共同进步。相关文章推荐
- Ambari——大数据平台的搭建利器之进阶篇[配置spark]
- solr服务快速搭建、配置中文分词、数据导入即solrj增删改查
- Spark项目之电商用户行为分析大数据平台之(七)数据调研--基本数据结构介绍
- 【微信分享】王团结:如何用Hadoop/Spark构建七牛数据平台
- 配置数据引擎(BDE、SQL Link)的简单方法 /制做快速按钮条的方法/建立临时表的方法
- MyQuery 快速开发平台-配置实现开发架构
- 第29课:彻底解密Spark 1.6.X以前Shuffle中JVM内存使用及配置内幕详情:Spark到底能够缓存多少数据、Shuffle到底占用了多少数据、磁盘的数据远远比内存小却还是报告内存不足?
- 配置实现介绍 快速开发平台
- 开发指南专题八:JEECG微云快速开发平台数据字典
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止脱库、防止篡改数据
- Spark 大数据平台
- 度量快速开发平台:网格部件焦点行数据实现窗体功能的显示与隐藏控制
- spark读取kafka数据(两种方式比较及flume配置文件)
- 看我如何快速学习.Net(高可用数据采集平台)
- Windows平台下,将mdb文件快速向MySQL中导入数据的方法
- Spark项目之电商用户行为分析大数据平台之(八)需求分析
- 离线轻量级大数据平台Spark之MLib机器学习协同过滤ALS实例
- 大数据开发学习平台安装配置
- 企业大数据平台的集群的大小与配置
- 快速数据挖掘平台 RapidMiner课程