Hive(一)——安装配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012848709/article/details/83019772

楔子

学习了解hive,做个笔记。想学习的可以一起。本打算不启动虚拟机,在window上启动hive,但是根据网友的论述 没成功。所以直接使用Linux虚拟机来配置。

环境

  • centos6.9
  • hadoop-2.7.2
  • hive 1.2.1

几个地址

hive下载地址
Apache全部软件下载地址 下载速度比较慢
文档查看地址

hive 架构

在这里插入图片描述


1 用户接口:Client
CLI(hive shell)、JDBC/ODBC(java访问 hive)、WEBUI(浏览器访问hive)
2 元数据:Metastore
元数据包括:表名、表所属的数据库(默认的是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;
3 Hadoop
使用HDFS进行存储,使用MapReduce进行计算。
4 驱动器:Driver
1)解析器(SQL Parser):经SQL字符串转换成抽象语法数AST,这一步一般在第三方工具苦完成。
2) 编译器(Physical Plan)
3) 优化器
4) 执行器

安装配置

安装目录/opt/module/hive121 ,以下没说明就是此目录

cd conf
[root@hadoop102 conf]# mv hive-env.sh.template hive-env.sh
# 修改 hive-env.sh 配置 以下两项值
HADOOP_HOME=/opt/module/hadoop-2.7.2
export HIVE_CONF_DIR=/opt/module/hive121/conf
  • Hadoop集群配置
#启动 hdfs和yarn
#我配置了Hadoop 环境变量,所以可以直接使用下面 命令
[root@hadoop102 hive121]# start-dfs.sh
[root@hadoop102 hive121]# start-yarn.sh

在HDFS上创建目录修改权限

[root@hadoop102 hive121]# hadoop fs -mkdir -p /user/hive/warehouse
[root@hadoop102 hive121]# hadoop fs -mkdir  tmp
# 修改权限()
[root@hadoop102 hive121]# hadoop fs -chmod g+w /user/hive/warehouse
[root@hadoop102 hive121]# hadoop fs -chmod g+w /tmp

基本操作

# 启动 hive
[root@hadoop102 hive121]# bin/hive
# 查看数据库
hive (default)> show databases;
# 打开默认数据库
hive (default)> use default;
# 显示default中表
hive (default)> show tables;
# 创建一张表
hive (default)> create table stu(id int,name string);
#查看表结构
hive (default)> desc stu;
# 退出
hive (default)> quit;

Hive元素配置到MySQL

配置之后就可以多窗口启动 hive

安装MySQL客户端

MySQL服务器 是使用我电脑本机的,只是在Linux上安装了 MySQL客户端。而且使使用yum 安装
yum -y install mysql

jar包

MySQL 连接jar包需要lib 目录中

配置MySQL

需要的配置文件是$HIVE_HOME/conf/hive-site.xml,

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
	  <name>javax.jdo.option.ConnectionURL</name>
	  <value>jdbc:mysql://grqpc:3306/hive?createDatabaseIfNotExist=true</value>
	  <description>JDBC connect string for a JDBC metastore</description>
	</property>

	<property>
	  <name>javax.jdo.option.ConnectionDriverName</name>
	  <value>com.mysql.jdbc.Driver</value>
	  <description>Driver class name for a JDBC metastore</description>
	</property>

	<property>
	  <name>javax.jdo.option.ConnectionUserName</name>
	  <value>root</value>
	  <description>username to use against metastore database</description>
	</property>

	<property>
	  <name>javax.jdo.option.ConnectionPassword</name>
	  <value>000000</value>
	  <description>password to use against metastore database</description>
	</property>
    <!-- 修改default数据仓库位置 -->
    <property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/user/hive/warehouse</value>
		<description>location of default database for the warehouse</description>
</property>
      <!-- 配置查询时显示头和数据库 -->
    <property>
	<name>hive.cli.print.header</name>
	<value>true</value>
</property>

<property>
	<name>hive.cli.print.current.db</name>
	<value>true</value>
</property>
</configuration>

MySQL 数据库

需要注意的是 ,为了避免出错,建议手动创建数据库,需要注意数据库编码,其他编码可能后续有问题
create database hive default character set latin1;
或者手动修改数据库编码
alter database hive character set latin1;

猜你喜欢

转载自blog.csdn.net/u012848709/article/details/83019772
今日推荐