Hive安装

参考 https://blog.csdn.net/Lee20093905/article/details/78871336

1.先装好数据库

https://blog.csdn.net/qq_40759271/article/details/83031225
并新建一个hive数据库 >create database hive;

2.安装hive

下载地址 http://mirrors.cnnic.cn/apache/hive/

解压 tar -zxvf apache-hive-2.3.3-bin.tar.gz

3.环境变量

$vi /etc/profile
#添加以下内容
export HIVE_HOME=/home/hadoop/apache-hive-2.3.3	#解压目录
export PATH=$PATH:$HIVE_HOME/bin

$  source /etc/profile

4.修改hive配置文件

$cp $HIVE_HOME/conf hive-default.xml.template hive-site-xml
$vi hive-site.xml
#做如下修改
<configuration>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?characterEncoding=UTF-8</value>
    master中用localhost,slave节点中用slave1、slave2
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>	#数据库用户名
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>	#数据库密码
</property>

<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/data/hive/scratchdir</value>	
</property>
<property>
    <name>hive.download.resources.dir</name>
    <value>/data/hive/resourcesdir</value>	
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/data/hive/querylog</value>	
</property>
<property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/data/hive/operation</value>	
</property>

</configuration>

/data/hive/…这些文件夹自己手动创建
启动hive时可能有文件的权限问题,需要做如下操作
参考 https://www.cnblogs.com/30go/p/7132896.html

chgrp  -R hadoop  /data
chown -R hadoop /data

5.相关jar包

将mysql驱动包拷贝到Hive的lib目录下

$cp mysql-connector-java-5.1.45-bin-jar $HIVE_HOME/lib/

将Hive的jline包拷贝到Hadoop的Yarn/lib目录下,并删除Yarn/lib下原有的jline包

$cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib/
$rm $HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar

6.初始化、启动hive

要用hadoop用户登录
首先启动hadoop,否则会出现拒绝连接的错误

$cd $HIVE_HOME/bin
$schematool -dbType mysql -initSchema		#初始化数据库
#成功会输出schematool completed

然后可以去数据库hive中查看是否有表

启动hive:

 $cd $HIVE_HOME/bin
 $./hive

7.slave节点配置hive

以上是在master节点对hive的配置,将配置好的相关文件发送至slave节点
以slave1为例

$scp -r /home/hadoop/apache-hive-2.3.3/ slave1:/home/hadoop/

修改配置文件hive-site.xml中的ConnectionURL处,将localhost改成slave1
slave节点还应该修改下面的这个配置

<property>  
    <name>hive.metastore.uris</name>  
    <value>thrift://master:9083</value>  
</property>

在初始化数据库前,在master中执行 hive --service metastore & 来启动metastore服务,否则会报错org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!
初始化时可能会遇到

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: java.sql.SQLException : Access denied for user 'root'@'slave1' (using password: YES)

解决方案:https://blog.csdn.net/peterchan88/article/details/78341852

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值