hive2.1.1安装

来源:互联网 发布:sql建表语句主键 编辑:程序博客网 时间:2024/06/06 02:36

jdk,hadoop,hbase,mysql已安装

下载并解压

/datas/apps/hive-2.1.1

修改环境变量

sudo vi /etc/profileexport HIVE_HOME=/datas/apps/hive-2.1.1export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH

刷新环境

source /etc/profile

修改Hive的配置文件

复制文件

cd /datas/apps/hive-2.1.1/conf/cp hive-env.sh.template hive-env.shcp hive-default.xml.template hive-site.xmlcp hive-log4j2.properties.template hive-log4j2.propertiescp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

hive-env.sh

vi hive-env.shexport HADOOP_HOME={Hadoop安装路径}export HIVE_CONF_DIR=/datas/apps/hive-2.1.1/conf

在hdfs上创建文件夹

hadoop fs -mkdir -p /user/hive/warehousehadoop fs -mkdir -p /user/hive/tmphadoop fs -mkdir -p /user/hive/loghadoop fs -chmod -R 777 /user/hive/warehousehadoop fs -chmod -R 777 /user/hive/tmphadoop fs -chmod -R 777 /user/hive/log

hive-site.xml
将 hive-site.xml 文件中以下几个配置项的值设置成上一步中创建的几个路径

<property>    <name>hive.exec.scratchdir</name>    <value>/user/hive/tmp</value></property><property>    <name>hive.metastore.warehouse.dir</name>    <value>/user/hive/warehouse</value></property><property>    <name>hive.querylog.location</name>    <value>/user/hive/log</value></property>#MySQL 数据库连接信息<property>    <name>javax.jdo.option.ConnectionURL</name>    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>  </property>  <property>    <name>javax.jdo.option.ConnectionDriverName</name>    <value>com.mysql.jdbc.Driver</value>  </property>  <property>    <name>javax.jdo.option.ConnectionUserName</name>    <value>hive</value>  </property>  <property>    <name>javax.jdo.option.ConnectionPassword</name>    <value>hive</value>  </property>#把{system:java.io.tmpdir} 改成 /datas/apps/hive-2.1.1/tmp#把{system:user.name} 改成 {user.name}

创建tmp文件

mkdir /datas/apps/hive-2.1.1/tmp

配置jdbc驱动包
将mysql-connector-java-5.1.40.jar拷贝到$HIVE_HOME/lib下

初始化hive
从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。

schematool -dbType mysql -initSchema

如果是升级到2.1.1的,可能会出现
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version
意思是没有找到 metastore(用的是mysql,升级之前还是好好的)

原因:
之前用的hive-1.2.1,mysql连接metastore使用的user用户为hive,可能元数据删除不干净或者有某些配置文件无法删除掉

解决:
使用另一个user

mysql> create user 'hive1'@'%' identified by 'hive1';mysql> grant all on *.* to 'hive1'@localhost identified by 'hive1';mysql> flush privileges;

修改hive-site.xml的连接用户名和密码为刚创建的hive1即可

再次初始化schematool -dbType mysql -initSchema

检测hive 是否成功 直接在命令行输入hive即可

参考:
http://blog.csdn.net/u013310025/article/details/70306421