方案1:直接从首页发起登录,跳过登录界面,尝试未成功。另外修改关键代码涉及到打包再编译,需配置ambari编译环境,且版本打包耗时巨大,此处采用临时方案2实现。
方案2:直接修改前端,隐藏登录界面,app.js默认写死用户名和密码自动登录,让用户在界感知不到登录界面存在。
建议修改前进行备份(Ambari版本2.5.0.0)
操作步骤:
(1)安装google浏览器,在http://ip:port/#/login登录界面,按F12
(2)鼠标放在登录按钮上,右键点击->检查
找到登录按钮的id如上图所示:i18n-4,记住此ID(基本不变)
(3)后台修改首页index.html界面
# cd /usr/lib/ambari-server/web
# vim index.html
添加如下代码:
修改完后按Esc键,输入:wq保存退出
每隔50ms检查一次是否出现登录按钮,如果已经出现,直接触发click自登录。
(4)隐藏登录界面样式
注明:用visibility、display隐藏样式发现click事件失效,索性自己设置样式的Position位置到不可见区域
# cd /usr/lib/ambari-server/web/stylesheets
# vim app.css
然后按下:1986(跳转到1986行),方框内的为新增设置
修改完后按Esc键,输入:wq保存退出
(4)修改app.js代码写死用户名和密码
# cd /usr/lib/ambari-server/web/javascripts
# vim app.js
:4413(跳转到4413行,将loginName和password初值设为admin)
修改后按Esc键,然后输入:94210(跳转到此行),按如下方框进行修改:
修改完后按Esc键,输入:wq保存退出即可。
修改完后个人未重启ambari即可生效,如果未生效可以重启下看看效果
重启命令:
# ambari-server restart
# ambari-agent restart