MacOS 中安装hbase/krb5 npm包时openssl找不到头文件的问题

在MacOS中安装一个npm的包:Hbase,但是却遇见了一些问题,后来几天解决了,否则的话就要换npm包了,但是hbase包是远远排在其他的几个开源包之上的,我们还是很希望使用这个包,不想换npm包,而且其他的包对hbase的版本要求也很严格。之前一直都没安装成功,后来解决了,这里做个总结。 安装hbase出错:

因为它依赖krb5,而krb5还依赖openssl,默认的macos自带openssl但是版本比较老,所以这里我们使用brew来安装openssl

上面提示,如果编译器需要这些依赖文件,那么你需要在在编译之前执行lib和include的设置。因为krb5是下载源码之后编译后安装的,而且krb5还依赖这些文件,不管你使用brew install krb5还是下载源码安装,都会有这个问题。 以下以下载krb5源码后编译安装为例: 1)设置lib的路径 2)设置include文件的路径 3)执行krb5的安装

4)执行hbase的安装 到这里,我们看到hbase这个npm包已经成功安装好了!

Continue reading »

Nginx->NodeJS->Redis开发测试(4)接收/解析/验证

很多东西,仅仅只是为了用而用,不去讨论这个软件组件存在的必要性和可替代性。 接下来,我们将YY一下,数据从车载的TBOX/OBD等设备发送出来之后的流程,短信网关通常采用中国移动、联通的服务。这部分对于SMS短信进行规则性解析暂时还不是很了解,所以暂时先不无法覆盖这部分的内容。 1/ 车辆TBOX/OBD上报SMS消息给应用网关 从车载TBOX中发出的短信长什么样? 我们假设一把先,它就是来自一个汽车里面的盒子,里面插了个SIM卡,然后每隔10秒就发个短消息给某个专用的特定号码而已。对于整车厂来说,这个盒子可能是固定在车内的,拿不出来的,并非是后来找个地方安装上去的。 在我们的例子中,则没有这样的外置的盒子,都是默认盒子是整车厂直接默认就安装在车内的。 这里找个例子,中国移动出的路尚OBD盒子,直接插在汽车的OBD接口上,数据就直接上载到云了,下个应用App就可以直接看到自己车辆的所有的数据。 OBD盒子的汽车上的接口,汽车启动就开始传输数据了到中国移动OneNET网关了。(大众的车貌似都是在A的这个位置) 如果发过来短信的号码不在自己的SIM卡管理范围中,可能是别人发错了,或者是一个欺诈或者虚假消息,可以直接删除这个消息。还有其他的一些规则校验,都需要实现,这些内容其实属于SIM管理的一些功能。

Continue reading »

NodeJS->Kafka->Spark开发测试(3)发送/接收/解析/发送

很多东西,仅仅只是为了用而用。像蜻蜓一样,点一下水,了解一下这个水波纹,真的要去用的时候,我们再去潜水,虽然是个简单的demo,但是一趟hello,world下来,我们依然会很有收获。 在前面一章中,看到数据的来源及其格式,以及通过NodeJS来发送数据消息。接下来,我们来看如何构建一个http消息接收接收、解析和转发的Node服务。 数据流是:汽车TBOX(2G/3G短信)——->应用网关——->Node Web服务器——->HBase\Hive & Kafka(ZooKeeper)——->订阅后的处理(本章不讲解) 1/ 数据分发的策略 目前根据国家的政策,从车辆采集数据的渠道必须是由车辆的整车制造企业来负责完成,这其实也意味着,车辆运行的所有的数据的来源渠道只有整车厂,其他的合作伙伴需要拿到车辆的运行数据,必须通过整车厂这道关才能拿到。 整车厂的数据分发策略(假想) 1.1 整车厂内部先存储数据(待完善) 整车厂在拿到数据之后,直接将数据写入自己的数据中心的HBase,后面再批处理计算后再写入Hive,供Spark作业计算后,输出结果放入到MySQL,让用业务用户通过自开发应用对这些数据进行分析,或者使用可视化的工具进行分析。

Continue reading »

Node->Kafka开发测试(2)物联网大数据长什么样

很多东西,仅仅为了用而用,不要去纠结为什么。 之前一章中,在Windows环境下搭建一个Spark/Kafka开发测试环境,但是在实际情况中,都是使用SUSE/CentOS Linux这些操作系统会多一些。 当然,我们还需要更多的组件。例如: Nginx:被用作反向代理(映射企业内网IP和外网IP的映射等),负载均衡(将http请求按照轮询和定义的规则发给不同的应用服务器来处理),减少单一服务的压力。 Node:用来接收和处理高并发的http简单请求,解析后,按照Topic(在Kafka中按照数据类型、区域等不同编码规则)不同创建出消息,然后发送给Kafka。

Continue reading »