玩转Edas应用部署-阿里云开发者社区

开发者社区> 阿里云支持与服务> 正文
登录阅读全文

玩转Edas应用部署

简介: EDAS 提供了一个可视化的应用发布与管理平台;EDAS 提供了一个高性能的 RPC 框架,能够构建高可用的分布式系统;EDAS提供一系列系统数据化运营组件,本文正是针对EDAS的应用部署的分享。请保持认真的姿势把文章看到底!


云享团干货第二期,本期分享专家:滨雨,有多年软件开发 + 项目管理经验,先后在华为、阿里基础架构部任职,在阿里云主要从事存储、cdn、视频、中间件等技术领域的支持,喜欢新技术,喜欢钻研,喜欢各种新的挑战。

本期分享“玩转Edas应用部署”,后续也会持续给大家带来干货分享,如果有什么问题欢迎在下边留言讨论。



Edas应用部署,能解决什么问题呢?能给我们带来哪些便利?看看以下三个场景你就懂啦。


应用发布与管理

还在担心在复杂云环境中的应用发布、部署、重启、扩容等操作?EDAS 提供了一个可视化的应用发布与管理平台。

构建一个分布式系统

还在考虑网络通信,序列化协议设计等技术细节?考虑各个应用之间的分布式服务发现、服务路由、服务调用以及服务安全等细节?EDAS 提供了一个高性能的 RPC 框架,能够构建高可用的分布式系统。

透过数字来剖析我们的系统运行状态


还在为实现服务进行精细化的监控和跟踪,寻找系统瓶颈所在而烦心?EDAS提供了一系列系统数据化运营组件。

作者针对EDAS的应用部署这一核心功能进行了详细的介绍,请保持认真的姿势看到底

普通应用部署

1、前提条件:必须有还未被实例化的,且安装好Agentecs

4471ecddb81612c3e53909513ee67d771498f2c3

2、其他详细步骤参考:https://help.aliyun.com/document_detail/43150.html?spm=5176.doc43456.6.565.zDd64Q

docker应用部署

1、开通公测

安装docker应用(目前在控制台上叫集群管理)需要单独申请开通公测,可以工单提交反馈

fe3a080db148a9ee523c2cd98dcc8c34a49600b4

2、ecs服务器docker转化

将选择的ecs服务器docker化

d816004fde85832b408deb309a2d7b68dc834340

3、服务端应用创建

创建服务端docker应用,自定义指定端口,端口地址要大于1024,选择给应用配置的cpu和内存配置,需要注意的是,在同一个集群内,端口是不允许重复的。

5b4ab252a57a2ce8b679bc1bd34a2a3f56c360f7

4、创建provider端hsf工程

服务端工程对外暴露一个接口,以hsf:provider标签对外暴露服务

配置文件如下:

e56cbfc0da29838a75d95c45f657ad1648385ca8

 

代码工程如图:

5ce6e9668c069abe8cc0a70904c38be73fe0cee5

将工程打成war包

5、provider端应用部署

将第四步工程打出的war包上传部署

fe14cf95bb1c00f3adecf49315324bfdeb0ca7e5

6、监控服务列表,如果应用部署成功,可以在服务列表看到对外暴露的服务

58c751940c6efe65408990446326234e8be9a089

而此时是还看不到消费的服务

7、创建消费端应用

同样的方式,创建消费端应用,部署消费端服务,部署成功后,可以在消费端看到消费的服务

消费端应用代码示例

b9d664f16e72b4239eba0088dcafe3444d6d09e1

8、docker容器查看

ssh登录到docker服务器,执行docker ps 可以查看到服务器上部署的容器信息

40c592827878d6ed45fcc4b4180f0894a588441f

执行docker exec -ti  $container_id bash 进入到docker容器,可以查看容器内部署应用的情况

7496a23ebb056309915007763526959f5dd0a875

实战排查

  • 实战宝典

在使用edas过程,难免会中间遇到很多阻塞的问题,在遇到问题的时候保持淡定,定位问题的方式可以采取五步曲:

c177b287ca524ac61c5d9c253ae925f027a5668e

1、查看日志:

相信不管是测试还是开发人员,日志永远都是定位问题的最佳利器,edas问题的日志,可以通过两种方式,一种是在应用控制台-运行日志,可以直接看到应用部署的日志,另一种则是直接登录到服务器,到 /home/admin/taobao-tomcat****/目录下查看。

Agent的日志:

60a2df313f14017d2bcb38f8e5e22f73ce4780d5

2、网络环境确认

网络环境问题,也是edas应用部署中很常见的,ecs服务器上如果路由发生过变更,则会导致无法ping通域名: edas-internal.console.aliyun.com

例如下面的截图就是一个正常的路由(只针对阿里云ecs):从路由可以看到,必须至少包含10.*网段以及100.*网络的路由信息,当发现路由策略有问题时需要根据情况添加路由信息

ac1fbb760ed8ce8d3310006a60f6befbb2ed32b1

3、xml配置文件确认

主要针对hsf应用的配置,consumer端和provider端的xml配置文件,版本号保持统一、接口名保持统一

4、 查询到异常信息后根据关键字到阿里云官网文档上搜索解决方案:

https://help.aliyun.com/product/29500.html?spm=5176.doc42939.3.1.q2mSgr

hsf异常编码问题:

https://help.aliyun.com/knowledge_list/43910.html?spm=5176.7743936.3.4.YyZNUd

5、倘若前四部依然没能解决问题,可以直接反馈工单

  • 案例分析

1、端口问题

应用出现部署异常,按照“排查宝典”,第一步,先看日志,如图的启动日志:

526abc3647be25bc990a85994fce86dc428d8322

从日志的异常信息可以很清楚的看到是由于端口冲突,这类问题,一种方法就是更改应用的端口,或者到服务器上去kill掉占用相同端口的进程。


2、 xml配置错误问题

例如下面的异常信息:

1300619e9014af3f10788c6b0d3aeb4d89b1d5d5

根据“宝典”第一步,先查看日志,这是一个hsf客户端的启动日志,从日志可以看出是客户端调用hsf失败,可以检查hsf应用服务端和消费端的配置日志。

Consumer端:

037e6da072137e135fcadabdb5cbf6ed9bf6ae04

服务端:

61d0cc3448c5643454c9118fb1fbea3e95607b26

检查后可以发现,两边对应的interface配置不一致,导致服务启动失败,修改interface后问题得到解决。

3、hsf异常问题

hsf有一套自定义的标准异常code,当在应用启动时出现类似“HSF-00**”的异常日志时,可以直接在hsf常见问题中搜索到解决方案

https://help.aliyun.com/knowledge_list/43910.html?spm=5176.7743949.3.4.BzlRSR

例如下图:
90a0a49d81e971170b7fc0f346a350490552d6a4

可以看到应用启动时发现有异常:“HSF-0001”错误信息抛出,根据错误编码,找到对应文档,根据文档提示进行排查
https://help.aliyun.com/knowledge_detail/43936.html?spm=5176.7843910.2.3.p2s0GN


4、 网络环境问题

应用启动后,发现配置中心上(线上环境是不需要单独创建配置中心的),无法查看到提供者列表和调用者列表,如下图配置中心:

d2b2733c9b43636c80f378cef070df5014fb8e55

c500ecbfc3dbb337fa6d697aa9214af0967d5577

hsf应用运行前提是:

1)消费端和服务端与配置中心网络是可达的

2)消费端可以远程telnet服务端的12200端口

在本地的运行环境下,我们先检查第一步,看下本地是否绑定jmenv.tbsite.net到配置中心ip地址,执行ping jmenv.tbsite.net

5020223a3b755f11307c697d9f1e2ab6a483f4dd

得到ip地址

再用得到的ip地址访问http://ip:8080

57d7f11fc6e6ff41aa99d50e4d7a91ab97adb4bb

因此可以很明确的知道是由于与配置中心网络不通,解决办法是需要将configserver搭建好后,在本地的hosts文件中绑定ipjmenv.tbsite.net


今天的分享结束啦,大家还需要哪些技术分享,欢迎留言,我们下期见。



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: