您的位置:首页 > 其它

hive2.1.1安装

2017-09-06 15:17 197 查看
jdk,hadoop,hbase,mysql已安装

下载并解压

/datas/apps/hive-2.1.1


修改环境变量

sudo vi /etc/profile

export HIVE_HOME=/datas/apps/hive-2.1.1
export 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.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties


hive-env.sh

vi hive-env.sh

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


在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


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&characterEncoding=UTF-8&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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: