大数据平台搭建之hive连接mysql

1、mysql的基本介绍

MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典公司MySQL AB开发并维护,目前由Oracle公司负责开发和支持。MySQL是一种功能强大、性能优越的关系型数据库管理系统,适用于各种规模的应用程序和系统。

以下是MySQL的一些基本特点和功能:

  1. 关系型数据库:MySQL是一种关系型数据库,使用表格来存储数据,支持SQL语言进行数据操作。

  2. 可扩展性:MySQL支持水平扩展和垂直扩展,可以通过添加更多的服务器、增加硬件资源或者集群来提高性能和容量。

  3. 多线程和高性能:MySQL采用多线程架构,能够处理大量并发请求,并具有良好的性能表现。

  4. 支持多种操作系统:MySQL可运行于各种操作系统平台,包括Windows、Linux、macOS等。

  5. 安全性:MySQL提供了一系列安全功能,如权限控制、加密连接、防止SQL注入等,保护数据库不受非法访问和攻击。

  6. 数据复制和备份:MySQL支持主从复制和数据备份,可以实现数据的冗余和灾备,提高数据可用性和安全性。

  7. 存储引擎:MySQL支持多个存储引擎,包括InnoDB、MyISAM、Memory等,每个存储引擎具有不同的特性和适用场景。

  8. 开源和社区支持:MySQL是开源软件,拥有庞大的用户和开发者社区,提供丰富的文档、教程和支持资源。

2、为什么选择mysql连接hive

        选择 Hive 连接 MySQL 的主要原因是将 Hive 的强大数据分析能力与 MySQL 的关系型数据库集成,实现对大规模、关系型数据的全面处理和分析。通过连接,可以无缝集成和处理MySQL中的数据,并利用Hive提供的丰富功能进行复杂查询、聚合分析等操作。同时,Hive的扩展性和高可用性架构为处理大规模数据提供了保障,而兼容的SQL语言使得连接和查询MySQL数据更加直观和方便。总之,选择Hive连接MySQL可实现更全面、灵活和高效的数据处理和分析。

元数据是存储在mysql中,而不是derby中,支持多用户访问。

3、安装mysql8.26

mysql的安装有两种方式:使用yum源安装 ,第二种使用rpm安装包安装。

3.1、检查是否安装过同类的软件

rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
rpm -qa | grep mysql

3.2、在opt下创建一个mysql的文件夹便于存放mysql的安装包

mkdir /opt/mysql

3.3、上传rpm安装包解压

tar -xvf /software/mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql

3.4、安装

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
yum install -y net-tools
yum install -y perl
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

3.5、修改密码

启动mysql
systemctl start mysqld
查看mysql是否启动成功
systemctl status mysqld
查看mysql的原始密码
grep password /var/log/mysqld.log

通过原始密码进入mysql  .
mysql -uroot -p
输入原始密码
修改密码(必须设置一个复杂的密码,得还有特殊符号):
alter user root@localhost identified by 'h1n2c3ctonG!';

查看密码策略:
show variables like '%validate_password%';
修改密码设置策略,便于我们设置一个比较好记的密码:
set global validate_password.policy=LOW;						# 修改密码策略等级为LOW
set global validate_password.length=4;							# 密码的最小长度
set global validate_password.mixed_case_count=0;	  # 设置密码中至少要包含0个大写字母和小写字母
set global validate_password.number_count=0;			 	# 设置密码中至少要包含0个数字
set global validate_password.special_char_count=0;	# 设置密码中至少要包含0个特殊字符

设置简易密码:
alter user root@localhost identified by '123456';

3.6、修改mysql的远程连接

create user 'root'@'%' identified by  '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

4、hive本地模式配置:

因为derby模式,只能够支持一个客户端访问hive,不实用,在开发过程中,一般我们使用mysql作为元数据的数据库,这种模式称之为本地模式。

4.1、修改hive-site.xml

<property>
  <name>javax.jdo.option.ConnectionURL</name>
584  <value>jdbc:mysql://192.168.89.144:3306/hive?createDatabaseIfNotExist=true</value>
  <description>
    JDBC connect string for a JDBC metastore.
    To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
    For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
  </description>
  </property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
1102    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
 1127   <value>root</value>
    <description>Username to use against metastore database</description>
  </property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
 569   <value>123456</value>
    <description>password to use against metastore database</description>
  </property>

4.2、拷贝一个java的驱动包给mysql, 放入hive的lib下

cd /opt/hive/lib/
通过finalshell 拖拽进去

4.3、删除之前的Derby数据库

rm -rf metastore_db derby.log

4.4、初始化hive

schematool -initSchema -dbType mysql

4.5、 测试

进入hive

show databases;
show tables; 
create table stu(id int,name string);
insert into stu values(1,"zhangsan");
select * from stu;
退出使用quit;

相关软件下载链接:链接:https://pan.baidu.com/s/15cKiwpjZ2oZQCPB6fgfL-Q?pwd=asdf 
提取码:asdf

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据应用场景提供明显的加速。存储层:HDFS作为底层存储,Hive作为数据仓库Hive Metastore:Hive管理数据的schema) 离线数据处理:SparkSQL (做数据查询引擎<===> 数据ETL) 实时数据处理:Kafka + Spark Streaming 数据应用层:MLlib 产生一个模型 als算法 数据展示和对接:Zeppelin 选用考量: HDFS不管是在存储的性能,稳定性 吞吐量 都是在主流文件系统中很占有优势的 如果感觉HDFS存储还是比较慢,可以采用SSD硬盘等方案。存储模块:搭建和配置HDFS分布式存储系统,并Hbase和MySQL作为备用方案。 ETL模块:加载原始数据,清洗,加工,为模型训练模块 和 推荐模块 准备所需的各种数据。 模型训练模块:负责产生模型,以及寻找最佳的模型。 推荐模块:包含离线推荐和实时推荐,离线推荐负责把推荐结果存储到存储系统中实时推荐负责产生实时的消息队列,并且消费实时消息产生推荐结果,最后存储在存储模块中。 数据展示模块:负责展示项目中所用的数据。 数据流向:数据仓库怎么理解?两种东西,其一是IBM微软数据产品为代表的,其二是Hadoop+Hive+Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户连接Hive

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值