Mac上Hive安装配置


1、安装


下载hive,地址:http://mirror.bit.edu.cn/apache/hive/


之前我配置了集群,tjt01、tjt02、tjt03,这里hive安装在tjt01机器上。

我下载的是“apache-hive-3.0.0-bin.tar.gz”,将hive 3.0版本上传到/opt目录,并解压到/usr/local下:



[root@tjt01 ~]# cd /opt
[root@tjt01 opt]# tar -zxvf apache-hive-3.0.0-bin.tar.gz -C /usr/local/


Mac上Hive安装配置_Hive安装配置


将目录重命名为hive目录:



[root@tjt01 opt]# cd /usr/local/
[root@tjt01 local]# mv apache-hive-3.0.0-bin hive
[root@tjt01 local]#



修改环境变量/etc/profile:


[root@tjt01 local]# vi /etc/profile


在profile文件中添加如下内容:


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


生效profile:


[root@tjt01 local]# vi /etc/profile
[root@tjt01 local]# source /etc/profile






执行 hive --version查看hive版本


[root@tjt01 local]# hive --version
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive 3.0.0
Git git://vgargwork.local/Users/vgarg/repos/hive.apache.master.latest -r ce61711a5fa54ab34fc74d86d521ecaeea6b072a
Compiled by vgarg on Fri May 18 11:38:33 PDT 2018
From source with checksum 81fcb93b608965ed7ac968bae1187fab
[root@tjt01 local]#


Mac上Hive安装配置_Hive安装配置_02


2、安装Mysql

 启动Mysql服务:


[root@tjt03 ~]# sudo service mysqld start


启动过程报错了下,简单解决如下:


[root@tjt03 ~]# /etc/init.d/mysqld start
[FAILED]
[root@tjt03 ~]# mkdir /var/run/mysqld/
[root@tjt03 ~]# chown mysql.mysql /var/run/mysqld/
[root@tjt03 ~]# sudo service mysqld start
Starting mysqld (via systemctl): [ OK ]
[root@tjt03 ~]#


设置Mysql开机启动:


[root@tjt03 ~]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
[root@tjt03 ~]# systemctl daemon-reload
[root@tjt03 ~]#


Mac上Hive安装配置_hive_03


3、配置

3.1 修改hive-site.xml


[root@tjt01 conf]# cd ~
[root@tjt01 ~]# cd /usr/local/hive/conf/
[root@tjt01 conf]# cp hive-default.xml.template hive-site.xml
[root@tjt01 conf]# vim hive-site.xml


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://172.16.114.132:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>TANjintao@520</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>


3.2 复制Mysql的程序程序到hive/lib下

mysql-connector-java.jar

Mac上Hive安装配置_hadoop_04

3.3 创建Mysql下的hive数据库


mysql> create database hive;
Query OK, 1 row affected (0.01 sec)
mysql>


3.4 在Mysql中hive的schema创建


[root@tjt01 bin]# schematool -dbType mysql -initSchema
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL: jdbc:mysql://172.16.114.132:3306/hive
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: root
Starting metastore schema initialization to 3.0.0
Initialization script hive-schema-3.0.0.mysql.sql
Initialization script completed
schemaTool completed
[root@tjt01 bin]#


4、测试

进入hive之前,开启hadoop,键入hive进入hive:


[root@tjt01 bin]# start-dfs.sh
Starting namenodes on [tjt01]
tjt01: starting namenode, logging to /opt/hadoop-2.7.6/logs/hadoop-root-namenode-tjt01.out
tjt03: starting datanode, logging to /opt/hadoop-2.7.6/logs/hadoop-root-datanode-tjt03.out
tjt02: starting datanode, logging to /opt/hadoop-2.7.6/logs/hadoop-root-datanode-tjt02.out
tjt01: starting datanode, logging to /opt/hadoop-2.7.6/logs/hadoop-root-datanode-tjt01.out
Starting secondary namenodes [tjt02]
tjt02: starting secondarynamenode, logging to /opt/hadoop-2.7.6/logs/hadoop-root-secondarynamenode-tjt02.out
[root@tjt01 bin]#hive


Mac上Hive安装配置_mysql_05

创建hive数据库:


hive> create database hive_1;
OK
Time taken: 0.709 seconds
hive> show databases;
OK
default
hive_1
Time taken: 0.238 seconds, Fetched: 2 row(s)
hive>


观察Mysql下hive数据库的变化:


mysql> select * from DBS;


Mac上Hive安装配置_hadoop_06

在hive_1下创建一个hive_01:


hive> use hive_1;
OK
Time taken: 0.066 seconds
hive> create table hive_01 (id int, name string);
OK
Time taken: 1.235 seconds
hive>


再次观察Mysql下hive数据库的变化:


mysql> select * from TBLS;


Mac上Hive安装配置_hive_07


到此为止,Mac安装Hive完美收官!