一、安装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集群。