虚拟机(Ubuntu)安装hive 2.2.0版本

安装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;//刷新权限

猜你喜欢

转载自blog.csdn.net/WJWFighting/article/details/81543271