Hive最新版本安装与操作[通俗易懂]

Hive最新版本安装与操作[通俗易懂]MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;11.使用 rpm -qa|grep mariadb 搜索 Ma

大家好,欢迎来到IT知识分享网。

1.安装MariaDB

在Centos7使用Yum安装MariaDB

全部删除MySQL/MariaDB

MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1.11.使用 rpm -qa|grep mariadb 搜索 MariaDB 现有的包:

如果存在,使用rpm -e –nodeps mariadb-*全部删除:

[root@localhost ~]# rpm -qa | grep mariadbmariadb-server-5.5.52-1.el7.x86_64mariadb-libs-5.5.52-1.el7.x86_64[root@localhost ~]# rpm -e mysql*

IT知识分享网

1.22.使用 rpm -qa |grep mariadb 搜索 MariaDB 现有的包:

如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;

IT知识分享网[root@localhost ~]# yum remove mysql mysql-server mysql-libs compat-mysql51已加载插件:fastestmirror, langpacks参数 mysql 没有匹配参数 mysql-server 没有匹配参数 compat-mysql51 没有匹配正在解决依赖关系--> 正在检查事务---> 软件包 mariadb-libs.x86_64.1.5.5.52-1.el7 将被 删除--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 perl-DBD-MySQL-4.023-5.el7.x86_64 需要--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 1:qt-mysql-4.8.5-13.el7.x86_64 需要..........删除:  mariadb-libs.x86_64 1:5.5.52-1.el7                                            作为依赖被删除:  akonadi-mysql.x86_64 0:1.9.2-4.el7     mariadb-server.x86_64 1:5.5.52-1.el7    perl-DBD-MySQL.x86_64 0:4.023-5.el7    postfix.x86_64 2:2.10.1-6.el7            qt-mysql.x86_64 1:4.8.5-13.el7        完毕![root@localhost ~]# rpm -qa|grep mariadb[root@localhost ~]#

1.33.开始新的安装, 创建MariaDB.repo文件

vi /etc/yum.repos.d/MariaDB.repo

插入以下内容:

IT知识分享网[mariadb]name = MariaDBbaseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64/gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck=1

系统及版本选择:https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna

1.44.运行安装命令安装MariaDB

[root@localhost ~]# yum -y install MariaDB-server MariaDB-client已加载插件:fastestmirror, langpacksmariadb                                                  | 2.9 kB     00:00    mariadb/primary_db                                         |  18 kB   00:09    Determining fastest mirrors * base: mirrors.btte.net * extras: mirrors.zju.edu.cn * updates: mirrors.zju.edu.cn正在解决依赖关系--> 正在检查事务---> 软件包 MariaDB-client.x86_64.0.10.2.4-1.el7.centos 将被 安装--> 正在处理依赖关系 MariaDB-common,它被软件包 MariaDB-client-10.2.4-1.el7.centos.x86_64 需要---> 软件包 MariaDB-server.x86_64.0.10.2.4-1.el7.centos 将被 安装--> 正在处理依赖关系 galera,它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要--> 正在处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 MariaDB-server-10.2.4-1.el7.centos.x86_64 需要--> 正在检查事务---> 软件包 MariaDB-common.x86_64.0.10.2.4-1.el7.centos 将被 安装--> 正在处理依赖关系 MariaDB-compat,它被软件包 MariaDB-common-10.2.4-1.el7.centos.x86_64 需要---> 软件包 galera.x86_64.0.25.3.19-1.rhel7.el7.centos 将被 安装---> 软件包 jemalloc.x86_64.0.3.6.0-1.el7 将被 安装--> 正在检查事务---> 软件包 MariaDB-compat.x86_64.0.10.2.4-1.el7.centos 将被 安装--> 解决依赖关系完成依赖关系解决================================================================================ Package            架构       版本                           源           大小================================================================================正在安装: MariaDB-client     x86_64     10.2.4-1.el7.centos            mariadb      48 M MariaDB-server     x86_64     10.2.4-1.el7.centos            mariadb     113 M为依赖而安装: MariaDB-common     x86_64     10.2.4-1.el7.centos            mariadb     104 k MariaDB-compat     x86_64     10.2.4-1.el7.centos            mariadb     2.8 M galera             x86_64     25.3.19-1.rhel7.el7.centos     mariadb     8.0 M jemalloc           x86_64     3.6.0-1.el7                    mariadb     104 k事务概要================================================================================安装  2 软件包 (+4 依赖软件包)....

1.5启动与登录

首先下载安装包,然后进行自动安装,安装成功之后启动MariaDB服务。

1.5.1启动

systemctl start mariadb #启动服务systemctl enable mariadb #设置开机启动systemctl restart mariadb #重新启动systemctl stop mariadb.service #停止MariaDB

1.5.2登录到数据库

用mysql -uroot命令登录到MariaDB,此时root账户的密码为空。

mysql -uroot -p#密码是空

1.6配置MariaDB允许远程连接的方法

#授权grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;#刷新flush privileges;

2.Hive安装与操作

2.1下载与安装Hive

http://archive.apache.org/dist/hive/hive-2.3.2/apache-hive-2.3.2-bin.tar.gz

2.1.1解压hive安装

[hd@node01 apps]# tar -zxvf apache-hive-2.3.2-bin.tar.gz[hd@node01 apps]# mv apache-hive-2.3.2-bin hive[hd@node01 apps]# lsapache-hive-2.3.2-bin.tar.gz  hadoop  hdfs  hive  java

2.1.2加入hive相关的环境变量

sudo vim /etc/profileexport HIVE_HOME=/home/hd/apps/hiveexport PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATHsource /etc/profile

2.1.3修改Hive的配置文件

到hive 配置文件目录中

cd /home/hd/apps/hive/conf

把初始化的文件 复制一份出来 并且改名

cp hive-env.sh.template hive-env.shcp hive-default.xml.template hive-site.xmlcp hive-log4j2.properties.template hive-log4j2.propertiescp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

2.1.4修改hive-env.sh

最后加上

export JAVA_HOME=/home/hd/apps/java    ##Java路径export HADOOP_HOME=/home/hd/apps/hadoop   ##Hadoop安装路径export HIVE_HOME=/home/hd/apps/hive   ##Hive安装路径export HIVE_CONF_DIR=/home/hd/apps/hive/conf  ##Hive配置文件路径

2.1.5在hdfs 中创建下面的目录 ,并且授权

hadoop fs -mkdir -p /user/hive/warehousehadoop fs -mkdir -p /user/hive/tmphadoop fs -mkdir -p /user/hive/loghadoop fs -chmod -R 777 /user/hive/warehousehadoop fs -chmod -R 777 /user/hive/tmphadoop fs -chmod -R 777 /user/hive/log

2.1.6修改hive-site.xml

将 hive-site.xml 文件中以下几个配置项的值设置成上一步中创建的几个路径。

<property>    <name>hive.exec.scratchdir</name>    <value>/user/hive/tmp</value></property><property>    <name>hive.metastore.warehouse.dir</name>    <value>/user/hive/warehouse</value></property><property>    <name>hive.querylog.location</name>    <value>/user/hive/log</value></property>

2.1.7需要在hive-site.xml文件中配置MySQL数据库连接信息。

 <property>    <name>javax.jdo.option.ConnectionURL</name>    <value>jdbc:mysql://hd01:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</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>

2.1.7创建tmp文件

mkdir /home/hd/apps/hive/tmp

2.1.9在配置文件 hive-site.xml 里面

把 “${system:java.io.tmpdir}” 改成 /home/hd/apps/hive/tmp/ 此处有4个地方把 “{system:user.name}” 改成 {user.name} 此处有3个地方

2.1.10配置jdbc驱动包

mysql的jdbc 驱动包下载地址:

下载完成后把mysql-connector-java-5.1.27.jar 然后放入 $HIVE_HOME/lib 目录下

2.1.11初始化hive

从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。

schematool -dbType mysql -initSchema

看到schemaTool completed 则初始化完成

2.1.12启动metastore服务

$HIVE_HOME/bin/hive --service metastore

检测hive是否成功 直接在命令行输入hive即可

2.1.13进入控制台

[hd@hd01 hive]# ./bin/hivewhich: no hbase in(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/hd/apps/java/bin:/home/hd/apps/hadoop/bin:/home/hd/apps/hadoop/sbin:/root/bin:/home/hd/apps/java/bin:/home/hd/apps/hadoop/bin:/home/hd/apps/hadoop/sbin:/home/hd/apps/hive/bin)SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/home/hd/apps/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/home/hd/apps/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]Logging initialized using configuration in file:/home/hd/apps/hive/conf/hive-log4j2.properties Async: trueHive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.hive> show databases;OKdefaultTime taken: 8.295 seconds, Fetched: 1 row(s)hive>

2.2Hive建表操作

2.2.1建表

create table test_user (user_id     int       comment 'userID',user_name   string    comment 'userName')ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

2.2.2准备数据

准备数据,用户id和用户名字,用,分割,存在hive_table_data.txt

2020001,小王2020002,小李2020003,小明2020004,阿狗2020005,姚明

2.2.3写入表中

从本地LOAD DATA overwrite方式,覆盖方式写入表中

hive> LOAD DATA LOCAL INPATH '/xx/hive_table_data.txt' OVERWRITE  INTO TABLE test_user;Loading data to table default.test_userTable default.test_user stats: [numFiles=1, totalSize=75]OK

2.2.4查看hive数据

查看hive表中数据:

hive> select * from test_user;OK2020001 小王2020002 小李2020003 小明2020004 阿狗2020005 姚明

2.2.5查看HDFS路径上数据

查看HDFS路径上数据:

hadoop fs -ls /user/hive/warehouse/test_userFound 1 items-rwxrwxrwx   3 deploy hive         75 2020-05-08 18:20 /user/hive/warehouse/test_user/hive_table_data.txt

2.2.6本地LOAD数据

从本地LOAD DATA append方式,append方式同样名字的文件,会自动进行重命名

hive> LOAD DATA LOCAL INPATH '/xxx/hive_table_data.txt' INTO TABLE test_user;Loading data to table default.test_userTable default.test_user stats: [numFiles=2, totalSize=150]

2.2.7查看HDFS路径上的数据被重命名

查看HDFS路径上的数据,可以看到同样的文件被重命名了:

hadoop fs -ls /user/hive/warehouse/test_userFound 2 items-rwxrwxrwx   3 deploy hive         75 2020-05-08 18:20 /user/hive/warehouse/test_user/hive_table_data.txt-rwxrwxrwx   3 deploy hive         75 2020-05-08 18:24 /user/hive/warehouse/test_user/hive_table_data_copy_1.txt

2.2.8删除表

删除表,删除表后,元数据和数据文件也相应删除

drop table test_user

查看HDFS路径,发现数据也删除了:

hadoop fs -ls /user/hive/warehouse/test_userls: `/user/hive/warehouse/test_user': No such file or directory

2.2.9外部表创建&删除

外部表创建&删除,创建外部表指定数据路径,将刚刚的文件上传到需要指定的路径中,可以看到可以查询到数据

hive> create external table test_user (    > user_id     int     comment 'userID',    > user_name     string     comment 'userName'    > )    > ROW FORMAT DELIMITED FIELDS TERMINATED BY ','    > LOCATION '/user/xx/tmp/test_hive/';OKTime taken: 0.09 secondshive> select * from test_user;OK2020001 小王2020002 小李2020003 小明2020004 阿狗2020005 姚明2020001 小王2020002 小李2020003 小明2020004 阿狗2020005 姚明

2.2.10删除外部表d

hive> drop table test_user;OKhadoop fs -ls /user/xx/tmp/test_hive/Found 2 items-rw-r--r--   3 data_udd bigdata         75 2020-05-08 18:38 /user/xx/tmp/test_hive/hive_table_data.txt-rw-r--r--   3 data_udd bigdata         75 2020-05-08 18:38 /user/xx/tmp/test_hive/hive_table_data_copy_1.txt

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6174.html

(0)
上一篇 2022-12-17 20:20
下一篇 2022-12-17 20:40

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信