当前位置:服务器 > > 正文

hive入门零基础教程(手把手教你在腾讯云上搭建hive3.1.2的方法)

时间:2021-10-13 00:34:32类别:服务器

hive入门零基础教程

手把手教你在腾讯云上搭建hive3.1.2的方法

环境准备

所有操作开始前,先确定hadoop版本已经装好。具体可以看我的另一篇博客
搭建hadoop3.x

mysql安装

先把安装包放到software文件夹,并解压到mysql-lib中

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • [root@master software]# ll
  • 总用量 1422372
  • -rw-r--r-- 1 root root 312850286 7月  2 15:00 apache-hive-3.1.2-bin.tar.gz
  • -rw-r--r-- 1 root root 338075860 7月  2 09:39 hadoop-3.1.3.tar.gz
  • -rw-r--r-- 1 root root 195013152 7月  2 09:36 jdk-8u212-linux-x64.tar.gz
  • -rw-r--r-- 1 root root 609556480 7月  2 15:08 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
  • -rw-r--r-- 1 root root  985600 7月  2 14:44 mysql-connector-java-5.1.37.jar
  • [root@master software]# mkdir mysql-lib
  • [root@master software]# tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C ./mysql-lib/
  • [root@master software]# cd mysql-lib/
  • [root@master mysql-lib]# ll
  • 总用量 595272
  • -rw-r--r-- 1 7155 31415 45109364 9月 30 2019 mysql-community-client-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  318768 9月 30 2019 mysql-community-common-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  7037096 9月 30 2019 mysql-community-devel-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 49329100 9月 30 2019 mysql-community-embedded-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 23354908 9月 30 2019 mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 136837816 9月 30 2019 mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  4374364 9月 30 2019 mysql-community-libs-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  1353312 9月 30 2019 mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 208694824 9月 30 2019 mysql-community-server-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 133129992 9月 30 2019 mysql-community-test-5.7.28-1.el7.x86_64.rpm
  • 先处理一下环境,因为centos自带mariadb,会产生冲突,所以要先卸载

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • [root@master mysql-lib]# rpm -qa|grep mariadb
  • mariadb-libs-5.5.56-2.el7.x86_64
  • [root@master mysql-lib]# sudo rpm -e --nodeps mariadb-libs
  • # 查看一下是不是卸载干净了
  • [root@master mysql-lib]# rpm -qa|grep mariadb
  • [root@master mysql-lib]# rpm -qa|grep mysql
  • 没什么问题了就可以安装了,一定要按顺序安装

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • [root@master mysql-lib]# ll
  • 总用量 595284
  • -rw-r--r-- 1 7155 31415 45109364 9月 30 2019 mysql-community-client-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  318768 9月 30 2019 mysql-community-common-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  7037096 9月 30 2019 mysql-community-devel-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 49329100 9月 30 2019 mysql-community-embedded-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 23354908 9月 30 2019 mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 136837816 9月 30 2019 mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  4374364 9月 30 2019 mysql-community-libs-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415  1353312 9月 30 2019 mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 208694824 9月 30 2019 mysql-community-server-5.7.28-1.el7.x86_64.rpm
  • -rw-r--r-- 1 7155 31415 133129992 9月 30 2019 mysql-community-test-5.7.28-1.el7.x86_64.rpm
  • [root@master mysql-lib]# sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
  • 警告:mysql-community-common-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  • 准备中...             ################################# [100%]
  • 正在升级/安装...
  •   1:mysql-community-common-5.7.28-1.e################################# [100%]
  • [root@master mysql-lib]# sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
  • 警告:mysql-community-libs-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  • 准备中...             ################################# [100%]
  • 正在升级/安装...
  •   1:mysql-community-libs-5.7.28-1.el7################################# [100%]
  • [root@master mysql-lib]# sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
  • 警告:mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  • 准备中...             ################################# [100%]
  • 正在升级/安装...
  •   1:mysql-community-libs-compat-5.7.2################################# [100%]
  • [root@master mysql-lib]# sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
  • 警告:mysql-community-client-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  • 准备中...             ################################# [100%]
  • 正在升级/安装...
  •   1:mysql-community-client-5.7.28-1.e################################# [100%]
  • 安装到第5个时,如果centos是最小化安装的,那会报这个问题

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • [root@master mysql-lib]# sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
  • 警告:mysql-community-server-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  • 错误:依赖检测失败:
  •     libnuma.so.1()(64bit) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要
  •     libnuma.so.1(libnuma_1.1)(64bit) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要
  •     libnuma.so.1(libnuma_1.2)(64bit) 被 mysql-community-server-5.7.28-1.el7.x86_64 需要
  • ?
  • 1
  • 2
  • [root@master mysql-lib]# yum install -y libaio
  • [root@master mysql-lib]# yum install -y numactl
  • 然后再尝试安装就没问题了

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • [root@master mysql-lib]# sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
  • 警告:mysql-community-server-5.7.28-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  • 准备中...             ################################# [100%]
  • 正在升级/安装...
  •   1:mysql-community-server-5.7.28-1.e################################# [100%]
  • 清理历史残余文件

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • [root@master mysql-lib]# cat /etc/my.cnf
  • # For advice on how to change settings please see
  • # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
  •  
  • [mysqld]
  • #
  • # Remove leading # and set to the amount of RAM for the most important data
  • # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
  • # innodb_buffer_pool_size = 128M
  • #
  • # Remove leading # to turn on a very important data integrity option: logging
  • # changes to the binary log between backups.
  • # log_bin
  • #
  • # Remove leading # to set options mainly useful for reporting servers.
  • # The server defaults are faster for transactions and fast SELECTs.
  • # Adjust sizes as needed, experiment to find the optimal values.
  • # join_buffer_size = 128M
  • # sort_buffer_size = 2M
  • # read_rnd_buffer_size = 2M
  • datadir=/var/lib/mysql
  • socket=/var/lib/mysql/mysql.sock
  •  
  • # Disabling symbolic-links is recommended to prevent assorted security risks
  • symbolic-links=0
  •  
  • log-error=/var/log/mysqld.log
  • pid-file=/var/run/mysqld/mysqld.pid
  • 看到了mysql目录是/var/lib/mysql

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • #进入这个地址 看看是否有历史残余文件
  • [root@master mysql-lib]# cd /var/lib/mysql
  • # 没东西就没问题,有就都删了
  • [root@master mysql]# ll
  • 总用量 0
  • 初始化mysql

  • ?
  • 1
  • [root@master mysql]# sudo mysqld --initialize --user=mysql
  • 看下默认密码

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • [root@master mysql]# cat /var/log/mysqld.log
  • 2020-07-02T07:29:10.095244Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  • 2020-07-02T07:29:11.331738Z 0 [Warning] InnoDB: New log files created, LSN=45790
  • 2020-07-02T07:29:11.498492Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  • 2020-07-02T07:29:11.590436Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b94654a6-bc35-11ea-a160-525400f3e388.
  • 2020-07-02T07:29:11.600554Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  • 2020-07-02T07:29:13.093996Z 0 [Warning] CA certificate ca.pem is self signed.
  • 2020-07-02T07:29:13.522160Z 1 [Note] A temporary password is generated for root@localhost: p;oK<M)<_8p/
  • 密码是p;oK<M)<_8p/,复制一下,进入mysql

    进入mysql

    启动mysql服务

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • [root@master mysql]# systemctl start mysqld
  • [root@master mysql]# systemctl status mysqld
  • ● mysqld.service - MySQL Server
  •   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
  •   Active: active (running) since 四 2020-07-02 15:31:00 CST; 10s ago
  •    Docs: man:mysqld(8)
  •       http://dev.mysql.com/doc/refman/en/using-systemd.html
  •  Process: 5617 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  •  Process: 5497 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
  •  Main PID: 5624 (mysqld)
  •   Tasks: 27
  •   Memory: 205.4M
  •   CGroup: /system.slice/mysqld.service
  •       └─5624 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.p...
  •  
  • 7月 02 15:30:55 master systemd[1]: Starting MySQL Server...
  • 7月 02 15:31:00 master systemd[1]: Started MySQL Server.
  • 进入mysql

  • ?
  • 1
  • $ mysql -u root -p
  • 提示输入密码,输入刚刚复制的密码

    hive入门零基础教程(手把手教你在腾讯云上搭建hive3.1.2的方法)

    成功进入mysql后,设置我们的mysql密码,这个自己记住哈~

  • ?
  • 1
  • 2
  • #设置密码为你的密码
  • mysql> set password = password("你的密码");
  • 接下来设置root用户的权限,允许任意ip连接,为后面的hive连接做准备

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • mysql> use mysql;
  • mysql> select host,user from user;
  • +-----------+---------------+
  • | host   | user     |
  • +-----------+---------------+
  • | localhost | mysql.session |
  • | localhost | mysql.sys   |
  • | localhost | root     |
  • +-----------+---------------+
  • 3 rows in set (0.00 sec)
  •  
  • mysql> update mysql.user set host='%' where user='root';
  • Query OK, 1 row affected (0.00 sec)
  • Rows matched: 1 Changed: 1 Warnings: 0
  • # 权限高的在最上面(新版本优化的)
  • mysql> select host,user from user;
  • +-----------+---------------+
  • | host   | user     |
  • +-----------+---------------+
  • | %     | root     |
  • | localhost | mysql.session |
  • | localhost | mysql.sys   |
  • +-----------+---------------+
  • 3 rows in set (0.00 sec)
  •  
  • --这步一定要做,是刷新配置的,不然密码无法生效
  • mysql> flush privileges;
  • Query OK, 0 rows affected (0.00 sec)
  •  
  • mysql> quit
  • 然后再尝试用更改后的密码登录一下,成功了就是配置好了。

    安装Hive

    到/home/centos/software目录下,解压apache-hive-3.1.2-bin.tar.gz到/home/centos/module/目录下面

  • ?
  • 1
  • [root@master software]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /home/centos/module/
  • 进入module文件夹,把文件名改一下

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • [root@master module]# ll
  • 总用量 12
  • drwxr-xr-x 9 root  root  4096 7月  2 15:40 apache-hive-3.1.2-bin
  • drwxr-xr-x 11 centos centos 4096 7月  2 11:51 hadoop-3.1.3
  • drwxr-xr-x 7   10  143 4096 4月  2 2019 jdk1.8.0_212
  • [root@master module]# mv apache-hive-3.1.2-bin/ hive
  • [root@master module]# ll
  • 总用量 12
  • drwxr-xr-x 11 centos centos 4096 7月  2 11:51 hadoop-3.1.3
  • drwxr-xr-x 9 root  root  4096 7月  2 15:40 hive
  • drwxr-xr-x 7   10  143 4096 4月  2 2019 jdk1.8.0_212
  • 配置环境变量

  • ?
  • 1
  • [root@master module]# vim /etc/profile.d/my_env.sh
  • ?
  • 1
  • 2
  • 3
  • #HIVE_HOME
  • export HIVE_HOME=/home/centos/module/hive
  • export PATH=$PATH:$HIVE_HOME/bin
  • 加载环境变量,并验证是否成功

  • ?
  • 1
  • 2
  • 3
  • [root@master module]# source /etc/profile
  • [root@master module]# echo $HIVE_HOME
  • /home/centos/module/hive
  • 解决日志Jar包冲突

    hadoop和hive之间的log4j版本冲突,要把hive的lib文件夹中的jar包名字改一下,无法启用即可。就直接在文件名后加.bak即可。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • [atguigu@hadoop102 lib]$ mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak
  •  
  • [atguigu@hadoop102 lib]$ ll | grep log4j
  • -rw-rw-r--. 1 atguigu atguigu  63835 4月 15 00:34 log4j-1.2-api-2.10.0.jar
  • -rw-rw-r--. 1 atguigu atguigu  255485 4月 15 00:24 log4j-api-2.10.0.jar
  • -rw-rw-r--. 1 atguigu atguigu 1597622 4月 15 00:24 log4j-core-2.10.0.jar
  • -rw-rw-r--. 1 atguigu atguigu  24173 4月 15 00:24 log4j-slf4j-impl-2.10.0.jar.bak
  • -rw-rw-r--. 1 atguigu atguigu  32060 4月 15 00:34 log4j-web-2.10.0.jar
  • hive元数据配置到mysql

    将MySQL的JDBC驱动拷贝到Hive的lib目录下

  • ?
  • 1
  • [root@master lib]# cp /home/centos/software/mysql-connector-java-5.1.37.jar ./
  • 看看是否拷贝成功

  • ?
  • 1
  • 2
  • [root@master lib]# ll | grep mysql-con
  • -rw-r--r-- 1 root root  985600 7月  2 15:47 mysql-connector-java-5.1.37.jar
  • 配置metastore到mysql

    在$HIVE_HOME/conf目录下新建hive-site.xml文件,

  • ?
  • 1
  • [root@master conf]# vim hive-site.xml
  • 有三个值需要你改一下

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 标签:

    猜您喜欢