Hive安装与部署
需要使用到的软件
- MySQL&MySQL connector j
#MYSQL 本体建议使用 apt 方式安装
#MYSQL connector j 需要到官网上去下载
https://dev.mysql.com/downloads/connector/j/
- Hive 我选择了1.2.2的版本。你们可以随意选择。
https://hive.apache.org/downloads.html
需要的运行环境
- Hadoop环境
我们首先需要检查我门的hadoop环境是否可以正常运行。
我们可以使用start-all命令,来开启我们的hadoop环境。然后使用jps查看当前的进程。
- Java环境
Hive工具中默认使用的Derby数据库,该数据库使用简单,操作灵活,但是存在一定的局限性。Hive支持使用第三方数据库(MySQL等),通过配置可以把MySQl集成到Hive工具中,MySQL功能更强大,应用也更广。
默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试。实际生产环境中不使用,为了支持多用户会话,则需要一个独立的元数据库,使用MySQL作为元数据库,Hive内部对MySQL提供了很好的支持。
- 所以我们需要将Hive默认自带的Derby替换为MySQL。
使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:
ps. 这里我们的使用的是Ubuntu系统,软件源都在国外,下载软件速度比较慢,容易出错。所以我们这里需要对软件源进行一个替换。
如何替换软件源?
#打开软件源的列表文件。
sudo vim /etc/apt/source.list
#删除掉列表文件中的所有内容,在vim 命令模式下输入如下:
ggdG
之后我们需要去晚上搜索相关源地址。可以在百度搜索关键字“ Ubuntu 源替换/Ubuntu 清华源/阿里元等”
将我们找到的源地址,黏贴进我们刚刚打开的source.list文件中。之后保存退出。
到此我们就已经完成了源地址的替换。我们需要对新的软件下进行一下更新,然后进行mysql的安装。
sudo apt-get update #更新软件源
sudo apt-get install mysql-server #安装mysql
上述命令会安装以下包: apparmor mysql-client-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。
- 启动和关闭mysql服务器:
service mysql start
#开启之后不要关掉。这里只是让大家知道如何关闭
service mysql stop
- 确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:
sudo netstat -tap | grep mysql
#注意无法使用netstat命令,我们需要安装 net-tools软件包。
sudo apt install net-tools
- mysql完成安装后,我们需要登录mysql进行配置,更改密码等操作。
#我们可以使用超级用户直接免密登录mysql
sudo su
mysql -u root
- 开启mysql之后,我们需要手动更改密码。
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_Password BY "你想要的密码"
#保存
flush privileges
我们需要新建一个hive的数据库
create database hive;
将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
grant all privileges on *.* to root@localhost identified by '你数据库root用户的连接密码'
如何这上面的语句报错,尝试用下面的。
grant all privileges on *.* to root@localhost
我们之后可以使用如下命令登录mysql数据库。
mysql -u root -p
到此数据部分的设置已经完成
安装HIVE
在安装Hive之前,请首先安装Hadoop
- 下载并解压Hive安装包
首先需要下载Hive安装包文件, Hive官网下载地址
将解压到/usr/local中
sudo tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C /usr/local
cd /usr/local/
将文件夹名改为hive
sudo mv apache-hive-3.1.2-bin hive
- 为了方便使用,我们把hive命令加入到环境变量中去, 请使用vim编辑器打开profile文件,命令如下:
sudo vim /etc/profile
在该文件最前面一行添加如下内容:
2 export HIVE_HOME=/usr/local/hive
3 export PATH=$PATH:$HIVE_HOME/bin
保存退出后,运行如下命令使配置立即生效:
source /etc/profile
完成之后我们可以使用如下命令查看环境变量是否设置完成以及当前Hive的版本。
hive --version
上图显示,我们的hive使用的是hive 1.2.2的版本,至此,我们hive已经成功安装并且完成了环境变量的配置。
配置HIVE
修改/usr/local/hive/conf
下的hive-site.xml 执行如下命令:
#进入到hive的配置目录
cd /usr/local/hive/conf
然后我们复制一个模板
sudo cp hive-default.xml.template hive-site.xml
上面命令是将hive-default.xml.template复制了一份名为hive-site.xml; 然后,使用vim编辑器新建一个配置文件hive-site.xml,命令如下:
sudo vim hive-site.xml
将hive-site.xml中所有内容都删除掉。填入如下信息:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>(mysql地址localhost)
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>(mysql的驱动)
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>SS
<name>javax.jdo.option.ConnectionUserName</name>(用户名)
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>(密码)
<value>123456</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
然后,按键盘上的“ESC”键退出vim编辑状态,再输入:wq,保存并退出vim编辑器。
我们需要将mysql驱动程序进行解压抽取,然后拷贝到hive/lib的文件夹中。
sudo cp mysql-connector-java-8.0.22.jar /usr/local/hive/lib/
我们在启动hive之前,需要对数据库进行初始化。
schematool -dbType mysql -initSchema
启动HIVE
我们已经完成所有步骤,我们需要启动我们的HIVE数据仓库。
- 启动Hadoop集群
cd /././hadoop/sbin/
start-all.sh
- 启动hive
cd /usr/local/hive/bin
hive
HIVE 测试
- 通过如下命令我们可以知道现在的hadoop中的HDFS存了什么。
hadoop fs -ls -R /
- 进入hive并创建一个测试库和测试表
cd /usr/local/hive/bin
hive
- 创建库:
create database hive_1;
- 显示库:
show databases;
库创建成功
- 当我们完成创建之后,我们来看看HDFS发生了什么变化。
多了一个hive_1.db的库,就是我们刚刚创建的。