1. 下载hive源码包
master
[root@master local]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
2. 解压hive压缩包至指定路径
[root@master local]# tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /usr/local/src/
[root@master local]# cd $hive/conf
[root@master conf]# cp hive-env.sh.template hive-env.sh
[root@master conf]# cp hive-default.xml.template hive-site.xml
[root@master conf]# cp hive-log4j2.properties.template hive-log4j2.properties
[root@master conf]# cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
3. 修改hive配置文件
vim hive-env.sh
export JAVA_HOME=/usr/local/src/jdk1.8.0_181 #java安装路径
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1 #hadoop安装路径
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin #hive安装路径
export HIVE_CONF_DIR=/usr/local/src/apache-hive-1.2.2-bin/conf #hive配置文件路径
vim hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name> #连接mysql的url
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value> #连接mysql的java驱动
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value> #mysql数据库中的user
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>xxxxx</value> #mysql数据库中user对应的密码
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/hive/warehouse</value> #hive数据的hdfs路径
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/usr/hive/tmp</value> #hive临时文件路径
</property>
<property>
<name>hive.querylog.location</name>
<value>/usr/hive/log</value> #执行hive生成的log
</property>
</configuration>
4. 设置hive环境变量
vim ~/.bashrc
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
5. source ~/.bashrc,使文件生效
安装hive所遇到的问题
问题1:没有安装mysql-connector-java-5.1.46-bin.jar
解决方案:
- 下载mysql驱动
wget https://downloads.mysql.com/archives/get/file/mysql-connector-java-5.1.46.tar.gz
- 解压值指定路径
tar -zxvf mysql-connector-java-5.1.46.tar.gz -C /usr/local/src
- 复制mysql驱动到hive的lib
cp mysql-connector-java-5.1.46-bin.jar ${HIVE_HOME}/lib
问题2:hive中的jline版本与hadoop的jline版本不一致
解决方案:
- 复制hive的jline版本到hadoop的lib库中
cp ${HIVE_HOME}/lib/jline-2.12.jar ${HADOOP_HOME}/share/hadoop/yarn/lib
- 删除旧版本的jline
rm -f jline-0.9.94.jar
问题3:hive无法连接mysql数据库
解决方案:
设置mysql中的host,user和对应的password并开放对外界的访问权限
成功连接后,如图
问题4:无法初始化hive metadata
解决方案:如果在hive-site.xml配置了hive.metastore.uris参数,每次启动hive之前需要先启动如下两个命令,否则hive无法正常启动。
$ ./bin/hive --service metastore &
$ ./bin/hive --service hiveserver2 &