本文梳理的Rest API主要是针对Web端的Rest API,暂不包括处理Agent 请求的API.该部分的处理以后会补充。
目录
- 基础知识准备
1.1. IDEA远程调试Ambari-Server
1.1.1. 在IDEA中配置远程服务器
1.1.2. 以Debug模式启动Ambari-Server
1.1.3. 在IDEA中连接Ambari-Server
1.2. Rest API 说明
1.2.1. 使用curl发送Rest API请求
1.2.2. Ambari-Server中基本的Rest API请求举例
1.3. Ambari-Server目录
1.4. Ambari-Server中基本资源对象与Provider - Ambari-Server 处理Rest API基本流程说明
2.1. 从Server到Handler
2.2. Hander分派
2.3. 具体Handler处理
2.4. 基本流程总结 - Ambari-Server通过Rest API进行服务安装、部署、操作流程
3.1. 服务部署安装流程
3.2. 关于配置
3.2.1. 配置相关的Rest API
3.3. 安装部署时可能遇到的问题
3.3.1. 安装失败,提示缺少配置
3.3.2. 重启时,数据库检查不通过,Ambari-Server重启失败
3.4. 服务操作
3.4.1. 创建服务
3.4.2. 启动服务
3.4.3. 停止服务
3.4.4. 卸载服务 - Ambari-Server通过Rest API进行服务安装、部署、操作源码分析
4.1. 创建服务资源
4.2. 为服务添加服务组件
4.3. 创建配置
4.4. 应用配置
4.5. 指定服务组件部署的主机
4.6. 开始服务组件的安装
4.6.1. 关于Stage与Stage DAG
4.6.2. Stage DAG构建逻辑
4.7. 服务操作 - 用户鉴权、操作权限检查管理
5.1. HTTP基本认证
5.2. 从Ambari-Server用户基本认证之Servlet Filter
5.2.1. 关于spring-security.xml
5.2.2. AmbariUserAuthorizationFilter
5.2.3. AmbariDelegatingAuthenticationFilter
5.2.4. AmbariAuthorizationFilter
5.3. 操作权限检查
5.4. 用户鉴权检查总结
5.5. 用户登录
5.6. 用户登出
1.基础知识准备
1.1.IDEA远程调试Ambari-Server
为了查看追踪Ambari-Server对Rest API的处理过程,可以采用Debug方式启动Ambari-Server,然后使用本地IDEA环境连接Ambari-Server,对Ambari-Server进行远程调试,追踪Ambari-Server的运行流程。
主要操作步骤如下:
① 在IDEA中配置远程服务器;
② 以Debug模式启动Ambari-Server;
③ 在IDEA中连接Ambari-Server,开始追踪Server运行流程。
下面对各个步骤进行详细说明。
1.1.1.在IDEA中配置远程服务器
操作步骤:
① 在工具栏中,点击“Select Run/Debug Configuration”按钮;
② 在弹出菜单中点击“Edit Configurations…”,弹出“Run/Debug Configurations”对话框;
③ 在弹出“Run/Debug Configurations”对话框中选择点击添加按钮,添加类型为”Remote”;
④ 配置Remote Server,然后点击”OK”,保存配置Remote Server;
配置完成后,IDEA工具栏会显示刚才配置的Server
1.1.2.以Debug模式启动Ambari-Server
Ambari-Server后端使用postgreSQL数据库时,启动命令为:
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64/bin/java -server -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 -XX:NewRatio=3 -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -Dsun.zip.disableMemoryMapping=true -Xms512m -Xmx2048m -XX:MaxPermSize=128m -Djava.security.auth.login.config=/etc/ambari-server/conf/krb5JAASLogin.conf -Djava.security.krb5.conf=