Hadoop离线_Hive的安装部署以及使用方式

安装部署

Derby版hive直接使用

创建目录:cd /export/softwares
软件包解压:
tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/
cd /export/servers/hive-1.1.0-cdh5.14.0/
启动:bin/hive

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

使用mysql共享hive元数据

  1. 国内下载mysql源:http://mirrors.163.com/mysql/Downloads/

  2. 下载完成后将tar包解压到/var/cache/yum/x86_64/7/mysql57-community/packages

  3. 可以用两种方法安装
    (1) yum install mysql mysql-server mysql-devel(安装包已经放到指定路径下,就不用再下载了)
    (2) rpm -ivh *.rpm(安装前要先cd到上面说的文件夹)
      第二种安装时如果出现“公钥未安装”之类的字眼,在后面加 --force --nodeps即可

  4. 启动mysql的服务
    service mysqld start或systemctl start mysqld.service(CentOS 7 之后的版本两个都能用)

  5. 查看mysql服务是否启动成功
    service mysqld status或systemctl status mysql.service

  6. 初始化mysql并生成随机密码
    初始化mysql:mysqld --initialize
    查看随机密码:cat /var/log/mysqld.log

  7. 使用随机密码登录,并修改密码
    登录:mysql -uroot -p
    修改密码强度:set global validate_password_length=6;
    修改密码长度:set global validate_password_policy=LOW;(因为打算设置一个简单的密码,所以需要修改)
    修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

  8. 退出mysql,修改mysql安装配置
    修改mysql安装配置:/usr/bin/mysql_secure_installation
    需要选择是n/y,我的顺序是n/y/n/y/y

  9. 进去mysql,修改访问权限
    修改访问权限:grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    *.*第一个*表示数据库名称,第二个*表示数据库下面的哪个表
    'root'@'%' root表示mysql的用户,%表示ip地址,可以从哪台机器使用那个用户来连接数据库
    all privileges 所有的权限,这里还可以写insert update delete select
    identified by 远程连接的时候的密码,与mysql的root用户密码无关
    实际线上环境,关于mysql的控制比较严格,不同的人分配不同的用户,创建不同的数据库,分配不同的权限
    刷新权限表:flush privileges;

  10. 修改hive的两个配置文件
    修改hive-env.sh
    cd /export/servers/hive-1.1.0-cdh5.14.0/conf
    cp hive-env.sh.template hive-env.sh
    vim hive-env.sh

创建hive-site.xml
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node03.hadoop.com: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.hadoop.com</value>
        </property>
<!--
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://node03.hadoop.com:9083</value>
        </property>
-->
</configuration>

  1. 上传mysql的lib驱动包
    上传到这里:cd /export/servers/hive-1.1.0-cdh5.14.0/lib

使用方式

1、客户端
使用hive的bin/hive可以进入hive的客户端,执行sql语句
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 (default)> CREATE TABLE test(id INT,name STRING)

2、后台启动
Hive JDBC服务
可以前台启动服务端:bin/hive --service hiveserver2 在前台就会一直占用一个窗口
在这里插入图片描述
也可以把进程挂在后台: nohup bin/hive --service hiveserver2 2>&1 &
再使用beeline进行交互:bin/beeline !connect jdbc:hive2://node03:10000

3、命令行
Hive命令
-e参数表示直接执行hql的语句:bin/hive -e "use myhive;select * from test;"
-f参数表示通过指定文本文件来执行hql语句:bin/hive -f hive.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值