编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

0461-CDH6.0扩容异常分析(扩容阶段)

wxchong 2024-07-23 21:21:43 开源技术 39 ℃ 0 评论

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

Fayson的github:

https://github.com/fayson/cdhproject

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

1

问题重现

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

出现异常如下:

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

Bash
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

Bash
[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地址如下:

Bash
http://xx.169.8.88:7180/cmf/add-hosts-wizard/wizard

(可左右滑动)

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

Bash
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有没有修复。

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

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

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表