hive基本配置

HIve的安装与配置 

 

本文中hive版本2.3.2,默认环境中jdk已经正常安装,hadoop集群正常启动

1.1下载hive安装文件

可以从Apache官网下载安装文件,即http://mirror.bit.edu.cn/apache/hive/

由于hive是默认将元数据保存在本地内置的Derby数据库中,Derby是单用户模式,不支持会话连接(具体体现:当你进行切换目录启动的时候需要重新元数据库的初始化工作,原来的目录下的初始化的元数据访问不了),本人选择MySQL作为元数据存储。个人百度网盘 内附hive2.3.2安装包和源码以及MySQL驱动包链接:https://pan.baidu.com/s/1uKzgIBSjnL_ZPGEL-VhpVA 密码:kdci

本文使用hive版本2.3.2,

解压安装文件到指定的文件夹 tar -xvzf apache-hive-2.3.2-bin.tar.gz  -C  /home/hadoop/apps/

2.1配置相关文件和环境变量

配置hive环境变量 vi /etc/profile

配置完成可输入hive  --version 查看版本

修改hive配置文件 /home/hadoop/apps/apache-hive-2.3.2-bin/conf 路径下

初次解压发现hive-site.xml配置文件并没有,此时需要我们自己创建并配置hive-site.xml

hive-site.xml

<configuration>
                    <property>
                    <!-- 元数据库的链接地址 mysql -->
                    <name>javax.jdo.option.ConnectionURL</name>  
                    <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value>
                    <description>JDBC connect string for a JDBC metastore</description>
                    <!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
                    </property>
                    <property>
                    <!-- 指定mysql驱动 -->
                    <name>javax.jdo.option.ConnectionDriverName</name>
                    <value>com.mysql.jdbc.Driver</value>
                    <description>Driver class name for a JDBC metastore</description>
                    </property>
                    <property>
                    <!-- 指定mysql用户名 -->
                    <name>javax.jdo.option.ConnectionUserName</name>
                    <value>root</value>
                    <description>username to use against metastore database</description>
                    </property>
                    <property>
                    <!-- 指定mysql密码 请输入自己的MySQL连接密码 -->
                    <name>javax.jdo.option.ConnectionPassword</name>
                    <value>password</value>
                    <description>password to use against metastore database</description>
                    </property>

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>

<description>hive default warehouse, if nessecory, change it</description>

</property> 
                    </configuration>

 

hive-site.xml详细图解:

 将MySQL的驱动添加到hive安装目录的lib下  mysql-connector-java-5.1.40-bin (ps:个人网盘上有,链接在上面,也可自行去下载)

元数据库的初始化    schematool -dbType mysql -initSchema  (ps:也可切换到hive的bin目录下 ./schematool -dbType mysql -initSchema)

 

3.1hive的启动 

运行hive之前要确保hadoop集群启动和MySQL服务启动正常开启的情况下  

3.1hive的启动 

运行hive之前要确保hadoop集群启动和MySQL服务启动正常开启的情况下  

3.1.1本地hive启动 CLI方式(若hive当前节点使用,此启动方式即可)

由于配置过环境变量,可以直接在命令行中输入hive  本地启动命令 hive

 3.1.2 HiveServer2/beeline 客户端方式启动

由于hive启动,hadoop集群中其他节点是无法访问的,只能在hive安装的当前节点使用,若需要在其他节点操作hive,则可以用HiveServer2/beeline方式,下面就简单介绍下 HiveServer2/beeline

第一:修改 hadoop 集群的 hdfs-site.xml 配置文件:加入一条配置信息,表示启用 webhdfs 

第二:修改 hadoop 集群的 core-site.xml 配置文件:加入两条配置信息:表示设置 hadoop 的代理用户 

配置解析: hadoop.proxyuser.hadoop.hosts 配置成*的意义,表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群,hadoop.proxyuser.hadoop.groups 表示代理用户的组所属

第一步:先启动 hiveserver2 服务

前台启动方式:hiveserver2

后台启动方式:

nohup hiveserver2 1>/home/hadoop/hiveserver.log 2>/home/hadoop/hiveserver.err &

或者:nohup hiveserver2 1>/dev/null 2>/dev/null &

或者:nohup hiveserver2 >/dev/null 2>&1 &

以上 3 个命令是等价的,第一个表示记录日志,第二个和第三个表示不记录日志 (ps:注意符号&是结尾符,一定要带上,本人刚开始操作的时候经常忘记0.0,提醒一下)

命令中的 1 和 2 的意义分别是: 1:表示标准日志输出 2:表示错误日志输出 如果我没有配置日志的输出路径,日志会生成在当前工作目录,默认的日志名称叫做: nohup.xxx

第二步:然后启动 beeline 客户端去连接:

beeline -u jdbc:hive2://hadoop01:10000 -n hadoop    -u : 指定元数据库的链接信息 -n : 指定用户名和密码

不过我比较习惯常用的是先执行 beeline 然后按图所示输入:!connect jdbc:hive2://hadoop01:10000 按回车,然后输入用户名,这个 用户名就是安装 hadoop 集群的用户名,情形如下图

接下来便可以做 hive 操作

还有第三种hive启动方式 Web UI ,配置相对繁琐,本文不做过多介绍,有兴趣的朋友可以去了解一下。

4.1测试hive

这个部分比较简单就不截图了,附上一组小命令,自行检测。 

show databases;
                create database test_work; //新建一个测试库
                use test_work;
                craete table course(id string);
                insert into table course values("qq");
                exit;

以上正常执行,表明hive已经安装和配置完成。可去hdfs图形界面上查看建的表,访问xxxx.50070

(ps:mysql上只存储hive的元数据,而原始数据是存储在hdfs上的,默认存储路径上面配置hive-site.xml时已有说明,如果没有指定hive.metastore.warehouse.dir属性,则默认值是/user/hive/warehouse)

posted @ 2020-05-15 13:14  Q1Zhen  阅读(401)  评论(0编辑  收藏  举报