Hive(一)安装与配置

前言

  1. 什么是Hive?
    Hive是基于Hadoop的数据仓库解决方案
  2. Hive的优缺点:
    优点:
    ①、统一的元数据管理
    Hive的元数据可以放在mysql上,表结构信息存储在HDFS上。
    ②、入门简单,类SQL
    ③、灵活性、扩展性
    支持很多函数,支持UDF、自定义存储格式(orc…)
    ④、支持在不同的框架式运行(MapReduce,Spark…)
    ⑤、提供了一个简单的优化模型
    ⑥、适合离线数据处理、稳定可靠
    ⑦、有庞大活跃的社区,帮助更多的人能够使用hadoop
    缺点:
    ①、Hive 的执行效率比较低,由于 hive 是基于 hadoop,Hadoop 本身是一个批
    处理,高延迟的计算框架, 其计算是通过 MapReduce 来作业,具有高
    延迟性
    ②、Hive 适合对非实时的、离线的、对响应及时性要求不高的海量数据批量计
    算,即查询,统计分析。
    ③、不适合迭代算法。

一、环境搭建主要步骤

1.1 主要步骤

①、下载并解压
②、配置环境变量
③、修改配置文件
④、配置hive元数据管理
⑤、启动验证

1.2 解压文件

解压Hive安装包到指定文件夹;
在这里插入图片描述

1.3 文件改名以及warehouse的创建

在这里插入图片描述

1.4 配置hive-site.xml

进入根目录下的conf目录,ls之后并没有hive-site.xml,直接vi hive-site.xml,之后进行如下配置;
在这里插入图片描述
在这里插入图片描述

1.5 拷贝mysql驱动

完成上述操作后,需要将mysql的驱动加到hive的lib目录中;在这里插入图片描述
在这里插入图片描述

1.6 配置环境变量

export JAVA_HOME=/opt/software/jdk180
export HADOOP_HOME=/opt/software/hadoop/hadoop260
export HIVE_HOME=/opt/software/hadoop/hive110
export ZK_HOME=/opt/software/hadoop/zookeeper345
export HBASE_HOME=/opt/software/hadoop/hbase120
export SQOOP_HOME=/opt/software/hadoop/sqoop146
export PATH=$SQOOP_HOME/bin:$HBASE_HOME/bin:$ZK_HOME/bin:$ZK_HOME/sbin:$HIVE_HOME/bin:$HIVE_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
export CLASS_PATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export LOGDIR=$SQOOP_HOME/mylog/

配置完需要激活环境变量

source /etc/profile

1.7 Hive初始化

进入hive的bin目录下,初始化hive;
在这里插入图片描述

1.8 启动hive

是否启动日志根据自己需求来决定,一个服务一个RunJar
在这里插入图片描述

1.9 关闭进程

kill -9 进程号

二、安装流程文档

#HIVE
	#解压并重命名为hive110,解压到software/hadoop目录下
		[root@single hadoop]tar -zxvf hive-1.1.0-cdh5.14.2.tar.gz -C /opt/software/hadoop/#download/hadoop目录下
		[root@single hadoop]# mv hive-1.1.0-cdh5.14.2/ hive110#software/hadoop目录下
	#新建warehouse目录在hadoop110上
		[root@single hadoop110]# mkdir warehouse#在hive110下面创建目录 warehouse
	#拷贝mysql驱动mysql-connector-java-5.1.32.jar到hive110/lib下面
		[root@single hive110]# cp /opt/download/hadoop/mysql-connector-java-5.1.32.jar ../lib/
	#配置hive-site.xml 在conf下面新建hive-site.xml        
		[root@single ~]# cd /opt/software/hadoop/hive110/conf/
		[root@single conf]# vi hive-site.xml 
	#配置hive-site.xml
		#新建的hive-site.xml复制下面的内容:记得改自己的IP
			<?xml version="1.0" encoding="UTF-8" standalone="no"?>
			<?xml-stylesheet type="text/ xsl" href="configuration.xsl"?>
			<configuration>
			<property>
			<name>hive.metastore.warehouse.dir</name>
			<value>/opt/software/hadoop/hive110/warehouse</value>
			</property>
			<property>
			<name>javax.jdo.option.ConnectionURL</name>
			<value>jdbc:mysql://192.168.221.140:3306/hive110?createDatabaseIfNotExist=true</value>
			</property>
			<property>
			<name>javax.jdo.option.ConnectionDriverName</name>
			<value>com.mysql.jdbc.Driver</value>
			</property>
			<property>
			<name>javax.jdo.option.ConnectionUserName</name>
			<value>root</value>
			</property>
			<property>
			<name>javax.jdo.option.ConnectionPassword</name>
			<value>kb10</value>
			</property>
			</configuration>
		#一共复制5对property标签,含义分别是
			#本地仓库路径
			#连接mysql字符串
			#mysql连接驱动
			#mysql连接账号
			#mysql本地连接密码
	#配置hive环境
		[root@single warehouse]# cd ..
		[root@single hive110]# vi /etc/profile
			添加HIVE_HOME路径,最终如下内容:
			export JAVA_HOME=/opt/software/jdk180
			export HADOOP_HOME=/opt/software/hadoop/hadoop260
			export HIVE_HOME=/opt/software/hadoop/hive110
			export PATH=$HIVE_HOME/bin:$HIVE_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
			export CLASS_PATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
		[root@single hive110]# source /etc/profile#激活
		[root@single hive110]# echo $HIVE_HOME#查看
	#启动hadoop,hive依赖于hadoop
		[root@single warehouse]# start-all.sh
		[root@single warehouse]# jps
		
	#新开一个窗口启动mysql
	
	#HIVE初始化
		[root@single warehouse]# cd /opt/software/hadoop/hive110/bin/
		[root@single bin]# ls
		beeline  ext  hive  hive-config.sh  hiveserver2  metatool  schematool
		[root@single bin]# ./schematool -dbType mysql -initSchema  #初始化,mysql建仓 pwd->/opt/software/hadoop/hive110/bin/
		回车后看到schemaTool completed即表示初始化成功
		
		#mysql相关的连接失败的话:cannot get schema version
			hostname 查看本机的别名
			mysql> use mysql
			mysql> select host,user,password from user;出来的密码应该是一样的,不一样的话执行下面的流程
			mysql> grant all on *.* to root@'single' identified by 'kb10';
			mysql> flush privileges;授权激活
	#启动并访问hive服务
		./hive --service metastore#前台启动
		./hive
	#启动并访问hive2服务
		#进入到bin目录下加./启动hive;
				[root@single ~]# cd /opt/software/hadoop/hive110/bin/
				[root@single bin]# ./hive --service metastore #会一直卡着
		#切换到另一个窗口,进入bin目录退出./hive进入hive(类似mysql)
			[root@single ~]# hive
			#如果没有配置lib环境,加./启动hive;
				[root@single ~]# cd /opt/software/hadoop/hive110/bin/
				[root@single bin]# ./hive
		#退出服务 关掉sql的那个窗口
		#日志输出启动runjar,如果前面没配置lib的话,需要加./,或者再次配置lib
		[root@single ~]# nohup hive --service metastore>hive.log 2>&1 &   #日志
		#不输入启动runjar
		[root@single ~]# nohup hive --service hiveserver2>/dev/null 2>&1 &  #指向null
		#beeline启动runjar
		[root@single ~]# beeline -u jdbc:hive2://192.168.221.140:10000 #
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值