概述
基于Hadoop的一个数据仓库工具Hive的搭建
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
(一)下载
下载安装包地址:
http://mirrors.hust.edu.cn/apache/hive/
http://mirrors.shu.edu.cn/apache/hive/
http://mirrors.tuna.tsinghua.edu.cn/apache/hive/
(二)安装模式
只需要任意选择一台hadoop的节点进行安装就可以了
准备工作:
hadoop正常的
jdk安装好的
1)使用自带的元数据库–derby(关系型数据库)
步骤:
1)上传
2)解压
tar -xvzf apache-hive-2.3.2-bin.tar.gz
3)配置环境变量
export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.2-bin
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
source /etc/profile
4)初始化元数据库
schematool -dbType derby -initSchema
初始完成标志:
Initialization script completed
schemaTool completed
初始化完成,在初始化目录下:
derby.log
元数据库日志文件
metastore_db:元数据信息
5)启动
必须保证hadoop启动
hive
hive>
验证:
show databases;
报错:hive的元数据报错
元数据库的实例化报错
FAILED: SemanticException
org.apache.hadoop.hive.ql.metadata.HiveException:
java.lang.RuntimeException: Unable to
instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
安装完成
切换目录:
报错:
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException:
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
原因:启动hive的时候如果使用的是默认的derby的话,默认加载启动目录下的元数据库
启动目录下没有元数据库
就会报错
重新初始化:
启动的时候
发现可以正常启动的
不同目录启动的
加载的是不同目录下的元数据信息
访问的结果是不一样的
缺陷:
只适合单用户
不适合多用户
**2)元数据库使用自己安装的mysql**
步骤:
1)上传
2)解压
tar -xvzf apache-hive-2.3.2-bin.tar.gz
3)配置环境变量 vi /etc/profile
export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.2-bin
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
source /etc/profile
4)安装mysql
自行安装 MySQL或者一个可用的 MySQL
5)修改hive的配置文件(在/home/hdp01/apps/apache-hive-2.3.2-bin/conf下新建)
新建配置文件
touch hive-site.xml
修改:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/myhive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
<!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>添加mysql的驱动</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>hive的元数据库mysql的用户名</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>hive的元数据库mysql连接的密码</description>
</property>
</configuration>
需要修改的地方:
1.<value>jdbc:mysql://(此处需要修改:如果mysql和hive装在一个节点上就用localhost,如果不在同一节点,写mysql所在的节点主机名)localhost:3306/myhive?createDatabaseIfNotExist=true</value>
2.(此处需要根据具体设置的密码进行修改)123456
6)将mysql的驱动包加到hive的lib下
/home/hdp01/apps/apache-hive-2.3.2-bin/lib在此目录下上传
7)初始化元数据库
schematool -dbType mysql -initSchema
8)启动hive
保证hadoop启动
hive
9)测试
show databases;
create database test;
use test;
create table test01(id int,name string);
insert into table test01 values(1,'zs');
select * from test01;
最后
以上就是大胆招牌为你收集整理的基于Hadoop的一个数据仓库工具Hive的搭建的全部内容,希望文章能够帮你解决基于Hadoop的一个数据仓库工具Hive的搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复