大家好。好久不见。
一直以来,对大数据都很感兴趣,最近买了几台机器,开始搞数据分析了。其实想想,花不了多少钱,但是能一直搞一直爽,挺不错的。爽过装了黑苹果。吐个槽,黑苹果装一下一百二,等我学会了我自己也装一下。
CDH是目前名副其实的Top 1的大数据组件包了,其中也包含了已经公线给Apache的Impala项目,很好用。之前单独研究spark的时候曾经想过,如果说我需要一个大数据的实时查询引擎,要怎么用spark实现?真正意义的流处理,要怎么用spark实现?
真正意义的流处理,应当用flink来实现,用Micro Batch实现的都不能算真正意义的stream。那么真正的海量实时查询呢?目前看,比较合适的就是Impala了。
Impala是有Cloudera开源并贡献给Apache的一个实时的,基于SQL方言的分布式查询系统。支持JDBC,使用hive2的驱动即可。支持直接读取hive、hbase以及文件中的数据。支持INSERT语句。简单来说,sqoop从mysql抽数据到hive,impala刷新一下metadata以后就可以直接查询,非常方便。例如在企业级数据分析场景里,各种数据汇聚到hive中,直接进行分析查询,并且把数据丢回hive中展示,完美兼容常见组件。
限于篇幅,这次先介绍一下Cloudera Data HUB(CDH)的安装过程。CDH本身是可以通过一个单独的bin安装完毕的。如果这样安装,程序会把所有需要的组件都通过网络下载到本地。这样的安装过程太慢,太艰难。而且Linux安装的话,需要一直通过ssh连在服务器上,如果中间断了的话。。。
emmmmm......
所以我们需要快捷的可靠的安装。
CDH整个环境可以分为三部分,分别是server、agent、大数据组件。CDH主要使用Java、Python开发。大数据组件主要使用Java、C++等语言开发。server负责提供可视化的环境,供管理员管理和配置系统。此外server还要管理大数据组件的所有运行细节。agent负责向server汇报每个node的运行状况,接收server发出的指令,如修改配置等。大数据组件负责完成大数据业务处理。前面说的bin主要完成的工作,就是下载上面说的三种组件,完成安装。其中大数据组件是通过parcel包的方式提供的,其余是通过rpm方式提供。我们可以提前把所有安装包下载到本地,再模拟CDH Manager的文件结构,让server识别到即可。
bin下载路径
https://archive.cloudera.com/cm6/6.2.0/cloudera-manager-installer.bin
rpm下载路径(共6个包):
https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/*.rpm
parcel下载路径
https://archive.cloudera.com/cdh6/6.2/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el6.parcel
https://archive.cloudera.com/cdh6/6.2/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el6.parcel.sha1
https://archive.cloudera.com/cdh6/6.2/parcels/manifest.json
上面举例的,是基于CentOS7环境的,CDH 6.2.0安装所需的包。首先先将所有的文件都下载到待安装的Linux主机上。下载完成后,通过rpm -ivh的方式将包依次安装。如果提示缺少cloudera相关包,调整顺序后继续安装。如果缺少第三方包则可以通过yum install xx.rpm的方式补齐。其中名称为cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm的包先不要安装。如果你预先安装了,CDH会认为你已经安装过一个版本,需要删除etc下的数据库配置文件。安装应首先从oracle JDK开始,随后是daemon。
完成rpm安装后,chmod u+x cloudera-manager-installer.bin,并执行之即可。执行完毕后,命令行会提示安装完毕,可以通过7180端口访问管理器。实际此时只是安装完毕,并没有启动完毕。请关注/var/log/cloudera-scm-server/cloudera-scm-server.log,直到提示7180端口可用。
看到提示后,访问管理器,地址是http://x.x.x.x:7180/cmf。默认用户名密码都是admin。登录后界面如下图。如果能看到登录界面,则需要将之前下载的parcel文件放到/opt/cloudera/parcel-repo/目录中,并将用户和组都改为cloudera-scm。
此处点击继续后,系统会引导到安装界面。包括搜索并添加集群内的主机、添加互信信息等。其中有一个步骤需要注意。当选择安装的parcel时,会提示选择资源库所在位置,默认选中的是下图中红框所示。不要选择红框所示,需要改为上面的第一个选项。
后续步骤就一直下一步下一步即可。到下图所示步骤时,说明CDH正在部署环境,静待完成既可。
系统安装完毕并登录后,运行界面如下图所示。
如果在系统刚部署完成,管理器提示有部分配置不合理或者运行警告,可以暂时先忽略,等agent上报一段时间数据后再试。其中会提示各种组件的堆内存不足,请自行根据机器硬件条件处理。如果是测试环境可以使用默认的postgresql,正式环境建议使用MySQL或者Oracle。