【hadoop】集群搭建之部署mysql并远程访问(连接)

目录

一、前言介绍

二、什么是mysql集群

三、如何进行mysql的集群搭建部署?步骤?

(一)安装mysql

(二)启动、查看mysql服务端进程

(三)查看mysql的roo账号密码并连接mysql

(四)更改默认密码并创建testdb数据库

(五)将mysql jdbc驱动引入ider中的java项目里

(六)通过jdbc连接(访问)mysql(使用ider)

(七)创建hadoop数据库,建hadoop.user表

(八)设置任何主机上的用户hadoop均可远程连接mysql数据库

四、总结

五、学习收获


---------------------------------------------------------------------------------------------------------------------------------

一、前言介绍

MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达到99.999%。MySQL Cluster允许在无共享的系统中部署“内存中”数据库集群,通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

二、什么是mysql集群

如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;

如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;

如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。

随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,类似于MySQL集群这样的技术得到了广泛的运用,MySQL集群原理的运用就显得尤其重要。

三、如何进行mysql的集群搭建部署?步骤?

---------------------------------------------------------------------------------------------------------------------------------

(一)安装mysql

      【rpm -ivh http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm(安装mysql    repo)------以及yum install -y mysql-community-client mysql-community-devel mysql-   community-server(在线安装mysql)】

(二)启动、查看mysql服务端进程

        (1)   启动mysql的mysqld进程(mysql服务端进程)

        systemctl start mysqld

        (2)   查看mysqlL服务端是否启动成功(status=查看):

        systemctl status mysqld

(三)查看mysql的roo账号密码并连接mysql

        (1)   查看mysql的root帐号默认密码:

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

        (2)   连接mysq命令

        mysql -u root -p

(四)更改默认密码并创建testdb数据库

        (1)   修改默认密码(不能过于简单,否者修改不成功)

        alter user user() identified by 'QQ123-v20’ ;

        (2)   创建testdb数据库:

        create database testdb DEFAULT CHARACTER SET utf8

(五)将mysql jdbc驱动引入ider中的java项目里

文件包放不进来,所以我选择放在文章的最前面,在主页资源包也可以看到哦

(六)通过jdbc连接(访问)mysql(使用ider)

package jdbc_mysql;

import java.sql.*;

public class JdbcTest {
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
                //加载驱动
               Class.forName(" com.mysql.cj.jdbc.Driver");
                //创建jdbc连接
               Connection conn=DriverManager.getConnection("jdbc:mysql://192.160.159.128:3306/mysql?serverTimezone=UTC","root","Lzzy@2022");

                //根据一个Statement对象,并执行select查询
               Statement statement = conn.createStatement();
               String sql = "select Host, User from user";
                //resultSet是执行sql后,my59ld返回的结果
               ResultSet resultSet = statement.executeQuery(sql);
                //遍历查询的结果
               while (resultSet.next()) {
               String host = resultSet.getString("Host");
               String user = resultSet.getString("User");
               System.out.println("host= " + host + " , user= " + user);
        }
        resultSet.close();
        conn.close();
}
}

(七)创建hadoop数据库,建hadoop.user表

        (1)   创建hadoop数据库

        create database hadoop character set utf8;

        (2)   切换(使用)hadoop库 

        use hadoop

        (3)   创建hadoop.user表

        create table user(name varchar(32), age int, sex varchar(32))

        (4)将mysql jdbc驱动引入到ider 中的java项目里(使用ider)

package jdbc_mysql;

import java.sq1.*;


public class JdbCreate {
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
                //加载驱动
               Class.forName(" com.mysql.cj.jdbc.Driver");
                //创建jdbc连接
               String url = "jdbc:mysql://192.160.159.128:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8";
               Connection conn = DriverManager.getomnection(url,"root","Lzzy@2022");
                //根据一个Statement对象,并执行select查询
               Statement statement = conn.createStatement();
               String sql = "insert into 'user' values( 'zhangsan', 18,'男')";
                //执行insert语句
               statement . execute(sql);
               conn.close();
}

}

(八)设置任何主机上的用户hadoop均可远程连接mysql数据库

        (1) 设置任何主机上的用户'hadoop'都可以凭借密码'1'远程连接MySQL数据库。

        mysql> GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' IDENTIFIED BY '1' WITH         GRANT OPTION;

        (2)授权超用户,进行刷新系统权限

        mysql> FLUSH PRIVILEGES;

---------------------------------------------------------------------------------------------------------------------------------

四、总结

mysql集群可以大大提高应用程序的性能和可靠性。通过管理节点和多个MySQL节点的组合,可以实现数据的自动分布和复制,提供高可用性和容错能力。

五、学习收获

在Hadoop集群上部署和远程连接MySQL是一个常见的需求,以下是我学习部署和远程连接MySQL在Hadoop集群中的一些收获:

1. 安装和配置MySQL:首先需要在集群中选择一台作为MySQL服务器,然后在该服务器上安装MySQL数据库,并进行配置。配置包括设置root用户密码,配置数据库监听IP地址,设置允许远程连接等。

2. 创建MySQL数据库和用户:在MySQL服务器上登录,并创建需要使用的数据库和用户。可以使用MySQL的命令行工具或者图形化工具进行操作。

3. 允许远程连接MySQL:默认情况下,MySQL服务器只允许本地连接。远程连接需要在MySQL服务器上进行配置,设置允许来自特定IP地址的远程连接。可以编辑MySQL的配置文件或者使用命令行进行配置。

4. 配置集群中其他节点的MySQL连接:在集群中的其他节点上,需要配置MySQL客户端连接到MySQL服务器。可以在每台节点上安装MySQL客户端,并在配置文件中设置MySQL服务器的IP地址和连接端口。

5. 远程连接MySQL并操作数据库:在配置好MySQL客户端后,可以使用MySQL命令行工具或者其他图形化工具,远程连接MySQL服务器,并进行数据库的操作。可以进行数据的插入、查询、更新、删除等操作。

6. 使用MySQL和Hadoop集成:一些应用场景需要将Hadoop和MySQL集成在一起,例如将Hadoop中的数据导入到MySQL中,或者将MySQL中的数据导入到Hadoop中进行分析和处理。可以使用Sqoop等工具进行数据的导入和导出。

7. 安全性考虑:在远程连接MySQL时,需要考虑安全性的问题。可以通过设置MySQL用户的权限,限制用户的访问权限;使用SSH隧道等方式进行加密传输;设置防火墙规则,仅允许特定IP地址的访问等。

以上是在Hadoop集群中部署和远程连接MySQL的一些学习收获。掌握了这些知识后,可以更好地利用Hadoop和MySQL进行数据的存储、查询和分析,在大数据处理和应用开发中发挥更大的作用。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值