搭建Hive远程本地访问模式之前,要保证Hadoop集群的正常运行
本案例使用的版本介绍:
软件 |
版本 |
hadoop |
2.6.5 |
zookeeper |
3.4.6 |
hive |
1.2.1 |
搭建的大致流程:
1. 安装Hive
2. 配置Hive环境变量
3. 替换和添加相关jar包
4. 修改Hive配置文件
5. 启动Hive测试Hive
这里我用了三台服务器,主机名分别为:test1、test2、test3
主机名 |
角色 |
test1 |
Mysql服务端 |
test2 |
Hive服务端 |
test3 |
Hive 客户端 |
搭建具体步骤:
1. 安装Hive
在官网上下载Hive压缩包,上传到/home文件夹下,并解压该文件到当前目录
2. 配置Hive环境变量
对主机名为test2和test3的服务器分别做Hive环境变量
首先知道Hive安装目录,可以通过下列方法:
得到:/home/apache-hive-1.2.1-bin
通过命令打开环境变量:
[root@test2 apache-hive-1.2.1-bin]# vim ~/.bash_profile
对打开的文件写入Hive环境变量:
export HIVE_HOME=/home/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
如图:
然后保存并退出该文件,重新加载环境变量source ~/.bash_profile
3. 替换和添加相关jar包
首先把mysql支持jar包加入Hive中,具体做法:把jar包放入apache-hive-1.2.1-bin/lib目录下。
这里我用的是mysql-connector-java-5.1.32-bin.jar
然后我们把apache-hive-1.2.1-bin/lib/jline-2.12.jar包拷贝到本地,然后通过本地替换掉/home/hadoop-2.6.5/share/hadoop/yarn/lib下的jline-**.jar包
注意:Hadoop下面的jline包版本不同,这里我们直接删除掉这个包,然后导入这个jline-2.12.jar包。第三步骤就完成了。
4. 修改Hive配置文件
因为我们这里的服务端和客户端分开搭建的,所以这里我们要分别修改test2和test3的Hive配置文件。
首先修改test2服务端的配置文件
进入apache-hive-1.2.1-bin/conf目录,创建名为hive-site.xml的文件。
然后写入下面一段代码:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
这里配置hive产生的元数据的存放位置,根据自己喜好进行配置
<value>/user/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
这里配置hive连接mysql服务所需要的jdbc支持
<value>jdbc:mysql://test1:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
配置mysql的Driver
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
这里配置的是连接mysql时的登陆用户名
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
这里配置的是连接mysql时的登陆密码
<value>123456</value>
</property>
</configuration>
然后修改test3客户端的配置文件
进入apache-hive-1.2.1-bin/conf目录,创建名为hive-site.xml的文件。
然后写入下面一段代码:
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
这里配置的是否启用本地服务器连接Hive,这里我们是客户端和服务端分开的一个配置,所以这里设置为false.
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
这里配置的是连接Hive服务端的匹配地址
<value>thrift://test2:9083</value>
</property>
</configuration>
5. 启动服务
首先启动Hive服务端:其次启动Hive客户端:
6 测试hive
我们在Hive服务端输入查找数据库的命令:show databases;
出现下图就代表Hive搭建成功。