写在前面的话:当初项目组业务扩大,日均流水达到千万级别,考虑到mysql可能没法支撑,便开始研究HBase,从而开始接触Hadoop。刚开始安装集群时,使用很是传统的下载、安装模式,不但效率低下,而且极其容易出问题。偶然发现有ambari这么好用的一个工具,瞬间抛弃旧集群,开始捣鼓ambari。过程当中遇到过不少坑,还好csdn和stackoverflow能找到大部分解答。ambari是Hortonworks公司的一款产品,用来简化安装Hadoop组件和监控整个集群的状态,优势很少说,我的以为缺点是集成的组件版本有点低~~扯的有点远...html
下面开始翻译升级Ambari2.3至2.5
node
原文地址:
mysql
https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.0.3/bk_ambari-upgrade/content/ambari_upgrade_guide.htmlweb
一、更新Ambari和HDPsql
注意:
数据库
Ambari2.5不支持管理HDP 2.2,2.1或2.0集群(小弟是从2.4升级至2.6)。若是你使用的是HDP2.2,2.1或2.0,为了使用Ambari2.5你必须先使用Ambari2.4.2,2.2.2,2.2.1,2.2,2.1或2.0将HDP升级高于2.3的版本。一旦完成上面的升级,就能够将你如今的Ambari升级至2.5啦。centos
二、升级前准备api
当你准备升级Ambari和HDP集群,咱们强烈建议你多看看下面的清单确保你的集群操做是安全的。若是尝试升级一个处于不健康状态的集群可能会致使一些不可预料的结果。浏览器
注意:安全
若是你升级至Ambari2.4,在升级HDP前你必须确保Ranger的数据密码不为空。Ambari须要Ranger数据库密码有值。若是你升级至Ambari2.2没有对Ranger的数据库的密码赋值,Ranger服务将会在升级以后没法启动。
三、更新集群所在的操做系统
这里不作说明,有须要请查看官方文档、评论或私信
四、更新Ambari(基本都是页面操做,简单)
4.1更新前准备
4.2更新Ambari
1.在Ambari页面上中止Ambari Metrics
2.中止Ambari server,在安装Ambari server服务的机器上执行
#ambari-server stop
3.中止Ambari agents,在全部安装agents的节点机器上执行
#ambari-agent stop
4.下载新的Ambari repo和HDP repo文件至全部的节点(建议搭建本地仓库)
For RHEL/CentOS/Oracle Linux 6:
wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari.repo -O /etc/yum.repos.d/ambari.repo
#wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari.repo -O /etc/yum.repos.d/ambari.repo
For RHEL/CentOS/Oracle Linux 7:
#wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.0.3/ambari.repo -O /etc/yum.repos.d/ambari.repo
5.先更新Ambari server
yum clean all
yum info ambari-server
yum upgrade ambari-server
6.检查第5步的输出,大体会出现如下的内容:
Setting up Upgrade Process Resolving Dependencies --> Running transaction check
若是升级失败,控制台会输出:
Setting up Upgrade Process No Packages marked for Update
若是升级成功,控制台会输出:
Updated: ambari-server.noarch 0:2.5-111 Complete!
7.再更新Ambari agents
yum clean all
yum info ambari-agent
yum upgrade ambari-agent
8.在升级完成,检查每台机器的安装版本
#rpm -qa | grep ambari-agent
9.更新Ambari server的数据库
#ambari-server upgrade
10.启动Ambari server
#ambari-server start
11.启动全部的Ambari agent
#ambari-agent start
12.打开Ambari web页面
在浏览器中输入: http://<your.ambari.server>:8080,默认账号密码 admin/admin
13.更新Ambari Metrics和增长Grafana组件
4.3强制的一些工做
4.3.3.1增长Grafana(4.3讲讲这里)
1.确保全部服务运行正常;
2.新增组件方式是调用ambari提供的API
#curl -u admin:admin -H "X-Requested-By:ambari" -i -X POST http://ambari.server:8080/api/v1/clusters/cluster.name/services/ AMBARI_METRICS/components/METRICS_GRAFANA
3.增长METRICS_GRAFANA(注意改变变量值)
#curl -u admin:admin -H "X-Requested-By:ambari" -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"METRICS_GRAFANA"}}]}' http://ambari.server:8080/api/v1/clusters/ cluster.name/hosts?Hosts/host_name=host.name
4.3.4.2升级日志输出
强烈执行这一项,由于2.4版本的日志看着很蛋疼,全部日志全在一个文件里面,作了此项便于日志的管理和查看。(暂未翻译)
五、升级HDP
5.1升级HDP有两种方式:Rolling Upgrade & Express Upgrade。Rolling Upgrade能够在更新过程当中对服务不长产生影响,可是须要严格的前提,而且升级花费的时间比Express Upgrade长;Express Upgrade升级中会让集群中止服务,可是不会有严格的前条件。(这里请你们依具体业务场景而定,由于小弟所维护的集群做为实时交易存储,没法中断交易,因此选择的Rolling Upgrade)
若是你选择Rolling Upgrade方式,有几个前提:
HDFS部分:必须开启Namenode HA,HDFS中组件在Ambari页面中必须为绿色;若是你升级前版本为HDP 2.2 ,那么你的Namenode Truncate 必须关闭;
YARN部分:Timeline Service State Recovery必须开启;YARN work preserving recovery必须开启;ResourceManager HA 应该开启(可选);
MapReduce部分:JobHistory state应该开启;若是encrypted shuffle已经开启了,ssl-client.xml文件必须拷贝一份至/etc/hadoop/conf/secure文件夹中;
~~~~部分
5.2准备升级
在升级以后,强烈建议备份一下数据库数据
注意:若是你使用的是MySQL 5.6 ,那存储引擎必须选择Inno DB,若是使用的是MyISAM,你必须改变;
HDFS检查点:
1.若是你启用了Namenode HA,在Active Namenode节点上执行下列的步骤;
2.检查Namenode的文件夹,确保没有以前的升级快照;而且,最好检查配置文件中dfs.namenode.name.dir的值,确保值有/current文件夹;
3.建立下列的日志文件和其余文件
#su - hdfs切换至hdfs用户
#hdfs fsck / -files -blocks -locations > dfs-old-fsck-1.log
#hdfs dfsadmin -report > dfs-old-report-1.log
#hdfs dfs -ls -R / > dfs-old-lsr-1.log
#hdfs dfsadmin -safemode enter
#hdfs dfsadmin -saveNamespace
4.将${dfs.namenode.name.dir}/current下的检测点文件备份;
5.备份${dfs.namenode.name.dir}/current/VERSION;
6.退出安全模式
#hdfs dfsadmin -safemode leave
#hdfs dfsadmin -finalizeUpgrade
5.3注册并安装目标版本包
1.登录Ambari页面;
2.Admin > Stack and Versions;
3.点击versions按钮,你能够看到当前运行的版本,将其标识为Current;
4.点击Manage Versions;
5.点击+register Versin;
6.选择软件HDP版本并选择包的传输方式(这里与当初初次安装Ambari一致)
a.选择HDP Stack
b.选择HDP Version
c.选择仓库传输方式;
7.点击save;
安装:
1.登录Ambari;
2.点击Admin > Stack and Versions.
3.点击Versions按钮;
4.点击install并点击ok
当安装完成后,install按钮将会替换为upgrade按钮
5.4执行更新
1.登录Ambari;
2.点击Admin > Stack and Versions.
3.点击Versions按钮;
4.点击Perform Upgrade5.选择Rolling Upgrade或者Express Upgrade
6.点击Proceed.
后续若是有细节再进行补充。(禁止转载)