【原创】大叔问题定位分享(23)Ambari安装向导点击下一步卡住
ambari安装第一步是输入集群name,点击next时页面卡住不动,如下图:
注意到其中一个接口请求结果异常,http://ambari.server:8080/api/v1/version_definitions 重现如下:
curl -u admin:admin "http://ambari.server:8080/api/v1/version_definitions?fields=VersionDefinition/stack_default,VersionDefinition/stack_repo_update_link_exists,VersionDefinition/max_jdk,VersionDefinition/min_jdk,operating_systems/repositories/Repositories/*,operating_systems/OperatingSystems/*,VersionDefinition/stack_services,VersionDefinition/repository_version&VersionDefinition/show_available=true&VersionDefinition/stack_name=HDP&_=1547529429429"
{
"href" : "http://ambari.server:8080/api/v1/version_definitions?fields=VersionDefinition/stack_default,VersionDefinition/stack_repo_update_link_exists,VersionDefinition/max_jdk,VersionDefinition/min_jdk,operating_systems/repositories/Repositories/*,operating_systems/OperatingSystems/*,VersionDefinition/stack_services,VersionDefinition/repository_version&VersionDefinition/show_available=true&VersionDefinition/stack_name=HDP&_=1547529429429",
"items" : [ ]
}
跟进代码发现对应的js代码为:
ambari-web/app/controllers/installer.js
- /**
- * query every stack names from server
- * @return {Array}
- */
- loadStacksVersions: function () {
- var requests = [];
- const dfd = $.Deferred();
- this.get('stackNames').forEach(function (stackName) {
- requests.push(App.ajax.send({
- name: 'wizard.stacks_versions_definitions',
- sender: this,
- data: {
- stackName: stackName,
- dfd: dfd
- },
- success: 'loadStacksVersionsDefinitionsSuccessCallback',
- error: 'loadStacksVersionsErrorCallback'
- }));
- }, this);
- this.set('loadStacksRequestsCounter', requests.length);
- return dfd.promise();
- },
这段代码要访问所有的stack version,但是服务器返回空,所以一直卡住
注意到服务器启动时有一段日志:
2019-01-15 12:03:45,452 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.0 is not active, skipping VDF
2019-01-15 12:03:45,452 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.0.6 is not active, skipping VDF
2019-01-15 12:03:45,452 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.0.6.GlusterFS is not active, skipping VDF
2019-01-15 12:03:45,452 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.1 is not active, skipping VDF
2019-01-15 12:03:45,452 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.1.GlusterFS is not active, skipping VDF
2019-01-15 12:03:45,452 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.2 is not active, skipping VDF
2019-01-15 12:03:45,453 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.3 is not active, skipping VDF
2019-01-15 12:03:45,453 INFO [ambari-client-thread-44] AmbariMetaInfo:1430 - Stack HDP-2.3.ECS is not active, skipping VDF
2019-01-15 12:03:45,453 INFO [ambari-client-thread-44] AmbariMetaInfo:1428 - Stack HDP-2.3.GlusterFS is not valid, skipping VDF: The service 'OOZIE' in stack 'HDP:2.3.GlusterFS' extends a non-existent service: 'common-services/OOZIE/5.0.0.2.3'
跟进日志代码发现
org.apache.ambari.server.api.services.AmbariMetaInfo
- private synchronized void ensureVersionDefinitions() {
- ...
- StackId stackId = new StackId(stack);
- if (!stack.isValid()) {
- LOG.info("Stack {} is not valid, skipping VDF: {}", stackId, StringUtils.join(stack.getErrors(), "; "));
- } else if (!stack.isActive()) {
- LOG.info("Stack {} is not active, skipping VDF", stackId);
- }
这里isActive是在StackModule.populateStackInfo中赋值:
org.apache.ambari.server.stack.StackModule
- private void populateStackInfo() {
- ...
- StackMetainfoXml smx = stackDirectory.getMetaInfoFile();
- ...
- stackInfo.setActive(smx.getVersion().isActive());
可以看到isActive取值自StackMetainfoXml
org.apache.ambari.server.state.stack.StackMetainfoXml
这个类对应的metainfo.xml为
/var/lib/ambari-server/resources/stacks/HDP/$version/metainfo.xml
cat /var/lib/ambari-server/resources/stacks/HDP/2.6/metainfo.xml
<metainfo>
<versions>
<active>false</active>
</versions>
<extends>2.5</extends>
<minJdk>1.7</minJdk>
<maxJdk>1.8</maxJdk>
</metainfo>
查看metainfo.xml发现安装完成之后各个版本的metainfo.xml中active默认都是false;
将active改为true,然后重启ambari-server,如果重启之后解决问题,那么恭喜你,如果还有问题请继续看:
尝试手工注册vdf
curl -v -k -u admin:admin -H "X-Requested-By:ambari" -X POST http://ambari.server:8080/api/v1/version_definitions -d '{"VersionDefinition": {"version_url":"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos7/2.x/BUILDS/2.6.5.0-292/HDP-2.6.5.0-292.xml"}}'
各个版本的vdf可以在这里找到:http://s3.amazonaws.com/dev.hortonworks.com/HDP/hdp_urlinfo.json
终于见到stack选择页面
【原创】大叔问题定位分享(23)Ambari安装向导点击下一步卡住的更多相关文章
- JDK_win10环境下安装JDK8时点击下一步没反应的解决办法
问题现象 打开JDK8,点击下一步就没后续了... 解决方法 百度了一下"win10安装jdk8点下一步无响应" . 按照博客中说的操作试了下...安装成功了... 只想说...什 ...
- 【原创】大叔问题定位分享(25)ambari metrics collector内置standalone hbase启动失败
ambari metrics collector内置hbase目录位于 /usr/lib/ams-hbase 配置位于 /etc/ams-hbase/conf 通过ruby启动 /usr/lib/am ...
- 【原创】大叔问题定位分享(28)openssh升级到7.4之后ssh跳转异常
服务器集群之间忽然ssh跳转不通 # ssh 192.168.0.1The authenticity of host '192.168.0.1 (192.168.0.1)' can't be esta ...
- 【原创】大叔问题定位分享(24)hbase standalone方式启动报错
hbase 2.0.2 hbase standalone方式启动报错: 2019-01-17 15:49:08,730 ERROR [Thread-24] master.HMaster: Failed ...
- 【原创】大叔问题定位分享(13)HBase Region频繁下线
问题现象:hive执行sql报错 select count(*) from test_hive_table; 报错 Error: java.io.IOException: org.apache.had ...
- 【原创】大叔问题定位分享(7)Spark任务中Job进度卡住不动
Spark2.1.1 最近运行spark任务时会发现任务经常运行很久,具体job如下: Job Id ▾ Description Submitted Duration Stages: Succeed ...
- 【原创】大叔问题定位分享(6)Dubbo monitor服务iowait高,负载高
一 问题 Dubbo monitor所在服务器状态异常,iowait一直很高,load也一直很高,监控如下: iowait如图: load如图: 二 分析 通过iotop命令可以查看当前系统中磁盘io ...
- 【原创】大叔问题定位分享(4)Kafka集群broker节点从zookeeper上消失
kafka_2.8.0-0.8.1 一 现象 生产环境一组kafka集群经常发生问题,现象是kafka在zookeeper上的broker节点消失,此时kafka进程和端口都在,然后每个broker都 ...
- 【原创】大叔问题定位分享(3)Kafka集群broker进程逐个报错退出
kafka0.8.1 一 问题现象 生产环境kafka服务器134.135.136分别在10月11号.10月13号挂掉: 134日志 [2014-10-13 16:45:41,902] FATAL [ ...
随机推荐
- 在SQL Server中如何进行UPDATE TOP .....ORDER BY?
前言 今天在导入数据到系统后需要根据时间排序对刚导入的TOP N条进行数据更新,之前没遇到过UPDATE TOP...ORDER BY,以此作为备忘录. SQL SERVER之UPDATE TOP.. ...
- lvs--小白博客
lvs 一.负载均衡LVS基本介绍 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器.这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www ...
- 03-JavaScript之数据类型
JavaScript之数据类型 1.介绍 JavaScript数据类型分为两类:原始类型(primitive type)和对象类型(object type) 2.原始类型 数字 - number.字符 ...
- windows环境下memcache相关配置及PHP加载相应模块(php7版本)
原文:https://blog.csdn.net/zhangatle/article/details/77504094 亲测安装成功 php 7.0 nts 86 第一步,首先下载windows版本的 ...
- Python中的 一些常用技巧函数[.join()]
1.str.join(item)字符串操作函数,参数item可以是字符串.元组.字典,示例 ','.join('abc') [','.join('abc')] 输出: 'a,b,c'['a', 'b' ...
- IE 11 flex布局兼容性问题 ---- 不支持min-height 和flex:1
由于最近项目要嵌入其它平台,所以要做IE11 的兼容,那就用IE11打开网页看一看,一看吓一跳,页脚直接到了页眉的下面,并把主要内容覆盖了,也就是stick footer 布局失效了,我写了一个简易的 ...
- OperationCenter Docker容器启动脚本
docker rm -f OperationCenter rm -f /root/webapps/logs/* image_name="harbor.gfstack.geo/geostack ...
- [洛谷P1357] 花园
题目类型:状压\(DP\) -> 矩阵乘法 绝妙然而思维难度极其大的一道好题! 传送门:>Here< 题意:有一个环形花圃,可以种两种花:0或1. 要求任意相邻的\(M\)个花中1的 ...
- bzoj 1208: [HNOI2004]宠物收养所 (Treap)
链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1208 题面: 1208: [HNOI2004]宠物收养所 Time Limit: 10 ...
- (二叉树 DFS 递归) leetcode 112. Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...