安装 Mariadb
https://blog.csdn.net/yitengtongweishi/article/details/82150617
安装 Hadoop
https://blog.csdn.net/yitengtongweishi/article/details/81941667
安装 Hive
Hive Releases
单击上述链接,下载需要的版本。本次选择的是 hive-1.2.2。
解压 Hive 压缩文件
blockchain@Dao:~$ tar -zxvf Downloads/apache-hive-1.2.2-bin.tar.gz -C ~
编辑 ~/.bashrc ,在文件末尾添加
#Hive
export HIVE_HOME=$HOME/hive-1.2.2
export PATH=$PATH:${HIVE_HOME}/bin
使配置立即生效
blockchain@Dao:~$ source ~/.bashrc
切换至 ${HIVE_HOME}/conf
目录
blockchain@Dao:~/hive-1.2.2/conf$ cd /home/blockchain/hive-1.2.2/conf/ ; ls -lt
total 188
-rw-r--r-- 1 blockchain blockchain 168715 4月 1 2017 hive-default.xml.template
-rw-r--r-- 1 blockchain blockchain 1593 4月 1 2017 ivysettings.xml
-rw-r--r-- 1 blockchain blockchain 2662 3月 31 2017 hive-exec-log4j.properties.template
-rw-r--r-- 1 blockchain blockchain 1139 3月 31 2017 beeline-log4j.properties.template
-rw-r--r-- 1 blockchain blockchain 2378 3月 31 2017 hive-env.sh.template
-rw-r--r-- 1 blockchain blockchain 3050 3月 31 2017 hive-log4j.properties.template
blockchain@Dao:~/hive-1.2.2/conf$
复制 hive-env.sh.template
,将其重命名为 hive-env.sh
,然后编辑 hive-env.sh
blockchain@Dao:~/hive-1.2.2/conf$ cp hive-env.sh.template hive-env.sh
blockchain@Dao:~/hive-1.2.2/conf$ vim hive-env.sh
配置 HADOOP_HOME
和 HIVE_CONF_DIR
# Set HADOOP_HOME to point to a specific hadoop install directory
# HADOOP_HOME=${bin}/../../hadoop
HADOOP_HOME=/home/blockchain/hadoop-2.6.5
# Hive Configuration Directory can be controlled by:
# export HIVE_CONF_DIR=
export HIVE_CONF_DIR=/home/blockchain/hive-1.2.2/conf
复制 hive-default.xml.template
,将其重命名为 hive-site.xml
,然后编辑 hive-site.xml
blockchain@Dao:~/hive-1.2.2/conf$ cp hive-default.xml.template hive-site.xml
blockchain@Dao:~/hive-1.2.2/conf$ vim 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?createDatabaseIfNotExist=true&useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
<!--此处的&useSSL=false参数是为了防止MySQL发出的警告信息-->
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
<!--JDBC驱动类的全限定名-->
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
<!--MySQL数据库的用户名-->
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>3.14159</value>
<description>password to use against metastore database</description>
<!--MySQL数据库的密码和上面的用户对应-->
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>whether to print the names of the columns in query output</description>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>whether to include the current database in th Hive promt</description>
</property>
</configuration>
拷贝JDBC驱动
https://dev.mysql.com/downloads/connector/j/
下载 JDBC 驱动,拷贝至 ${HIVE_HOME}/lib
目录
blockchain@Dao:~/Downloads$ tar -zxvf mysql-connector-java-8.0.18.tar.gz
blockchain@Dao:~/Downloads$ cp mysql-connector-java-8.0.18/mysql-connector-java-8.0.18.jar /home/blockchain/hive-1.2.2/lib/
解决 jline包 版本不一致的问题
blockchain@Dao:~$ mv hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar.old
blockchain@Dao:~$
blockchain@Dao:~$ cp hive-1.2.2/lib/jline-2.12.jar hadoop-2.6.5/share/hadoop/yarn/lib/
blockchain@Dao:~$
blockchain@Dao:~$ ls -lt hadoop-2.6.5/share/hadoop/yarn/lib/ | grep jline
-rw-r--r-- 1 blockchain blockchain 213854 11月 9 11:47 jline-2.12.jar
-rw-rw-r-- 1 blockchain blockchain 87325 10月 3 2016 jline-0.9.94.jar.old
blockchain@Dao:~$
最后
确保 MariaDB
已启动
确保 Hadoop
已启动
启动 Hive
blockchain@Dao:~$ hive
大功告成!