目录
3. 安装配置基于独立 Zookeeper 集群的 Hbase
6. 把 hive 安装目录拷贝到 Hadoop 集群的其他节点
1. 实验环境
3 台 CentOS release 6.4 虚拟机,IP 地址为:
- 192.168.56.101 master
- 192.168.56.102 slave1
- 192.168.56.103 slave2
相关软件版本:
- hadoop 2.7.2
- hbase 1.1.4
- hive 2.0.0
- zookeeper 3.4.8
- kylin 1.5.1(一定要 apache-kylin-1.5.1-HBase1.1.3-bin.tar.gz 包)
master 作为 hadoop 的NameNode、SecondaryNameNode、ResourceManager,hbase的HMaster;slave1、slave2 作为 hadoop 的 DataNode、NodeManager,hbase 的 HRegionServer;同时 master、slave1、slave2 作为三台 zookeeper 服务器。
需要事先重新编译 hadoop 源码,使得 native 库支持 snappy。编译 hadoop 源码,参考“重新编译 Hadoop 2.7.2 native 以支持 snappy”。
2. 安装 hadoop 集群
参考“Hadoop 集群安装配置实验”。
3. 安装配置基于独立 Zookeeper 集群的 Hbase
参考“基于独立 Zookeeper 集群的 Hbase 安装配置实验”。
4. 安装配置 hive
参考“hive 安装配置实验”。
5. 添加 hive_dependency 环境变量
export hive_dependency=/home/grid/hive/conf:/home/grid/hive/lib/*:/home/grid/hive/hcatalog/share/hcatalog/hive-hcatalog-core-2.0.0.jar
6. 把 hive 安装目录拷贝到 Hadoop 集群的其他节点
scp -r hive slave1:/home/grid/
scp -r hive slave2:/home/grid/
7. 配置环境变量
在每个节点中配置环境变量:
JAVA_HOME
HADOOP_HOME
HBASE_HOME
HADOOP_HDFS_HOME
HIVE_HOME
HADOOP_COMMON_HOME
JAVA_HOME
HADOOP_YARN_HOME
ZOOKEEPER_HOME
KYLIN_HOME
HADOOP_MAPRED_HOME
hive_dependency
8. 安装配置 kylin
在 master 上执行以下命令:
cd /home/grid/
tar -zxvf apache-kylin-1.5.1-HBase1.1.3-bin.tar.gz
ln -s apache-kylin-1.5.1-bin kylin
vi /home/grid/kylin/bin/kylin.sh
需要对 kylin.sh 脚本文件做两点修改:
export KYLIN_HOME=/home/grid/kylin # 改成绝对路径
export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX # 在路径中添加 $hive_dependency
9. 测试
(1)启动 zookeeper
分别在三台机器上启动 zookeeper。
/home/grid/zookeeper/bin/zkServer.sh start
(2)在 master 启动其他 kylin 依赖的服务
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
~/mysql/bin/mysqld &
nohup $HIVE_HOME/bin/hive --service metastore > /tmp/grid/hive_metastore.log 2>&1 &
/home/grid/hbase/bin/start-hbase.sh
(3)在 master 启动 kylin
cd /home/grid/kylin/bin
./kylin.sh start
(4)测试 kylin 自带的例子
1. 运行 ${KYLIN_HOME}/bin/sample.sh,并重启 kylin 服务器
${KYLIN_HOME}/bin/sample.sh
${KYLIN_HOME}/bin/kylin.sh stop
${KYLIN_HOME}/bin/kylin.sh start
2. 使用 ADMIN/KYLIN 作为用户名/密码登录以下 URL,在左上角的 project 下拉列表中选择'learn_kylin'项目
http://192.168.56.101:7070/kylin
3. 选中'kylin_sales_cube'示例立方体,点击'Actions'->'Build',选择一个截止日期,本试验中选择的是'2012-04-01'
4. 在'Monitor'标签中通过刷新页面检查进度条,直到 100%
5. 在'Insight'标签中执行下面的 SQL 查询
select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt
6. 在 hive 中执行同一个 SQL 查询,验证 kylin 的查询结果
Build 成功的模型标签如图1 所示。
图1
Build 成功的监控标签如图2 所示。
图2
查询执行和结果分别如图3、图4 所示。
图3
图4
Build 成功后,hive 中建立了 3 个表,如图5 所示。
图5
Build成功后,hbase 中建立了 2 个表,如图6 所示。
图6
注意:
- kylin、hadoop、hbase、hive 的版本一定要匹配。
- 需要把 hive 拷贝到集群中的每个节点中。
- 需要修改 kylin.sh 脚本。
- 需要在每个节点中配置如下环境变量:
HADOOP_HOME HBASE_HOME HADOOP_HDFS_HOME HIVE_HOME HADOOP_COMMON_HOME JAVA_HOME HADOOP_YARN_HOME ZOOKEEPER_HOME KYLIN_HOME HADOOP_MAPRED_HOME