关于 Ambari 和 Electron

两个有用的知识点,记录一下,后续深入研读实践。

Ambari——大数据平台的搭建利器

参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/

Electron 主进程调试

参考:http://www.w3cschool.cn/electronmanual/u59k1qkp.html

 

Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目。目前最新的发布版本是 2.0.1,未来不久将发布 2.1 版本。就 Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,但是这里的 Hadoop 是广义,指的是 Hadoop 整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不仅是特指 Hadoop。用一句话来说,Ambari 就是为了让 Hadoop 以及相关的大数据软件更容易使用的一个工具。

那些苦苦花费好几天去安装、调试 Hadoop 的初学者是最能体会到 Ambari 的方便之处的。而且,Ambari 现在所支持的平台组件也越来越多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,我们都能轻松地通过 Ambari 来进行部署。

Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。详细的操作和介绍会在后续章节介绍。

大数据与云计算可谓是如今数据中心中最火的两项技术领域,几乎所有的 IT 服务商都想在这两项技术中有所建树。相信 Ambari 可以帮助一些 Hadoop 的初学者。长远看来,大数据的发展离不开云计算,云计算中 IaaS 可谓已经很成熟,并且价格低廉。这时候许多公司将目光聚集在了 PaaS。大数据的流行更是加速了相关 PaaS 产品的发展,而 Ambari 的出现必然可以拉近 IaaS 和 PaaS 的距离。也就是说有了 Ambari,或许再加上 Docker,那么快速从 IaaS 演进到 PaaS 就显得不是那么困难了。

当然这里 Ambari 要跟 IaaS 更好的切合,还有个对手那就是 Sahara。它是另一个土生土长的 OpenStack 的子项目,其目的也是为了在 Openstack 上面快速搭建 Hadoop 等集群。期望着这些项目能够快速成长,将来对大家都有所帮助。

 

------------------------------

浏览器窗口的开发工具仅能调试渲染器的进程脚本(比如 web 页面)。为了提供一个可以调试主进程的方法,Electron 提供了 --debug和 --debug-brk 开关。

命令行开关

使用如下的命令行开关来调试 Electron 的主进程:

--debug=[port]

当这个开关用于 Electron 时,它将会监听 V8 引擎中有关 port 的调试器协议信息。默认的 port 是 5858

--debug-brk=[port]

就像 --debug 一样,但是会在第一行暂停脚本运行。

使用 node-inspector 来调试

备注: Electron 目前对 node-inspector 支持的不是特别好,如果你通过 node-inspector 的 console 来检查 process 对象,主进程就会崩溃。

1. 确认你已经安装了 node-gyp 所需工具

2. 安装 node-inspector

$ npm install node-inspector

3. 安装 node-pre-gyp 的一个修订版

$ npm install git+https://git@github.com/enlight/node-pre-gyp.git#detect-electron-runtime-in-find

4. 为 Electron 重新编译 node-inspector v8 模块(将 target 参数修改为你的 Electron 的版本号)

$ node_modules/.bin/node-pre-gyp --target=0.36.2 --runtime=electron --fallback-to-build --directory node_modules/v8-debug/ --dist-url=https://atom.io/download/atom-shell reinstall
$ node_modules/.bin/node-pre-gyp --target=0.36.2 --runtime=electron --fallback-to-build --directory node_modules/v8-profiler/ --dist-url=https://atom.io/download/atom-shell reinstall

[How to install native modules][how-to-install-native-modules].

5. 打开 Electron 的调试模式

你也可以用调试参数来运行 Electron :

$ electron --debug=5858 your/app

或者,在第一行暂停你的脚本:

$ electron --debug-brk=5858 your/app

6. 使用 Electron 开启 node-inspector 服务

$ ELECTRON_RUN_AS_NODE=true path/to/electron.exe node_modules/node-inspector/bin/inspector.js

7. 加载调试器界面

在 Chrome 中打开 http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858

posted @ 2017-03-22 16:35  念槐聚  阅读(310)  评论(0编辑  收藏  举报