0461-CDH6.0扩容异常分析

版权声明:原创文章,欢迎转载,转载请注明:转载自 https://blog.csdn.net/Hadoop_SC/article/details/84450091

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

推荐关注微信公众号:“Hadoop实操”,公众号ID:gh_c4c535955d0f,或者扫描文末二维码。

1.问题重现

1.在CDH6.0中,点击“主机”->“所有主机”->“向群集添加新主机”,会出现异常如下:
在这里插入图片描述
在这里插入图片描述

出现异常如下:
在这里插入图片描述

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

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

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

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

在这里插入图片描述

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

http://xx.169.8.88:7180/cmf/add-hosts-wizard/wizard?clusterId=1

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

扫描二维码关注公众号,回复: 4235197 查看本文章

3总结

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

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

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
在这里插入图片描述

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Hadoop_SC/article/details/84450091