hive 环境搭建

实验环境

namenode: 192.168.0.160
datanode: 192.168.0.160,192.168.0.161
mysql-server: 192.168.0.170
hadoop版本: 2.6.5
hive版本:1.2.2
mysql版本:5.7
主机操作系统:ubuntu-16.04-x64

安装

在安装hive前,需要了解hive部署的三种模式:

  1. 内嵌模式
    内嵌模式的元数据采用hive自带的derby来存储。由于derby只支持同时一个用户访问所以生产环境下一般不推荐使用。
  2. 本地数据库模式
    hive元数据保存在本地数据库中。
  3. 远程数据库模式
    hive元数据保存在远程数据库中。

本文讲解第三种部署方式,数据库采用mysql。

1.搭建hadoop

hive是基于hadoop来进行数据分析,因此需要先安装hadoop,可以参考
https://blog.csdn.net/cl2010abc/article/details/80533789

2.安装mysql

sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

现在设置mysql允许远程访问

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1中的ip部分修改为0.0.0.0。

bind-address = 0.0.0.0

重启mysql服务

sudo service  mysql restart

查看mysql服务的运行状态

sudo netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN   #mysql进程  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN   

3.下载并配置hive

下载hive,点击这里

将下载后的二进制包上传到namenode上,并解压。

 tar xf apache-hive-1.2.2-bin.tar.gz 
 mv apache-hive-1.2.2-bin hive

修改配置文件conf/hive-env.sh

cp conf/hive-env.sh.template  conf/hive-env.sh
vim conf/hive-env.sh
#修改内容
HADOOP_HOME=/home/hadoop/software/hadoop-2.6.5

修改配置文件conf/hive-site.conf

cp conf/hive-default.xml.template  conf/hive-site.xml
vim conf/hive-site.xml
#数据库URL
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.0.170:3306/hive?createDatabaseIfNoExist=true&amp;characterEncoding=utf8&amp;useSSL=true&amp;useUnicode=true&amp;serverTimezone=UTC</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>

#下面两项必须配置,不然启动会报错   
<property>
    <name>system:user.name</name>
    <value>hadoop</value>
</property>
<property>
    <name>system:java.io.tmpdir</name>
    <value>/home/hadoop/software/hive/tmp</value>
</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.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
</property>

#数据库连接密码
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>password to use against metastore database</description>
</property>

下载mysql jdbc驱动包,点击这里,并将驱动包拷贝到hive安装包lib路径下。

tar xf mysql-connector-java-5.1.46.tar.gz
cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar  lib/
# mysql server版本为5.7.x时,mysql-connector的版本选择5.x,否则可能出现不可预知错误。

4.启动

启动hadoop

./sbin/start-all.sh

初始化hive

./bin/schematool -dbType mysql  -initSchema
    Metastore connection URL:        jdbc:mysql://192.168.0.170:3306/hive?createDatabaseIfNoExist=true&characterEncoding=utf8&useSSL=true&useUnicode=true&serverTimezone=UTC
    Metastore Connection Driver :    com.mysql.cj.jdbc.Driver
    Metastore connection User:       root
    Starting metastore schema initialization to 1.2.0
    Initialization script hive-schema-1.2.0.mysql.sql
    Initialization script completed
    schemaTool completed

启动hive

./bin/hive

Logging initialized using configuration in jar:file:/home/hadoop/software/hive/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive> show databases;
OK
default
Time taken: 0.021 seconds, Fetched: 1 row(s)
hive> 

至此hive安装完毕。

猜你喜欢

转载自blog.csdn.net/cl2010abc/article/details/81024014
今日推荐