前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0461-CDH6.0扩容异常分析

0461-CDH6.0扩容异常分析

作者头像
Fayson
发布2018-12-17 11:52:48
9540
发布2018-12-17 11:52:48
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

问题重现

1.在CDH6.0中,点击“主机”->“所有主机”->“向群集添加新主机”,会出现异常如下:

出现异常如下:

2.查看具体的日志报错如下:

代码语言:javascript
复制
2018-11-21 20:45:00,262 INFO avro-servlet-hb-processor-1:com.cloudera.server.common.AgentAvroServlet: (43 skipped) AgentAvroServlet: heartbeat processing stats: average=8ms, min=6ms, max=37ms.
2018-11-21 20:46:00,299 INFO avro-servlet-hb-processor-1:com.cloudera.server.common.AgentAvroServlet: (43 skipped) AgentAvroServlet: heartbeat processing stats: average=8ms, min=6ms, max=37ms.
2018-11-21 20:47:00,347 INFO avro-servlet-hb-processor-1:com.cloudera.server.common.AgentAvroServlet: (43 skipped) AgentAvroServlet: heartbeat processing stats: average=8ms, min=6ms, max=26ms.
2018-11-21 20:47:11,513 INFO scm-web-3396:com.cloudera.server.web.common.ExceptionReport: Exception report generated accessing http://54.169.8.88:7180/cmf/add-hosts-wizard/wizard
org.springframework.web.bind.MissingServletRequestParameterException: Required Long parameter 'clusterId' is not present
        at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:198)
        at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:109)
        at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)
        at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
        at com.jamonapi.http.JAMonServletFilter.doFilter(JAMonServletFilter.java:48)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
        at com.cloudera.enterprise.JavaMelodyFacade$MonitoringFilter.doFilter(JavaMelodyFacade.java:200)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)

(可左右滑动)

2

问题解决

1.根据报错显示网页请求拿不到clusterId,我们先去数据库里找到集群的id

代码语言:javascript
复制
[root@ip-172-31-6-83 cloudera-scm-server]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2691
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| am                 |
| cm                 |
| hue                |
| metastore          |
| mysql              |
| nav_as             |
| nav_ms             |
| oozie              |
| performance_schema |
| rm                 |
| sentry             |
+--------------------+
12 rows in set (0.00 sec)
MariaDB [cm]> select * from CLUSTERS;
+------------+---------+-------------------+-------------------------+-------------+--------------+--------------------------------------+
| CLUSTER_ID | NAME    | MAINTENANCE_COUNT | OPTIMISTIC_LOCK_VERSION | CDH_VERSION | DISPLAY_NAME | UUID                                 |
+------------+---------+-------------------+-------------------------+-------------+--------------+--------------------------------------+
|          1 | cluster |                 0 |                       6 | CDH 6.0.0   | MyCluster    | a0ee7d9d-e901-4664-9924-83d967b1516c |
+------------+---------+-------------------+-------------------------+-------------+--------------+--------------------------------------+
1 row in set (0.00 sec)

(可左右滑动)

可以看到clusterId为1

2.我们从第一章“向群集添加新主机”网页可以看到访问的url地址如下:

代码语言:javascript
复制
http://xx.169.8.88:7180/cmf/add-hosts-wizard/wizard

(可左右滑动)

3.带上clusterId直接在浏览器输入“向群集添加新主机”的地址。

代码语言:javascript
复制
http://xx.169.8.88:7180/cmf/add-hosts-wizard/wizard?clusterId=1

(可左右滑动)

Ok,搞定,可以正常访问了,Fayson已经自己测试过了,加入节点进行集群扩容是可以成功的。

3

总结

如本文所述CDH6.0.0在进行集群扩容加入机器的时候,“向群集添加新主机”页面会无法正常显示,直接报错,根据报错是找不到clusterId,我们在浏览器直接传入clusterId参数后访问正常,集群的clusterId可以到CM的数据库中进行查询。这可能是6.0.0的bug,不清楚最新的6.0.1有没有修复。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MariaDB
腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档