最近想在测试机装一个hadoop测试集群debug玩玩,然后就用cloudera manager装吧

这回使用rpm安装失败了,在网上搜到Cloudera Manager 5和CDH5离线安装说需要用scm_prepare_database.sh去初始化cm的数据库

然后就索性不用rpm安装,而是直接用tar.gz解压安装

由于公司不对7180端口放开,而且测试机的iptables命令缺少某些模块导致用不了,无法做端口转发,于是我就跟踪cm-5.10.0/etc/init.d/cloudera-scm-server的shell文件,到cm-5.10.0/share/cmf/bin/cmf-server,看到调用启动了java程序com.cloudera.server.cmf.Main。接着到cm-5.10.0/share/cmf/lib去grep server,找到server-5.10.0.jar,下载到windows本机,修改cm-5.10.0/share/cmf/bin/cmf-server加上调试参数-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8282"然后用idea打开远程调试,慢慢走,后来发现还需要下载其他jar包:persist-5.10.0.jar, db-common-5.10.0.jar, commons-dbutils-1.4.jar, 找到打开jetty服务的地方,心想着肯定有初始化端口的地方,后来在com.cloudera.server.cmf.WebServerImpl找到了这段代码:

int httpPort = ((Long)ScmHandler.getScmConfigValue(ScmParams.HTTP_PORT, stats)).intValue();

ScmParams.HTTP_PORT描述了取得端口号的键是http_port,如果没有这个配置就默认给7180; stats是个map,存放了各种配置,这些配置放在数据库中,用hibernate读出来,数据库、表、数据是用scm_prepare_database.sh创建出来的,其中有个CONFIGS表,插入一条数据就行了

INSERT INTO `CONFIGS` (`CONFIG_ID`, `ATTR`, `VALUE`, `CONFIG_CONTAINER_ID`) VALUES (4, 'http_port', '8043', 2);

经过docker虚拟机映射出来8001,可以访问了:

最新文章

  1. CSS3——3D翻转相册
  2. LDAP与SSH
  3. 4.5---判断是否是二叉排序树BST(CC150)
  4. netbean快捷键
  5. Gulp-前端进阶A-2
  6. CSS用类选择器在本页写样式
  7. Java中double类型数据的精度问题
  8. CentOS 6.4 安装思维到图工具TheBrain
  9. microchip PIC芯片使用方法
  10. 开心系列学习笔记---------javascript(7)
  11. ASP.NET母版与内容页相对路径的问题
  12. DelphiXE7如何调用Java Class,JAR等文件?
  13. U盘1G变8M解决的方法
  14. 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件
  15. js 图片转换为base64
  16. 解决span的bug--不能自动换行的问题
  17. C++实现单链表
  18. 20165309 《网络对抗技术》实验五:MSF基础应用
  19. java GMT时间转换为CST时间
  20. [翻译]理解分析Linux里的101个ELF文件

热门文章

  1. Mac 如何修改Mac系统的默认截图路径
  2. 路飞学城Python-Day8
  3. 获取鼠标经过处的标签的标签名和id
  4. 关于wdsl
  5. 关于.net core 在docker中监听地址设置踩坑记
  6. Python学习之三【对象和类型&&运算符】
  7. 【Struts2二】结果集(result-type)
  8. 软件project之软件设计
  9. poj 2154 Color(polya计数 + 欧拉函数优化)
  10. Java JNI 入门篇——传递数组与修改数组