安装2.2.0
1. 下载apache-hive-2.2.0-bin.tar.gz
2. 解压:tar –zxvf apache-hive-2.2.0-bin.tar.gz
3. 移动:mv apache-hive-2.2.0-bin.tar.gz /home/hadoop/hive2.2.0
4. 配置:sudo gedit /etc/profile
export HIVE_HOME=/home/hadoop/hive-2.2.0/apache-hive-2.2.0-bin
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
5. 输入命令: source /etc/profile
6. 进入hive的conf目录:
mv hive-default.xml.template hive-site.xml
mv hive-env.sh.template hive-env.sh
mv hive-log4j2.properties.template hive-log4j2.properties
mv hive-exec-log4j2.properties.template hive-exec-log4j2.properties
注:要启动hadoop(start-all.sh)
7. 创建HDFS目录:
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -mkdir -p /user/hive/tmp
hadoop fs -mkdir -p /user/hive/log
hadoop fs -chmod -R 777 /user/hive/warehouse
hadoop fs -chmod -R 777 /user/hive/tmp
hadoop fs -chmod -R 777 /user/hive/log
8. 修改hive-site.xml
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
<description>Location of Hive run time structured log file</description>
</property>
连接Mysql数据库
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>
JDBC connect string for a JDBC metastore.
To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
</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>
登陆mysql用户名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
//登陆mysql的密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>a</value>
<description>password to use against metastore database</description>
</property>
9. 修改hive-env.sh
export JAVA_HOME=/opt/Java/jdk1.8.0_162
export HADOOP_HOME=/opt/Hadoop/hadoop-2.9.0
export HIVE_HOME=/home/hadoop/hive-2.2.0/apache-hive-2.2.0-bin
export HIVE_CONF_DIR=/home/hadoop/hive-2.2.0/apache-hive-2.2.0-bin/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/hive-2.2.0/apache-hive-2.2.0-bin/lib
注:把你的路劲填上去
10. 将mysql驱动包复制到hive的lib目录下
下载mysql驱动包
cd /home/hadoop/hive-2.2.0/lib
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
11. 创建tmp文件
mkdir /home/hadoop/hive-2.2.0/tmp
并在 hive-site.xml 中修改
把{system:java.io.tmpdir} 改成 /home/hadoop/hive-2.3.0/tmp
把 {system:user.name} 改成 {user.name}
13. 初始化mysql
首先确保 mysql 中已经创建 hive 库
cd /home/hadoop/hive-2.2.0/bin
./schematool -initSchema -dbType mysql
可能出现问题:
安装hive遭遇Failed to get schema version
初步确定是hive表的访问权限问题,执行以下语句:
mysql> GRANT ALL ON *.* to ‘hive’@’localhost’ IDENTIFIED BY ‘1’;
注:先创个hive的数据库
mysql> create database hive;//创数据库
mysql> create user 'hive'@'localhost' identified by 'a';//创用户名叫hive(名字而已,随便起),密码a
mysql> flush privileges;//刷新权限