HIVE安装部署、参数设置、备份、恢复、
监控规范
普元信息技术股份有限公司
2014年10月
目录
1概述 (4)
1.1背景 (4)
1.2目的 (5)
1.3范围 (5)
2硬件准备 (6)
3实施 (6)
3.1软件准备 (6)
3.1.1公共服务软件安装....................................................................................... 错误!未定义书签。
3.1.1.1CENTOS6.2系统安装 .................................................... 错误!未定义书签。
3.1.2云平台部署................................................................................................... 错误!未定义书签。
3.1.2.1集群规划....................................................................... 错误!未定义书签。
3.1.2.1.1功能规划 ............................................................... 错误!未定义书签。
3.1.2.1.2架构图................................................................... 错误!未定义书签。
3.1.2.2系统安全....................................................................... 错误!未定义书签。
3.1.2.3系统参数配置 ............................................................... 错误!未定义书签。
3.1.2.3.1公共设置 ............................................................... 错误!未定义书签。
3.1.2.3.2SSH登录免认证配置 ............................................ 错误!未定义书签。
3.1.2.3.3JAVA环境配置及JDK安装 .................................. 错误!未定义书签。
3.1.2.3.4NTP时钟同步配置 ................................................ 错误!未定义书签。
3.2HIVE安装部署 (6)
3.3HIVE参数配置 (6)
3.3.1配置HIVE_HOME及PATH 环境变量............................................................ 错误!未定义书签。
3.3.2配置HIVE配置文件..................................................................................... 错误!未定义书签。
3.4HIVE备份恢复 (8)
3.4.1HIVE的元数据备份方案.............................................................................. 错误!未定义书签。
3.4.2HIVE的Secondary NameNode方案............................................................ 错误!未定义书签。
3.4.3HIVE的Checkpoint Node方案.................................................................. 错误!未定义书签。
3.4.4HIVE的Backup Node方案.......................................................................... 错误!未定义书签。
3.4.5DRDB方案...................................................................................................... 错误!未定义书签。
3.4.6FaceBook的AvatarNode方案.................................................................... 错误!未定义书签。
3.4.7方案优缺点比较........................................................................................... 错误!未定义书签。
3.4.8总结 .............................................................................................................. 错误!未定义书签。
3.5HIVE云平台监控.......................................................................................... 错误!未定义书签。
3.5.1HIVE云平台监控模块说明.......................................................................... 错误!未定义书签。
3.5.2云平台节点存储情况(dfsadmin_rpt.sh)................................................. 错误!未定义书签。
3.5.2.1程序部署....................................................................... 错误!未定义书签。
3.5.2.2程序............................................................................... 错误!未定义书签。
3.5.2.3程序执行....................................................................... 错误!未定义书签。
3.5.2.4命令详解....................................................................... 错误!未定义书签。
3.5.2.5注意事项....................................................................... 错误!未定义书签。
3.5.3作业运行监控--作业列表(job_list.sh)................................................. 错误!未定义书签。
3.5.3.1程序部署....................................................................... 错误!未定义书签。
3.5.3.2程序............................................................................... 错误!未定义书签。
3.5.3.3程序执行....................................................................... 错误!未定义书签。
3.5.3.4命令详解....................................................................... 错误!未定义书签。
3.5.3.5注意事项....................................................................... 错误!未定义书签。
3.5.4作业运行监控--作业状态(job_status.sh)............................................. 错误!未定义书签。
3.5.
4.1程序部署....................................................................... 错误!未定义书签。
3.5.
4.2程序............................................................................... 错误!未定义书签。
3.5.
4.3程序执行....................................................................... 错误!未定义书签。
3.5.
4.4命令详解....................................................................... 错误!未定义书签。
3.5.5作业运行监控--语句执行情况(job_parameter.sh) ............................... 错误!未定义书签。
3.5.5.1程序部署....................................................................... 错误!未定义书签。
3.5.5.2程序............................................................................... 错误!未定义书签。
3.5.5.3程序执行....................................................................... 错误!未定义书签。
3.5.6作业运行监控--分析MR程序详细情况(job_detail.sh) ....................... 错误!未定义书签。
3.5.6.1程序部署....................................................................... 错误!未定义书签。
3.5.6.2程序............................................................................... 错误!未定义书签。
3.5.6.3程序执行....................................................................... 错误!未定义书签。
3.5.6.4命令详解....................................................................... 错误!未定义书签。
3.5.7HIVE自有WEB监控功能说明...................................................................... 错误!未定义书签。
3.5.7.1JOB作业监控 ................................................................ 错误!未定义书签。
3.5.7.2HDFS文件系统监控 ...................................................... 错误!未定义书签。
3.5.8GANGLIA工具监控HIVE集群...................................................................... 错误!未定义书签。
1概述
1.1背景
随着OSS域各个系统的建设,系统间数据共享的需求也越来越多。目前,贵州移动的网管系统在总部规范指导下,按需逐年建设而成的。这些系统实现对通信网络和业务平台的管理,支撑配置管理、故障监控、指标分析、网络优化、例行维护、指挥调度等工作。但是,面向网元和网络的分专业网管,难以支持以客户感知为核心、面向端到端业务实现的运维管理新要求。越来越多的跨系统应用需要同时来自多个生产系统的数据进行支撑,实际生产分析场景需要将多类型、多专业的性能、质量等数据的进行集中管理,并建立模型关联,准实时、非实时分析需求并存。
CMOSS2.0明确提出了数据集成和共享平台的技术架构要求。包括服务总线和数据总线。数据集成和共享平台作为所有系统的交互桥梁,能够实现全面支持CMOSS规范中的所有共享模式,提升系统稳定性及业务吞吐量;提供基于标准模型的数据共享服务,以解决数据开放共享问题。建设效果直接影响到中国移动的IT业务能力和IT功能支撑能力。
根据集团CMOSS2.0技术规范的要求,结合贵州移动在网管领域对数据共享的具体需求。贵州移动规划建立网络数据共享平台,通过对生产系统数据准实时的采集,将数据汇总到数据共享平台上。利用目前业界最新的数据分析和处理技术,按照不同的业务视角利用采集到数据,为企业运营提供技术决策依据。同时,由于统计分析使用的数据和生产运营的数据分离,可以较少对正式系统的影响,从而保障生产系统运营更加稳定、可靠。
由于数据来自各个专业系统,需要面对不同的厂商、不同的技术架构。在数据共享平台的建设过程中,存在数据标准化、服务标准化、大数据处理等问题。这些问题是数据集成和共享平台建设成功的关键,需要重点解决。
1)对现有网管数据从生产到消费的全流程梳理,形成网管数据血缘关系和数据地图,以作为网管数据统一建模、集成共享的基础;
2)根据数据地图,建立可扩展的、面向底层数据源和上层应用灵活适配的网管数据模型,作为数据共享中心模型标准。
3)研究海量数据共享技术和模式,对数据库共享、数据编排、服务共享等数据共享技术和
模式进行评估,制定符合网络数据中心的共享技术标准。
4)HADOOP是当前大数据处理常用的技术,但HADOOP NoSQL和多接点的特点,为应用开发和平台维护带来一定的难道。通过技术服务,对HADOOP应用开发提供参考标准和技术支持,研究并制定HADOOP平台的维护标准。
1.2目的
1)形成对网管数据地图与数据模型标准的梳理,作为在建数据共享中心的规范与指导;
2)研究海量数据的处理与分析技术、模式,为后续进一步建立针对大数据的数据共享中心提供可行方案与指导。
为了达到上述目标,本项目分解为四个子项目,各子项目工作内容如下:
1)网络数据地图研究子项目
对现有网管数据从生产到消费的全流程梳理,形成网管数据血缘关系和数据地图,以作为网管数据统一建模、集成共享的基础;
2)网络数据共享模型标准研究子项目
根据数据地图,建立可扩展的、面向底层数据源和上层应用灵活适配的网管数据模型,作为数据共享中心模型标准。
3)网络数据共享技术标准子项目
研究海量数据共享技术和模式,对数据库共享、数据编排、服务共享等数据共享技术和模式进行评估,制定符合网络数据中心的共享技术标准。
4)网络数据共享平台维护标准子项目
数据共享平台采用HADOOP架构,多种技术共存,方案相对复杂,NoSQL和多节点的特点,为应用开发和平台维护带来一定的难道。通过技术服务,对应用开发提供
参考标准和技术支持,研究并制定平台的维护标准。
1.3范围
该文档是用于指导贵州移动网络共享平台HIVE安装部署、参数设置、备份恢复、监控的规范。
2 硬件准备
3 实施
3.1 软件准备
HADOOP ,MYSQL 软件已经正确安装完成。
3.2 HIVE 安装部署
3.2.1 HIVE 软件下载
官网:https://www.sodocs.net/doc/145876986.html,/apache/hive/stable/
下载当前稳定版“apache-hive-0.13.1-bin.tar.gz ”
3.2.2 解压
下载后解压到HADOOP 系统用户下:/opt/cloud/ hive-0.11.0
3.3 HIVE 参数配置
3.3.1 配置环境变量
用ETL 用户作为hadoop 和Hive 的客户端用户
/home/etl/.bash_profile
其中$HIVE_HOME/lib/mysql-connector-java-5.1.12.jar ,是HIVE 连接MYSQL 的jar 包,
要将mysql 的jdbc 驱动放到HIVE 的lib 目录下:
例如:/opt/cloud/hive-0.11.0/lib/mysql-connector-java-5.1.12.jar
3.3.2配置HIVE配置文件hive-site.xml
hive-site.xml
3.3.3文件权限设置
如果安装HADOOP及HIVE使用的是HADOOP用户,而操作客户端使用的是ETL则需要对部分本地文件和HDFS文件进行权限设置:
chmod 750 /home/hadoop
chmod 775 /home/hadoop/tmp
usermod -G hadoop etl
hadoop fs -chown -R etl:hadoop /data01 /data02
hadoop fs -chmod -R 777 /tmp
hadoop fs -chmod -R 777 /home/hadoop/tmp/mapred
3.3.4HIVE调测
将HIVE日志输出到控制台:hive -hiveconf hive.root.logger=DEBUG,console 3.3.5常见问题
问题1:thrift版本差异问题
Exception in thread "main" https://www.sodocs.net/doc/145876986.html,ng.NoSuchMethodError:
org.apache.thrift.EncodingUtils.setBit(BIZ)B
原因:
在Hadoop、HIVE、HBASE中都有libthrift,而Hadoop、HIVE、HBAS是
有版本对应的。如果环境加载的是HBASE中的libthrift-0.8.0.jar,而hive
要求最低libthrift-0.9.0.jar版本,所有就会报错。
解决方案:
将HBASE中的libthrift-0.8.0.jar删除,将HIVE中的libthrift-0.9.0.jar放到
HBASE中。
1)使用updatedb命令更新系统临时数据库slocate.db数据库
2)使用locate命令查找“thrift”相关包
3.4HIVE备份恢复
在集群中使用HIVE管理hadoop时,有一非常重要的问题,就是HIVE储存的元数据信息。
mysql> use metastore;
Database changed
mysql>
mysql>
mysql> show tables;
+---------------------+
| Tables_in_metastore |
+---------------------+
| BUCKETING_COLS |
| COLUMNS |
| DATABASE_PARAMS |
| DBS |
| IDXS |
| INDEX_PARAMS |
| PARTITIONS |
| PARTITION_KEYS |
| PARTITION_KEY_VALS |
| PARTITION_PARAMS |
| PART_COL_PRIVS |
| PART_PRIVS |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SORT_COLS |
| TABLE_PARAMS |
| TBLS |
| TBL_COL_PRIVS |
| TBL_PRIVS |
+---------------------+
22 rows in set (0.00 sec)
这里面涉及了一些表的信息。
DBS 这张表存储hadoop中库信息
TBLS 这张表存储hadoop中表信息
PARTITIONS 这张表存储hadoop中分区信息
例如:
mysql>
mysql> select * from DBS;
+-------+-----------------------+-----------------------------------------
--------------+---------+
| DB_ID | DESC | DB_LOCATION_URI | NAME |
+-------+-----------------------+-----------------------------------------
--------------+---------+
| 1 | Default Hive database |
hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse | default |
| 2 | NULL |
hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/cbu.db | cbu |
| 3 | NULL |
hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/rdb.db | rdb |
| 4 | NULL |
hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/flv.db | flv |
| 6 | NULL |
hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/cpis.db | cpis |
| 11 | NULL | hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/shtel.db | shtel |
| 16 | NULL | hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/ua.db | ua |
| 21 | NULL | hdfs://CMN-HF-2-5M2:8020/user/hive/warehouse/was.db | was |
+-------+-----------------------+-----------------------------------------
--------------+---------+
8 rows in set (0.00 sec)
mysql> select * from TBLS limit 5;
+--------+-------------+-------+------------------+----------+-----------+
-------+----------------+---------------+--------------------+-----------------
---+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID
| TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+----------+-----------+
-------+----------------+---------------+--------------------+-----------------
---+
| 1 | 1361951146 | 3 | 0 | logminer | 0 | 1 | fc_rdb_tp | MANAGED_TABLE | NULL | NULL |
| 2 | 1361951147 | 3 | 0 | logminer | 0 | 2 | fc_rdb_seq | MANAGED_TABLE | NULL | NULL |
| 3 | 1361951209 | 3 | 0 | logminer | 0 | 3 | fc_rdb_hjtext | MANAGED_TABLE | NULL | NULL |
| 4 | 1361951211 | 3 | 0 | logminer | 0 | 4 | fc_rdb_seqhj | MANAGED_TABLE | NULL | NULL |
| 5 | 1361951226 | 3 | 0 | logminer | 0 | 5 | fc_rdb_flvtext | MANAGED_TABLE | NULL | NULL |
+--------+-------------+-------+------------------+----------+-----------+
-------+----------------+---------------+--------------------+-----------------
---+
5 rows in set (0.00 sec)
mysql> select * from PARTITIONS limit 5;
+---------+-------------+------------------+------------------------------
-+-------+--------+
| PART_ID | CREATE_TIME | LAST_ACCESS_TIME | PART_NAME |
SD_ID | TBL_ID |
+---------+-------------+------------------+------------------------------
-+-------+--------+
| 21 | 1362466109 | 0 | pt=20130304/host=CMN-HF-2-5A1 | 61 | 31 |
| 31 | 1362546749 | 0 | pt=20130305/host=CMN-HF-2-5A1 | 71 | 31 |
| 41 | 1362710397 | 0 | pt=20130305/host=CMN-HF-2-5A3 | 91 | 31 |
| 66 | 1362712134 | 0 | pt=20130305/host=CMN-HF-2-5AI | 116 | 31 |
| 96 | 1362712395 | 0 | pt=20130305/host=CMN-HF-2-5AH | 146 | 31 |
+---------+-------------+------------------+------------------------------
-+-------+--------+
5 rows in set (0.00 sec)
如果这些表中的信息丢失,会造成HIVE不能查询数据。但HADOOP物理存储的数据还
是存在的。
因此,要使用HIVE,需要将这个metastore库经常备份。