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

打印 上一主题 下一主题

主题 938|帖子 938|积分 2818

1.MySQL安装

https://dev.mysql.com/
压缩包以附

检查mysql资源是否存在:
  1. rpm -qa | grep mysql
复制代码
如果存在删除即可 确保系统上没有mysql之后开始举行安装:
  1. rpm -e 包名
复制代码
 其次查询marisdb是否存在,存在删除:
  1. rpm -qa | grep marisdb
  2. --不存在的话之间rpm 安装压缩包即可
  3. rpm -e 包名
  4. --存在删除即可
复制代码
安装过程中牢记按照图片顺序举行按照否则后出错 需要推到重来

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

目前就本人安装测试过程中出现的报错给予明示:请看截图
首先第一步使用命令安装common,这部基本没有问题  即使后续安装中出现以来关系不存在也不会影响,即使因为安装了8版本的MySQL导致一些旧的库文件而失败的,下一步会给予解决,问题不大;
选好路径将压缩包拖进去:

安装 mysql-community-common-8.0.25-1.el7.x86_64.rpm
  1. 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
  1. 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 在安装过程中需要这些库文件来正确运行。解决这个问题的方法是安装包含这些库文件的软件包。
在这里还有另外一种方式安装,如果没有库文件也会报错,在这里也给各人测试了下:

这里需要留意 安装过程中不要使用
  1. --force --nodeps
复制代码
--force 和 --nodeps 是用于 yum 命令的选项,它们可以在特定情况下强制安装或卸载软件包,但需要谨慎使用,因为可能引发系统不同等或损坏。


  • --force:该选项强制 yum 实行指定操纵,即使它可能会破坏依赖关系或引起其他问题。通常,yum 会在安装或卸载软件包时检查依赖关系,并确保系统的同等性。使用 --force 可能会绕过这些检查,导致系统处于不稳定状态。
  • --nodeps:该选项告诉 yum 在安装或卸载软件包时不检查依赖关系。这意味着 yum 不会验证其他软件包是否需要被安装或卸载。使用 --nodeps 选项可能会导致系统中缺少必要的依赖项,从而导致软件包无法正常工作或系统不稳定。
因此,使用这些选项时要格外小心,并确保相识它们的潜在风险。通常情况下,最好尽量克制使用这些选项,而是探求更安全的解决方案来解决软件包依赖问题。
 我的建议的在这里需要安装缺少的库文件  否则依赖不全的 会大大影响后续使用,如果此时不解决的话  后面会很头疼;
此时不要盲目的去用 yum命令去安装 是不可以的  直接安装的话可能会报错,提示没有这个包需要下载rpm包然后安装即可



 正确解决方案:使用此命令安装
  1. yum install http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
复制代码
 

 

继续下一步
  1. rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
复制代码
  1. 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 需要

  1. yum install libncurses*
复制代码
 安装对应按错的依赖库文件即可;

还有会出现报错libaio的问题,使用命令yum安装即可
  1. yum install -y libaio*
复制代码

继续末了一步
  1. 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:ong) 被 mysql-community-server-8.0.25-1.el7.x86_64 需要
        perl(strict) 被 mysql-community-server-8.0.25-1.el7.x86_64 需要
 解决办法:
  1. yum install net-tools
复制代码

  1. yum install -y perl-Module-Install.noarch
复制代码

发现安装这个根本没有卵用,照旧报错,所以Centos:linux下安装rpm文件,遇见形如perl(Getopt:ong)包依赖不满足的问题解决方式如下:
对于任何形如
AAAA(BBBB::CCCC)
的包依赖问题,需要安装的包名命名格式为
AAAA-BBBB-CCCC
遇见形如perl(Getopt:ong)包依赖不满足的问题。
  1. yum search perl-Getopt-Long
  2. yum -y install perl-Getopt-Long.noarch
复制代码

然后举行安装
  1. rpm -ivh mysql-community-server-server-8.0.18-1.el7.x86_64
复制代码

至此,MySQL安装完毕,
  1. rpm -qa | grep mysql
复制代码

3. 安装完成后,启动MySQL并配置开机自启动
  1. systemctl start mysqld      &&        systemctl enable mysqld         
复制代码
检查MySQL的运行状态
  1. systemctl status mysqld
复制代码

**如果以上方法行不通,可以试试这个方法
  1. 1. 配置yum仓库
  2.    # 更新密钥
  3.    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
  4.    # 安装Mysql8.x版本 yum库
  5.    rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
  6.   
  7. 2. 使用yum安装MySQL
  8.    # yum安装Mysql
  9.    yum -y install mysql-community-server
复制代码
3.MySQL配置

  1. MySQL数据库配置,详细步骤移步下面具体介绍:
  2. 1. 获取MySQL的初始密码
  3.    
  4.    grep 'temporary password' /var/log/mysqld.log   
  5. 2. 登录MySQL数据库系统
  6.     
  7.    mysql -uroot -p
  8. 3. 修改root密码
  9.    
  10.    ALTER USER 'root'@'localhost' IDENTIFIED WITH my_password BY '123456';
  11. 4. 配置root的简单密码
  12.    set global validate_password.policy=0;        
  13.    set global validate_password.length=4;        
  14. 5. 允许root远程登录,并设置远程登录123456
  15.    create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456!';    
  16.    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  17. 6. 退出MySQL控制台页面
  18.    # 退出命令
  19.    exit
  20. 7. 检查端口
  21.    MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
  22.    netstat -anp | grep 3306
  23.   
  24. 至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root123456。
复制代码
1.检察密码
  1. cat /var/log/mysqld.log | grep password
复制代码

2.登录数据库:
  1. mysql -uroot -p
复制代码

3.配置root简单密码
  1. set global validate_password.length=4;
  2. set global validate_password.policy=low;
复制代码

 

4.修改root密码
  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
复制代码
5.刷新
  1. flush privileges;
复制代码

6.创建用户
  1. create user 'root1'@'%' identified by '123456';
复制代码
7.实行 授权
  1. grant all privileges on *.* to 'root1'@'%';
复制代码
 

8.刷新 
  1. flush privileges;
复制代码
 

9.授权 远程
  1. ALTER USER 'root1'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
复制代码

10.刷新
  1. flush privileges;
复制代码

11.退出
  1. quit;
  2. exit;
复制代码

4.hive安装

https://dlcdn.apache.org/hive/hive-3.1.2/     
下载好hive之后 选好对应文件夹之后 解压
  1. tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /export/servers/
复制代码


配置环境变量 
  1. vim /etc/profile
复制代码
添加以下内容:
  1. #HIVE_HOME
  2. export HIVE_HOME=/export/servers/apache-hive-3.1.2-bin
  3. export PATH=$PATH:$HIVE_HOME/bin
复制代码

  1. --让文件生效
  2. 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目录下即可
  1. cp -r guava-27.0-jre.jar /export/servers/apache-hive-3.1.2-bin/lib
复制代码

检察hive安装成功与否: 
  1. hive --help
复制代码

6.收尾

以上全部完成后,
1.进去hive文件下的conf下 新建hive-site.xml,然后进去bin目录下
  1. ----新建hive-site.xml
  2. ---添加以下内容
  3. <configuration>
  4. <property>
  5. <name>javax.jdo.option.ConnectionURL</name>
  6. <value>jdbc:mysql://hadoop1:3306/hivedb?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
  7. <description>JDBC connect string for a JDBC metastore</description>
  8. </property>
  9. <property>
  10. <name>javax.jdo.option.ConnectionDriverName</name>
  11. <value>com.mysql.cj.jdbc.Driver</value>
  12. <description>Driver class name for a JDBC metastore</description>
  13. </property>
  14. <property>
  15. <name>javax.jdo.option.ConnectionUserName</name>
  16. <value>root1</value>
  17. <description>username to use against metastore database</description>
  18. </property>
  19. <property>
  20. <name>javax.jdo.option.ConnectionPassword</name>
  21. <value>123456</value>
  22. <description>password to use against metastore database</description>
  23. </property>
  24. </configuration>
复制代码

2.进入bin目录下 启动hadoop集群
  1. /export/servers/hadoop-3.3.0/sbin/start-all.sh
复制代码


3.初始化
  1. schematool -initSchema -dbType mysql -verbose
复制代码

4.启动hive
  1. 在bin目录下输入./hive或
  2. hive
复制代码
5.进去hive,输入show databases;
  1. show databases;
复制代码
 

6.关闭集群
  1. /export/servers/hadoop-3.3.0/sbin/stop-all.sh
复制代码
 

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

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表