使用安装包版本:
apache-hive-1.2.2-bin.tar.gz
下载地址http://www.apache.org/dyn/closer.cgi/hive/
一、将hive解压至指定目录
1、解压到/usr/local/src,并进入/usr/local/src
[root@master app]# tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /usr/local/src
[root@master app]# cd /usr/local/src
2、进入/usr/local/src/apache-hive-1.2.2-bin/conf
[root@master src]# cd /usr/local/src/apache-hive-1.2.2-bin/conf
3、直接 touch(创建)hive-site.xml文件
不要复制模板hive-default.xml.template
[root@master conf]# touch hive-site.xml
[root@master conf]# vi hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<!-- MySQL密码 -->
<value>!Mj123456</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master/hive_db?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/src/apache-hive-1.2.2-bin/iotmp</value>
</property>
<property>
<name>java.io.tmpdir</name>
<value>/usr/local/src/apache-hive-1.2.2-bin/tmp</value>
</property>
</configuration>
4、创建 hive-site.xml 中配置目录 iotmp和tmp
[root@master apache-hive-1.2.2-bin]# pwd
/usr/local/src/apache-hive-1.2.2-bin
[root@master apache-hive-1.2.2-bin]# mkdir tmp iotmp
[root@master apache-hive-1.2.2-bin]# ls
bin examples iotmp LICENSE README.txt scripts
conf hcatalog lib NOTICE RELEASE_NOTES.txt tmp
[root@master apache-hive-1.2.2-bin]#
5、修改环境变量,并生效:
[root@master apache-hive-1.2.2-bin]# vi ~/.bash_profile
HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
[root@master hive-1.2.2]# source ~/.bash_profile
6、删除 hadoop-2.6.0/share/hadoop/yarn/lib/中的jline-0.9.94.jar包
[root@master ~]# rm -r /usr/local/src/hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar
7、将 hive/lib 目录内 jline-jar包 复制到 hadoop/lib
hive 与 hadoop jline.jar包不同,启动 hive 会出错
[root@master app]# cp /usr/local/src/apache-hive-1.2.2-bin/lib/jline-2.12.jar /usr/local/src/hadoop-2.6.0/share/hadoop/yarn/lib
8、格式化hive
[root@master conf]# schematool -dbType mysql -initSchema
Metastore connection URL: jdbc:mysql://master/hive_db?createDatabaseIfNotExist=true&useSSL=false
Metastore Connection Driver : com.mysql.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
[root@master conf]#
二、启动 hive
1、启动hive
[root@master ~]# hive
ls: 无法访问/usr/local/src/spark-2.0.0-bin-hadoop2.6/lib/spark-assembly-*.jar: 没有那个文件或目录
Logging initialized using configuration in jar:file:/usr/local/src/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive>
2、解决办法
spark2.0版本
目录 spark/lib 改为 spark/jars
hive默认配置没有更改
2.1 进入hive/bin目录
[root@master bin]# pwd
/usr/local/src/apache-hive-1.2.2-bin/bin
[root@master bin]# ls
beeline ext hive hive-config.sh hiveserver2 metatool schematool
2.2 修改hive文件
快速搜索命令
输入斜线 / 接上 搜索 单词
/spark-assembly
回车,定位到spark-assembly
[root@master bin]# vi hive
# add Spark assembly jar to the classpath
if [[ -n "$SPARK_HOME" ]]
then
# sparkAssemblyPath=`ls ${SPARK_HOME}/lib/spark-assembly-*.jar`
sparkAssemblyPath=`ls ${SPARK_HOME}/jars/*.jar`
CLASSPATH="${CLASSPATH}:${sparkAssemblyPath}"
3、再次启动
[root@master bin]# hive
Logging initialized using configuration in jar:file:/usr/local/src/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive>