0


centos7系统安装MySQL、hive以及常见报错及解决方案

1.MySQL安装

https://dev.mysql.com/

压缩包以附

检查mysql资源是否存在:

rpm -qa | grep mysql

如果存在删除即可 确保系统上没有mysql之后开始进行安装:

rpm -e 包名

其次查询marisdb是否存在,存在删除:

rpm -qa | grep marisdb
--不存在的话之间rpm 安装压缩包即可
rpm -e 包名
--存在删除即可

安装过程中切记按照图片顺序进行按照不然后出错 需要推到重来

2.安装MySQL过程中可能会出现的错误

目前就本人安装测试过程中出现的报错给予明示:请看截图

首先第一步使用命令安装common,这部基本没有问题 即使后续安装中出现以来关系不存在也不会影响,即使因为安装了8版本的MySQL导致一些旧的库文件而失败的,下一步会给予解决,问题不大;

选好路径将压缩包拖进去:

安装 mysql-community-common-8.0.25-1.el7.x86_64.rpm

 rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm

安装 mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm

报错:依赖检测失败:
libcrypto.so.10()(64bit) 被 mysql-community-client-plugins-8.0.25-1.el7.x86_64 需要
libssl.so.10()(64bit) 被 mysql-community-client-plugins-8.0.25-1.el7.x86_64 需要

这个错误是因为安装 MySQL Community Server 时缺少了

libcrypto.so.10

libssl.so.10

这两个库文件。MySQL Community Server 在安装过程中需要这些库文件来正确运行。解决这个问题的方法是安装包含这些库文件的软件包。

在这里还有另外一种方式安装,如果没有库文件也会报错,在这里也给大家测试了下:

这里需要注意 安装过程中不要使用

--force --nodeps 
--force

--nodeps

是用于 yum 命令的选项,它们可以在特定情况下强制安装或卸载软件包,但需要谨慎使用,因为可能引发系统不一致或损坏。

  • --force:该选项强制 yum 执行指定操作,即使它可能会破坏依赖关系或引起其他问题。通常,yum 会在安装或卸载软件包时检查依赖关系,并确保系统的一致性。使用 --force 可能会绕过这些检查,导致系统处于不稳定状态。
  • --nodeps:该选项告诉 yum 在安装或卸载软件包时不检查依赖关系。这意味着 yum 不会验证其他软件包是否需要被安装或卸载。使用 --nodeps 选项可能会导致系统中缺少必要的依赖项,从而导致软件包无法正常工作或系统不稳定。

因此,使用这些选项时要格外小心,并确保了解它们的潜在风险。通常情况下,最好尽量避免使用这些选项,而是寻找更安全的解决方案来解决软件包依赖问题。

我的建议的在这里需要安装缺少的库文件 不然依赖不全的 会大大影响后续使用,如果此时不解决的话 后面会很头疼;

此时不要盲目的去用 yum命令去安装 是不可以的 直接安装的话可能会报错,提示没有这个包需要下载rpm包然后安装即可

正确解决方案:使用此命令安装

yum install http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm

继续下一步

rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm 
 rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm 

报错:libncurses.so.5()(64bit) 被 mysql-community-client-8.0.25-1.el7.x86_64 需要
libtinfo.so.5()(64bit) 被 mysql-community-client-8.0.25-1.el7.x86_64 需要

yum install libncurses*

安装对应按错的依赖库文件即可;

还有会出现报错libaio的问题,使用命令yum安装即可

 yum install -y libaio*

继续最后一步

 rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm

报错: /usr/bin/perl 被 mysql-community-server-8.0.25-1.el7.x86_64 需要
net-tools 被 mysql-community-server-8.0.25-1.el7.x86_64 需要
perl(Getopt::Long) 被 mysql-community-server-8.0.25-1.el7.x86_64 需要
perl(strict) 被 mysql-community-server-8.0.25-1.el7.x86_64 需要

解决办法:

yum install net-tools

yum install -y perl-Module-Install.noarch

发现安装这个根本没有卵用,还是报错,所以Centos:linux下安装rpm文件,遇见形如perl(Getopt::Long)包依赖不满足的问题解决方式如下:

对于任何形如
AAAA(BBBB::CCCC)
的包依赖问题,需要安装的包名命名格式为
AAAA-BBBB-CCCC
遇见形如perl(Getopt::Long)包依赖不满足的问题。

 yum search perl-Getopt-Long
yum -y install perl-Getopt-Long.noarch


然后进行安装

rpm -ivh mysql-community-server-server-8.0.18-1.el7.x86_64

至此,MySQL安装完毕,

rpm -qa | grep mysql

  1. 安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld      &&        systemctl enable mysqld         

检查MySQL的运行状态

systemctl status mysqld

**如果以上方法行不通,可以试试这个方法

1. 配置yum仓库

   # 更新密钥

   rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

   # 安装Mysql8.x版本 yum库

   rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
  
2. 使用yum安装MySQL

   # yum安装Mysql

   yum -y install mysql-community-server

3.MySQL配置

MySQL数据库配置,详细步骤移步下面具体介绍:
1. 获取MySQL的初始密码
   
   grep 'temporary password' /var/log/mysqld.log   

2. 登录MySQL数据库系统
    
   mysql -uroot -p

3. 修改root密码
   
   ALTER USER 'root'@'localhost' IDENTIFIED WITH my_password BY '123456';

4. 配置root的简单密码

   set global validate_password.policy=0;        

   set global validate_password.length=4;        

5. 允许root远程登录,并设置远程登录123456

   create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456!';    

   ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

6. 退出MySQL控制台页面

   # 退出命令
   exit

7. 检查端口

   MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

   netstat -anp | grep 3306
  
至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root123456。

1.查看密码

 cat /var/log/mysqld.log | grep password

2.登录数据库:

mysql -uroot -p

3.配置root简单密码

set global validate_password.length=4;
set global validate_password.policy=low;

4.修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

5.刷新

flush privileges;

6.创建用户

create user 'root1'@'%' identified by '123456';

7.执行 授权

grant all privileges on *.* to 'root1'@'%';

8.刷新

flush privileges;

9.授权 远程

ALTER USER 'root1'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

10.刷新

flush privileges;

11.退出

quit;
exit;

4.hive安装

https://dlcdn.apache.org/hive/hive-3.1.2/

下载好hive之后 选好对应文件夹之后 解压

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /export/servers/

配置环境变量

vim /etc/profile

添加以下内容:

#HIVE_HOME
export HIVE_HOME=/export/servers/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin

--让文件生效
source /etc/profile

将刚才的jar包 放到hive文件下的lib目录下

5.安装hive过程中可能会出现的报错

报错:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)

安装完毕后 启动hive出现此类报错原因是因为:

1.检查hadoop集群是否启动

2.hive环境配置是否有问题

3.系统找不到相关jar包

4.同一类型的 jar 包有不同版本存在,系统无法决定使用哪一个

可知,com.google.common.base.Preconditions.checkArgument类位于我们的guava.jar包中

那么此时我们要去hadoop和hive文件下查看guava.jar这个jar包,原因就是这个jar版本不一致导致 的,删除hive中低版本的guava-19.0.jar包,将hadoop中的guava-27.0-jre.jar复制到hive的lib目录下即可

cp -r guava-27.0-jre.jar /export/servers/apache-hive-3.1.2-bin/lib

查看hive安装成功与否:

hive --help

6.收尾

以上全部完成后,

1.进去hive文件下的conf下 新建hive-site.xml,然后进去bin目录下

----新建hive-site.xml
---添加以下内容
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1:3306/hivedb?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root1</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>

2.进入bin目录下 启动hadoop集群

/export/servers/hadoop-3.3.0/sbin/start-all.sh

3.初始化

schematool -initSchema -dbType mysql -verbose

4.启动hive

在bin目录下输入./hive或
hive

5.进去hive,输入show databases;

show databases;

6.关闭集群

/export/servers/hadoop-3.3.0/sbin/stop-all.sh

7.注意点 ,第一次进入hive 展示数据库时候可能会有以下报错,问题不大 出去新建一个用户然后授权,刷新,初始化,进去hive,然后展示即可成功,

***********如遇无法下载安装包、jar包以及不懂可以私信哦

标签: mysql hive 数据库

本文转载自: https://blog.csdn.net/m0_74940474/article/details/137154957
版权归原作者 .房东的猫 所有, 如有侵权,请联系我们删除。

“centos7系统安装MySQL、hive以及常见报错及解决方案”的评论:

还没有评论