Ambari系列(四):基于Ambari做二次开发(DIY)

前言

Ambari能够搭建、管理Hadoop集群,这是一件很酷的事情,让集群管理变的easy,但是有可能也有自己的一些需求,如果我想基于Ambari做二次开发DIY,修改一下界面,增加一些功能,添加一个模块等等,这些都是没问题,首先Ambari是基于ASF协议,其次,开发也很方便,唯一不足的是官网基于此的开发文档不多。

我主要介绍下,怎么基于Ambari做二次开发,搭建开发环境,最后编译部署打包。

开发环境搭建

在windows下安装nodejs python的编译运行环境比较复杂,主要是nodejs有些库文件 是需要C++ 、ruby、python等一些语言进行编译,所以在linux上搭建这些环境简单,使用samba协议共享Linux中的文件,在linux上运行测试,在windows下进行代码修改。(使用samba协议是一种连接linux和windows的方法,可以应用到很多场景,我觉得这是亮点)。

安装samba

1)安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yum。yum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,命令十分简单:yum install samba,快捷方便的背后离不开程序员的辛苦啊!

2) service smb restart // 重启 SMB

3) useradd samba // 在 Linux 上建立samba用户

4) smbpasswd -a samba // 创建 Smb 用户,此用户必须是 Linux 上已经建立的

输入密码,完成即可。

5) srvice iptables stop // 关闭防火墙

6) setenforce 0 // 确保setlinux关闭

7)修改/etc/samba/smb.conf,这里面的参数就比较多,主要是

vi/etc/samba/smb.conf ,在最后加入想要共享的文件夹:

[samba home]                     ;共享名称

path = /home/samba ;共享文件夹路径

writeable = yes         ;是否可写

guest ok = no          ;是否允许GUEST访问

8)windows下连接,启动运行,输入\\<samba_ip>,输入smb帐号密码就可以了

开发流程

1)       在ambari-web工程下,运行命令

下载好ambari相应的源码,进入相应的目录中。

[[email protected] ambari-web]# brunch watch –server

此时,ambari-web项目已经运行

可以通过浏览器访问:http://<ambari-webserver ip>:3333

2)       在window上,通过远程连接访问到samba共享出来的目录,修改相应的代码,ambari-web项目会自动编译,在浏览器刷新,会看到修改后的效果。

3)       打包

开发完毕之后,可以参考Ambari系列的第一篇、第二篇博客,进行编译,安装。

原创文章,欢迎转载,转载请标明出处

时间: 2024-07-28 13:14:32

Ambari系列(四):基于Ambari做二次开发(DIY)的相关文章

深入理解基于selenium的二次开发

对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是为了易于维护,很多人可能不懂得维护的价值是什么,和到底要维护什么.今天专门写一篇关于二次开发的文章,希望能够帮到有需要做二次开发的人.      二次开发也就是我们常说的封装selenium,或者做框架.但是一个框架要包含丰富的类和方法.要有一套完整的体系来帮助我们进行封装.可以说框架的设计思想就是整个框架的灵魂,如果设计思想很正确也就意味着这个框架成功

Qt4.8.6+mingw+Qgis2.4.0基于QGis的二次开发

关于QGis的二次开发,大致看了一下,基本都是在VC+QT的环境下做环境部署,而且QGis的版本非常老,在mingw下直接开发搭建环境的例子少之又少,基于最新的Qgis2.4.0版本做了相应的尝试,并成功搭建相应的环境,大致的配置如下: 由于在搭建的过程之中遇到的问题实在太多,没有一一记录下来,所以在本文中没有做过多的描述,如有疑问可以联系[email protected],或者留言 环境搭建 pro文件配置 QT += core gui xml greaterThan(QT_MAJOR_VER

QGIS(PYTHON3.5、QT5.7.1、QGIS3)系列二次开发环境

QGIS(PYTHON3.5.QT5.7.1.QGIS3系列二次开发环境,所有环境以虚拟机方式提供,以便研究或直接使用. 具体包括:独立应用二次开发环境(WINDOWS,LINUX):android二次开发:独立应用PYTHON二次开发环境(WINDOWS,LINUX):插件开发环境(PYTHON,C++). 另外,我们承接基于QGIS的二次开发.插件开发整理:承接QGIS平台级功能的定制修改:承接QGIS的基本学习资料https://user.qzone.qq.com/2665146134/i

最好最实用的PHP二次开发教程

◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或是软件公司.选择和 应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息化成本(时间成本及开发成本)的同时,更能带来技术上的保障.这就是 我们常听的:站在巨人的肩膀上,你将看的更远.所以国内

开源系统_二次开发(转)

转自http://www.phpchina.com/portal.php?mod=view&aid=40204, 更多详细资料请参看原文 最好最实用的二次开发教程 ◆二次开发 什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一 般来说都不会改变原有系统的内核. 为什么要二次开发? 随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或 是软件公司.选择和应用这些优秀的开源软件,并在此基础上进行

微控工具xp模块-开发版[微信(wechat)二次开发模块]

http://repo.xposed.info/module/com.easy.wtool 微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方便开发者用微信做一些扩展功能(如微信群发.多群直播等...) 目前支持功能: 发文本消息 发图片消息 发语音消息 发视频消息 获取微信好友列表 群列表 支持群发消息 支持消息转发(目前支持文本.图片.语音.视频.图文消息转发) 群管理功能(建群.加人.踢人.设置公告.改群名.退群.解散群) [注:本模块

Ecshop系统二次开发教程及流程演示

来源:互联网 作者:佚名 时间:03-01 16:05:31 [大 中 小] Ecshop想必大家不会觉得陌生吧,大部分的B2C独立网店系统都用的是Ecshop系统,很受用户的喜爱,但是由于Ecshop模板自带有很多Ecshop的Logo和版权信息,和一些其他需要修改的地方,所以我们需要对Ecshop系统做二次开发,下面就来看看具体操作步骤吧 一.Ecshop简介: ECShop是Comsenz公司推出的一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.系统是基于PHP语言及MYSQ

Silverlight管理系统源代码(SilverlightOAFlame开发框架主要提供二次开发)

Silverlight OA系统简介 系统功能简介 l 程序界面介绍: 左侧为主菜单,主菜单可以展开和收起,主菜单下面的所有模块都可以在数据库中扩展增加,模块的权限和用户角色挂钩,可以在数据库中创建多种角色,每种角色可以操作不同的模块,由于Silverlight是客户端程序,所以权限方面的安全性要远胜于一般的B/S程序(例如:ASP.NET.PHP.JSP之类的,因为他们的URL是暴露在外的,而Silverlight的没有URL的概念,所以没有权限的用户是绝对无法通过URL直接访问的方式打开没有

SilverlightOA源代码(可用于企业级Silverlight项目的二次开发,长年有效)

Silverlight OA系统简介 系统功能简介 l 程序界面介绍: 左侧为主菜单,主菜单可以展开和收起,主菜单下面的所有模块都可以在数据库中扩展增加,模块的权限和用户角色挂钩,可以在数据库中创建多种角色,每种角色可以操作不同的模块,由于Silverlight是客户端程序,所以权限方面的安全性要远胜于一般的B/S程序(例如:ASP.NET.PHP.JSP之类的,因为他们的URL是暴露在外的,而Silverlight的没有URL的概念,所以没有权限的用户是绝对无法通过URL直接访问的方式打开没有