安装hive

hive是基于hadoop的数据仓库工具,将一定格式的文件映射为一张张表,因此hive版本和hadoop版本有对应关系,一定要检查自己安装的hadoop和hive版本是否兼容;
hadoop版本:2.9.1,hive版本:3.2.1,jdk:1.8.0_162,mysql:8.0.20,jdbc:8.0.20
在链接内自己可以查看hive,hadoop关系(http://hive.apache.org/downloads.html)
查看hive版本:启动hive时会出现hive-common-x.x.x.jar,xxx就是版本号
1.安装hive:

  1. cd ~/下载
  2. sudo tar -xzvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/loca # 解压到/usr/local中
  3. cd /usr/local
  4. sudo mv apache-hive-1.2.1-bin hive #将文件夹名改为hive
  5. sudo chown -R hadoop:hadoop hive # 修改文件权限,注意修改为你的用户名和组
    2.配置环境变量:
    先打开.bashrc隐藏文件,再复制export到首行并保存,最后使生效,注意查看路径与实际路径一致!!!
  6. gedit ~/.bashrc #或者vim ~/.bashrc
  7. export HIVE_HOME=/usr/local/hive
  8. export PATH= P A T H : PATH: PATH:HIVE_HOME/bin
  9. source ~/.bashrc #使修改生效
    3.启用hive-default.xml,修改hive-site.xml(./hive/conf)
    cd /usr/local/hive/conf
    mv hive-default.xml.template hive-default.xml
    vim hive-site.xml #hive-site.xml中的设置优先级高于hive-default.xml
  10. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  11. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  12.  <name>javax.jdo.option.ConnectionURL</name>
    
  13.  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    
  14.  <description>JDBC connect string for a JDBC metastore</description>
    
  15. <name>javax.jdo.option.ConnectionDriverName</name>
    
  16. <value>com.mysql.cj.jdbc.Driver</value>
    
  17. <description>Driver class name for a JDBC metastore</description>
    
  18. <name>javax.jdo.option.ConnectionUserName</name>
    
  19. <value>hive</value>
    
  20. <description>username to use against metastore database</description>
    
  21. <name>javax.jdo.option.ConnectionPassword</name>
    
  22. <value>123456</value>
    
  23. <description>password to use against metastore database</description>
    
  24. 看描述内容,设置了mysql地址,driver,数据库user,数据库passwd,可以根据情况自行修改哦,必须与后面mysql中创建的一致,否则连不上

4.安装msql:

  1. sudo apt-get update #更新软件源
  2. sudo apt-get install mysql-server #安装mysql
    默认是启动的,可以通下面netstat -tap|grep mysql 查看(下面给出开启,关闭,重启命令)
  3. sudo netstat -tap | grep mysql #mysql节点处于LISTEN状态表示启动成功
  4. sudo service mysql start #开启
  5. sudo service mysql stop #关闭
  6. sudo service mysql restart #重启
    注意我安装时没有提示输入root账户密码,默认是空
    sudo mysql -u root -p #密码按Enter即可进入mysql shell,空格也可以,普通用户一定sudo
    5.下载安装mysql jdbc,下载地址
    在这里插入图片描述

选择系统,系统版本,自动出现最新的安装包,注意下载的是deb格式的,可以使用cpkg命令安装

  1. cd ~/下载 #切换到你的文件所在目录下
  2. sudo apt install ./mysql-connector-java_8.0.20-1ubuntu20.04_all.deb
  3. sudo dpkg -i mysql-connector-java_8.0.20-1ubuntu20.04_all.deb #我用的是这个命令
  4. cp /usr/share/java/mysql-connector-java-8.0.20.jar /usr/local/hive/lib #将jar包拷贝到/hive/lib目录下
    注意,你可能不知道安装到哪里了,别急,在/usr/share/java/,(验证路径的方法:打开deb文件,提取文件,看到.tar.xz文件,用xz -d 解压,tar -xvf 解包,出来的文件目录路径就是在系统中的路径,你可以cd试试,我也找了好一会试出来的)
    6.创建mysql hive用户和hive库
    mysql -u root -p #登陆shell界面,请先确认已经启动
  5. create user ‘hive’@‘localhost’ identified by ‘123456’; – 创建hive用户,密码是123456,必须与hive-site.xml配置的user,password相同
  6. grant all on . to ‘hive’@‘localhost’ ; – 将所有数据库的所有表的所有权限赋给hive
  7. flush privileges; – 刷新mysql系统权限关系表
    (书中没有创建用户的语句,直接使用 grant all on . to hive@localhost identified by ‘hive’;会提示ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘hive’’ at line 1,语法错误,没有引号???)
    Select user from mysql.user;
    7.Everything is ok,let’s test:
    启动hadoop:start-dfs.sh or start-all.sh
    启动hive:hive
    创建表,create table test(id int,name string);
    到mysql中查看保存在元数据库的TBLS表中,use hive;select * from TBLS;
    如果有刚刚建的表名,则配置成功;
    备注:1.启动hive时如果出现Hive metastore database is not initialized的错误,则使用命令初始化:
    schematool -dbType mysql -initSchema
    2.jdbc 8.0.20 driver class name 更改:com.mysql.cj.jdbc.Driver,其他教程中是com.mysql.jdbc.Driver,如果错了会提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值