微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hive——环境搭建

内嵌 Derby 版本(基本不用)

1、 上传安装包:apache-hive-2.3.3-bin.tar.gz (可用CRT或者Xshell工具)
2、 解压安装包:tar -zxvf apache-hive-2.3.3-bin.tar.gz -C /home/hadoop/apps/
3、 进入到 bin 目录,运行 hive 脚本:[hadoop@hadoop02 bin]$ ./hive(可配置环境变量)

外置 MysqL 版本(常用)

1、 一个可用的 MysqLMySQL安装
2、 上传安装包: apache-hive-2.3.3-bin.tar.gz
3、 解压安装包: tar -zxvf apache-hive-2.3.3-bin.tar.gz -c ~/apps/
4、 修改配置文件: hive的根路径下的 conf 目录创建 hive-site.xml 文件
vim hive-site.xml
写入内容如下:

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:MysqL://hadoop02:3306/hivedb?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>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>root</value>
		<description>password to use against metastore database</description>
	</property>
	可选配置,该配置信息用来指定 Hive 数据仓库的数据存储在 HDFS 上的目录
	<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/user/hive/warehouse</value>
		<description>hive default warehouse, if nessecory, change it</description>
	</property>
</configuration>

5、 将 MysqL 驱动包(mysql-connector-java-5.1.40-bin.jar)该 jar 包放置在 hive的根路径下的 lib 目录
6、 安装完成,配置环境变量
vim ~/.bashrc 添加以下两行内容

export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.3-bin
export PATH=$PATH:$HIVE_HOME/bin

wq保存退出
最后不要忘记: source ~/.bashrc (刷新配置文件
7、验证 :hive --help 如下图内容

在这里插入图片描述


8、 初始化元数据库
注意:当使用的 hive 是 2.x 之前的版本,可以不做初始化,当 hive 第一次启动的时候会自动进行初始化,只不过不会生成足够多的元数据库中的表。在使用过程中会慢慢生成。如果使用的 2.x 版本的 Hive,那么就必须手动初始化元数据库。使用命令:

[hadoop@hadoop02 bin]$ schematool -dbType MysqL -initSchema

在这里插入图片描述


9、 启动 Hive 客户端

[hadoop@hadoop02 bin]$ hive --service cli
或者
[hadoop@hadoop02 bin]$ hive

10、退出 Hive

hive> quit;
或者
hive> exit;

Hive 三种连接方式

一、CLI方式

进入到 bin 目录下,直接输入命令:

[hadoop@hadoop02 ~]$ hive

在这里插入图片描述


启动成功的话如上图所示,接下来便可以做 hive 相关操作
补充:
1、上面的 hive 命令相当于在启动的时候执行:hive --service cli
2、使用 hive --help,可以查看 hive 命令可以启动那些服务
3、通过 hive --service serviceName --help 可以查看某个具体命令的使用方式

二、HiveServer2/beeline方式

在现在使用的最新的 hive-2.3.2 版本中:都需要对 hadoop 集群做如下改变,否则无法使用
第一:修改 hadoop 集群的 hdfs-site.xml 配置文件:加入一条配置信息,表示启用 webhdfs

<property>
 <name>dfs.webhdfs.enabled</name>
 <value>true</value>
</property>

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

<property>
	 <name>hadoop.proxyuser.hadoop.hosts</name>
	 <value>*</value>
</property>
<property>
	 <name>hadoop.proxyuser.hadoop.groups</name>
	 <value>*</value>
</property>

配置解析:
hadoop.proxyuser.hadoop.hosts 配置成 * 的意义,表示任意节点使用 hadoop 集群的代理用户hadoop 都能访问 hdfs 集群。
hadoop.proxyuser.hadoop.groups 表示代理用户的组所属。
以上操作做好了之后,请继续做如下两步:
第一步:先启动 hiveserver2 服务
启动方式,(假如是在 hadoop02 上):
启动为前台: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 个命令是等价的,第一个表示记录日志,第二个和第三个表示不记录日志
命令中的 1 和 2 的意义分别是:
1:表示标准日志输出
2:表示错误日志输出
如果我没有配置日志的输出路径,日志会生成在当前工作目录,认的日志名称叫做:
nohup.xxx

在这里插入图片描述


PS:nohup 命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用 nohup 命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
nohup 就是不挂起的意思(no hang up)。
该命令的一般形式为:nohup command &
第二步:然后启动 beeline 客户端去连接:
执行命令:
beeline -u jdbc:hive2://hadoop02:10000 -n hadoop
-u : 指定元数据库链接信息
-n : 指定用户名和密码

在这里插入图片描述


另外还有一种方式也可以去连接:先执行 beeline
然后按图所示输入:!connect jdbc:hive2://hadoop02:10000 按回车,然后输入用户名,这个用户名就是安装 hadoop 集群的用户名

在这里插入图片描述

三、Web UI方式

1、 下载对应版本的 src 包:apache-hive-2.3.2-src.tar.gz
2、 上传,解压

tar -zxvf apache-hive-2.3.2-src.tar.gz

3、 然后进入目录${HIVE_SRC_HOME}/hwi/web,执行打包命令:

jar -cvf hive-hwi-2.3.2.war *

在当前目录会生成一个 hive-hwi-2.3.2.war
4、 得到 hive-hwi-2.3.2.war 文件,复制到 hive 下的 lib 目录中
cp hive-hwi-2.3.2.war ${HIVE_HOME}/lib/
5、 修改配置文件 hive-site.xml

<property>
	 <name>hive.hwi.listen.host</name>
	 <value>0.0.0.0</value>
	 <description>监听的地址</description>
</property>
<property>
	 <name>hive.hwi.listen.port</name>
	 <value>9999</value>
	 <description>监听的端口号</description>
</property>
<property>
	 <name>hive.hwi.war.file</name>
	 <value>lib/hive-hwi-2.3.2.war</value>
	 <description>war包所在的地址</description>
</property>

6、 复制所需 jar 包
1、cp ${JAVA_HOME}/lib/tools.jar ${HIVE_HOME}/lib

2、再寻找三个 jar 包,都放入${HIVE_HOME}/lib 目录:

commons-el-1.0.jar
jasper-compiler-5.5.23.jar
jasper-runtime-5.5.23.jar

不然启动 hwi 服务的时候会报错。
7、 安装 ant
1、 上传 ant 包:apache-ant-1.9.4-bin.tar.gz
2、 解压
tar -zxvf apache-ant-1.9.4-bin.tar.gz -C ~/apps/
3、 配置环境变量
vim /etc/profile
在最后增加两行:
export ANT_HOME=/home/hadoop/apps/apache-ant-1.9.4 export PATH=$PATH:$ANT_HOME/bin
配置完环境变量别忘记执行:source /etc/profile
4、 验证是否安装成功

在这里插入图片描述


8、进入${HIVE_HOME}/bin 目录:

${HIVE_HOME}/bin/hive --service hwi
或者让在后台运行:
nohup bin/hive --service hwi > /dev/null 2> /dev/null &

9、 前面配置了端口号为 9999,所以这里直接在浏览器中输入:

hadoop02:9999/hwi

10、至此大功告成

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐