赞
踩
首先先了解hive的运行逻辑与其他组件的关系
Hive依赖于HDFS 存储数据 HDFS作为高可靠性的底层存储,用来存储海量数据
Hive依赖于MapReduce 处理数据 MapReduce对这些海量数据进行处理,实现高性能计算,用HiveQL语句编写的处理逻辑最终均要转化为MapReduce任务来运行
Pig可以作为Hive的替代工具 pig是一种数据流语言pig latin和运行环境,适合用于Hadoop和MapReduce平台上查询半结构化数据集的实时交互式分析 。常用于ETL过程的一部分,即将外部数据装载到Hadoop集群中,然后转换为用户期待的数据格式
HBase 提供数据的实时访问 HBase一个面向列的、分布式的、可伸缩的数据库,它可以提供数据的实时交互式查询访问功能,支持数据的随机读写,而Hive只能处理静态数据,主要是BI报表数据,所以HBase与Hive的功能是互补的,它实现了Hive不能提供功能。
1)软件下载
(2)解压Hive安装文件 $sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local $sudo mv /usr/local/apache-hive-3.1.2-bin/ /usr/local/hive $sudo chown -R hadoop:hadoop /usr/local/hive (3)配置环境变量,并使其生效 $gedit ~/.bashrc 写入下列信息: export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin $source ~/.bashrc
(4)添加MySQL驱动 $mv mysql-connector-java-8.0.23.jar /usr/local/hive/lib/
(5)创建、配置hive-site.xml文件 $cd /usr/local/hive/conf $cp hive-default.xml.template ./hive-site.xml $gedit ./hive-site.xml 将配置文件中的内容替换为如下配置
(6)创建、配置hive-env.sh 文件 $cd /usr/local/hive/conf $ cp hive-env.sh.template hive-env.sh $gedit hive-env.sh 在hive-env.sh文件中加入下列配置信息: export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231 export HIVE_HOME=/usr/local/hive export HADOOP_HOME=/usr/local/hadoop
(7)修改Hadoop集群配置core-site.xml,添加如下配置并重启集群 <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> $stop-all.sh $start-all.sh
(8)Hive初始化 $ schematool -initSchema -dbType mysql -verbose
(9)启动远程服务HiveServer 2 $hiveserver2 &
(10) 打开控制台命令行工具 $hive $beeline -u jdbc:hive2://master:10000 -n hadoop -p hadoop
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。