欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HIVE的安装部署

程序员文章站 2022-04-29 17:41:20
...

我们在此处选择第三台机器作为我们hive的安装机器

derby版hive直接使用:

解压hive

cd /export/softwares
tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C …/servers/

直接启动 bin/hive

cd …/servers/
cd hive-1.1.0-cdh5.14.0/
bin/hive
hive> create database mytest;

缺点:多个地方安装hive后,每一个hive是拥有一套自己的元数据,大家的库、表就不统一;

mysql数据库的安装(使用yum源进行安装,强烈推荐)

第一步:在线安装mysql相关的软件包

yum install mysql mysql-server mysql-devel

第二步:启动mysql的服务

/etc/init.d/mysqld start
chkconfig mysqld on

第三步:进入mysql的客户端然后进行授权

use mysql;

配置远程连接

grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;

flush privileges;

第四步 设置root用户链接mysql的密码

update user set password=password(‘123456’) where user=‘root’;

flush privileges;

修改hive的配置文件

修改hive-env.sh
添加我们的hadoop的环境变量:

cd /export/servers/hive-1.1.0-cdh5.14.0/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf

HIVE的安装部署

修改hive-site.xml

cd /export/servers/hive-1.1.0-cdh5.14.0/conf
vim hive-site.xml

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true</value>
        </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>123456</value>
        </property>
        <property>
                <name>hive.cli.print.current.db</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.cli.print.header</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>node03</value>
        </property>
<!--
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://node03:9083</value>
        </property>
-->
</configuration>

上传mysql的lib驱动包
将mysql的lib驱动包上传到hive的lib目录下

cd /export/servers/hive-1.1.0-cdh5.14.0/lib

将mysql-connector-java-5.1.38.jar 上传到这个目录下

使用方式

第一种交互方式:Hive交互shell

cd /export/servers/hive-1.1.0-cdh5.14.0
bin/hive

查看所有的数据库

hive (default)> show databases;

创建一个数据库

hive (default)> create database myhive;

使用该数据库并创建数据库表

hive (default)> use myhive;
hive (myhive)> create table test1(id int,name string);

以上命令操作完成之后,一定要确认mysql里面出来一个数据库hive

第二种交互方式:Hive JDBC服务

启动hiveserver2服务

前台启动

cd /export/servers/hive-1.1.0-cdh5.14.0
bin/hive --service hiveserver2

后台启动

cd /export/servers/hive-1.1.0-cdh5.14.0
nohup bin/hive --service hiveserver2 &

beeline连接hiveserver2

bin/beeline
beeline> !connect jdbc:hive2://node01.hadoop.com:10000

注意:如果使用beeline方式连接hiveserver2,一定要保证hive在mysql当中的元数据库已经创建成功,不然就会拒绝连接

第三种交互方式:Hive命令

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

bin/hive -e “use myhive;select * from test1;”

使用 –f 参数通过指定文本文件来执行hql的语句

vim hive.sql

use myhive;select * from test1;

bin/hive -f hive.sql

更多参数参考以下
HIVE的安装部署