基于Hadoop的一个数据仓库工具Hive的搭建

基于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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值