温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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实操
本文暂时没有评论,来添加一个吧(●'◡'●)