Hive安装

一、安装hive

1、下载、解压源文件并移动、重命名文件名,

tar -zxvf hive-1.1.0-cdh5.6.0.tar.gz
sudo mv hive-1.1.0-cdh5.6.0 /usr/app/hive11

2、配置环境变量

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

3、修改/usr/local/hive/conf下的配置文件

<?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?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</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.ConnectionUserName</name>
    <value>root</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

二、安装并配置mysql

1、更新安装源并安装MySQL

sudo apt update
sudo apt install mysql-server

2、启动和关闭mysql服务

service mysql start
service mysql stop

3、确认mysql服务是否启动

sudo netstat -tap | grep mysql

4、进入mysql并解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文),导致导入时中文乱码的原因是character_set_server默认设置是latin1

可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。

(1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在[mysqld]下添加一行character_set_server=utf8
(3)重启MySQL服务。service mysql restart
(4)登陆MySQL,并查看MySQL目前设置的编码。show variables like "char%";

三、使用MySQL作为元数据库

1、下载mysql jdbc包,并放置到hive/lib目录下

tar -zxvf mysql-connector-java-5.1.40.tar.gz   #解压
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar  /usr/app/hive/lib

2、启动并登陆mysql shell

service mysql start #启动mysql服务
mysql -u root -p  #登陆shell界面

3、新建hive数据库。

create database hive;    #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据

4、配置mysql允许hive接入

grant all on *.* to hive@localhost identified by 'hive';
flush privileges;

5、启动hive

hive

注明:启动hive之前,请先启动hadoop集群。

    原文作者:Always_6778
    原文地址: https://www.jianshu.com/p/5ad96ea48548
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞