HIVE安装

准备工作

在安装hive之前要保证hadoop,mysql,jdk安装完毕

1.上传压缩包并解压

首先准备安装包和驱动,并将二者通过xftp传入到linux中

 解压

tar -zxvf apache-hive-1.2.1-bin.tar.gz

 2.修改目录名称

mv apache-hive-1.2.1-bin hive-1.2.1

 3.备份配置文件

cd /usr/local/soft/hive-1.2.1/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml

4.修改配置文件

首先修改hive-env.sh,直接在上一步的conf目录下进行

//加入下面三行内容到文件中
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HIVE_HOME=/usr/local/soft/hive-1.2.1

 

修改hive-site.xml

<!--数据存储位置就是我们在HDFS上看的目录-->
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
</property>

 

(注意:修改自己安装mysql的主机地址)
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.40.110:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false</value>
</property>

(固定写法,mysql驱动类的位置)
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>

 

(mysql的用户名)
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>

 

(mysql的用户密码)
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
    

 

 

(你的hive安装目录的tmp目录)
<property>
<name>hive.querylog.location</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>

 

(同上)
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>

 

(同上)
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>

 

<!--指定这个的时候,为了启动metastore服务的时候不用指定端口-->
<!--hive --service metastore -p 9083 & | hive --service metastore-->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://master:9083</value>
    <description>thrift://master:9083</description>
</property>

 

5.拷贝mysql驱动到$HIVE_HOME/lib目录下

cp /usr/local/soft/mysql-connector-java-5.1.49.jar /usr/local/soft/hive-1.2.1/lib/

 

 6.将hadoop的jline-0.9.94.jar的jar替换成hive的版本。

cp /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar /usr/local/soft/hadoop-2.7.6/share/hadoop/yarn/lib/

7.配置环境变量并使其生效

export HIVE_HOME=/usr/local/soft/hive-1.2.1
export PATH=.:$HIVE_HOME/bin

 环境变量生效

source /etc/profile

8.第一种交互方式

shell交互Hive,用命令hive启动一个hive的shell命令行,在命令行中输入sql或者命令来和Hive交互。

启动hadoop start-all.sh
服务端启动metastore服务(后台启动):nohup hive --service metastore  &
进入命令:hive
退出命令行:quit;

 

 

 

9.第二种交互方式

Hive启动为一个服务器,对外提供服务,其他机器可以通过客户端通过协议连接到服务器,来完成访问操作,这是生产环境用法最多的

但在使用第二种交互方式之前,需要先进行配置

修改hadoop的core-site.xml配置文件,改完重启hadoop即可

cd /usr/local/soft/hadoop-2.7.6/etc/hadoop


<!--该参数表示可以通过httpfs接口hdfs的ip地址限制-->
<property>
 <name>hadoop.proxyuser.hadoop.hosts</name>
 <value>*</value>
</property>
<!--通过httpfs接口访问的用户获得的群组身份-->
<property>
 <name>hadoop.proxyuser.hadoop.groups</name>
 <value>*</value>
</property>

将设置好的配置文件分别传给node1,node2
scp core-site.xml node1:`pwd`
scp core-site.xml node2:`pwd`

要想使用beeline让其他节点连接上hive,需要将master中的hive文件夹移动到node1,node2中
 scp -r /usr/local/soft/hive-1.2.1/ node1:`pwd`
 scp -r /usr/local/soft/hive-1.2.1/ node2:`pwd`

 

 服务端启动hiveserver2服务:
nohup hive --service metastore  &
nohup hiveserver2 &​
需要稍等一下,启动服务需要时间:进入命令:
1)先执行: beeline ,再执行: !connect jdbc:hive2://master:10000 ​


2)或者首先要进入到hive-1.2.1的bin目录下        
直接执行:  beeline -u jdbc:hive2://master:10000 -n root
退出命令行:!exit

 

10.第三种交互方式

使用 –e 参数来直接执行hql的语句

 

或者将sql语句写入文件夹,用 hive -f执行 

 

 hive cli和beeline cli的区别

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值