如何在阿里云的Ubuntu 16.04系统上使用MySQL 5.6配置Galera集群

在此次配置中,由于资源有限,我只配置了两台阿里云服务器,如果再加服务器的话,和添加第二台的步骤一样。
(1)配置环境
两台阿里云服务器,服务器系统版本为Ubuntu16.04
服务器IP:
172.17.252.31
172.17.226.181
两台服务器上都装有mysql5.6
(2)安装过程
0.准备工作
可以开放阿里云服务器的22端口,然后输入命令

ssh root@IP

连接阿里云,在本地的终端上方便的对服务器进行一系列操作
1.添加必要依赖

apt-get install python-software-properties  
apt-get install software-properties-common

如果安装不成功的话可以试一试执行命令sudo apt-get update
2.添加存储库密钥
为了保证软件包可信,需添加存储库密钥用于验证,命令如下:

apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA

然后使用

apt-get update

来更新apt包管理清单
3.添加Galera存储库

cd /etc/apt/sources.list.d
vim galera.list 

在gelera.list文件中添加以下库内容:

deb http://releases.galeracluster.com/mysql-wsrep-5.6/ubuntu xenial main
deb http://releases.galeracluster.com/galera-3/ubuntu xenial main

4.继续配置源

cd /etc/apt/preferences.d
vim  galera.pref

在galera.pref文件中添加如下配置:

Package: *  
Pin: origin releases.galeracluster.com  
Pin-Priority: 1001 

之后再执行

apt-get update

5.在所有服务器上安装Mysql和Galera

sudo apt-get install galera-3 galera-arbitrator-3 mysql-wsrep-5.6 

在安装过程中会为数据库设置密码
安装rsync依赖

sudo apt-get install rsync

(3)配置过程
1.在主节点172.17.252.31上设置如下:

cd /etc
vim  my.cnf

在该文件中添加以下的内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog_format=ROW
bind-address=0.0.0.0
#bind-address=127.0.0.1
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=122M
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
wsrep_cluster_name="mycluster"
wsrep_cluster_address="gcomm://172.17.226.181,172.17.252.31"
wsrep_sst_method=rsync

[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysqld]
wsrep_cluster_name="mycluster"
wsrep_cluster_address="gcomm://172.17.226.181,172.17.252.31"

wsrep_node_name="mynode133"#是否加引号? 
wsrep_node_address="172.17.226.181"#主节点IP

2.在第二个节点上设置如下:

cd /etc
vim  my.cnf

在该文件中添加以下的内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog_format=ROW
bind-address=0.0.0.0
#bind-address=127.0.0.1
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=122M
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
wsrep_cluster_name="mycluster"
wsrep_cluster_address="gcomm://172.17.226.181,172.17.252.31"
wsrep_sst_method=rsync

[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysqld]
wsrep_cluster_name="mycluster"
wsrep_cluster_address="gcomm://172.17.226.181,172.17.252.31"

wsrep_node_name="mynode132"#是否加引号? 
wsrep_node_address="172.17.252.31"#主节点IP

(4)启动集群
在所有服务器上执行一下命令来停止Mysql:

sudo systemctl stop mysql

执行以下的命令来显示数据库现在的状态:

sudo systemctl status mysql

显示状态为inactive,就说明数据库关闭成功。
1.打开主节点

sudo /etc/init.d/mysql start --wsrep-new-cluster 

此命令运行结束之后,主节点注册成为集群的一部分,可以使用一下命令来查看:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

输出如下所示:


+--------------------+-------+ 
| Variable_name | Value | 
+--------------------+-------+ 
| wsrep_cluster_size | 1 |
 +--------------------+-------+ 

2.打开第二个节点
启动Mysql:

sudo systemctl start mysql

再执行以下命令:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"

随着每个节点上线,簇的大小会发生变化:

+--------------------+-------+
 | Variable_name | Value | 
+--------------------+-------+ 
| wsrep_cluster_size | 2 | 
+--------------------+-------+ 

(5)测试复制
先在第一个节点创建一个表,并写入数据

mysql -u root -p -e 'CREATE DATABASE playground; 

CREATE TABLE playground.equipment ( id INT NOT NULL AUTO_INCREMENT, type VARCHAR(50), quant INT, color VARCHAR(25), PRIMARY KEY(id)); 
INSERT INTO playground.equipment (type, quant, color) VALUES ("slide", 2, "blue");'

在第二个节点上可以读取上述写入的值:

mysql -u root -p -e 'SELECT * FROM playground.equipment;' 

如果复制正常的话,会有如下的结果:

+----+-------+-------+-------+

| id | type | quant | color |

+----+-------+-------+-------+

| 1 | slide | 2 | blue |

+----+-------+-------+-------+

至此,一个小小的集群就搭建完毕了。

参考资链接:[Hadoop安装部署实战指南](https://wenku.csdn.net/doc/3tjxb1u65p?utm_source=wenku_answer2doc_content) 在Ubuntu 16.04上部署和配置Hadoop 2.7.1集群,可以通过Docker容器化技术简化过程并保持环境一致性。首先,确保你的系统中已安装Docker,并且你对Linux基本操作有一定的了解。接着,你可以按照《Hadoop安装部署实战指南》中的步骤进行操作。 1. 安装Docker:根据Ubuntu系统的特性,使用以下命令安装Docker: ```bash sudo apt-get update sudo apt-get install docker-ce ``` 2. 加载Docker镜像:下载并加载Hadoop相关的Docker镜像。如果实验资文件夹已提供镜像文件,则可以使用docker load命令加载本地镜像: ```bash docker load < hadoop-docker-image.tar ``` 3. 启动Docker容器:使用docker run命令启动四个Docker容器,包括master和三个slave节点。在启动容器时,需要设置容器的名称、主机名、IP地址以及映射端口等参数,并挂载资文件夹到容器内,以便Hadoop能够访问必要的配置文件和数据。 ```bash docker run -d --name master --hostname master --add-host master:***.**.*.* --add-host slave1:***.**.*.* --add-host slave2:***.**.*.* --add-host slave3:***.**.*.* -v /path/to/resources:/hadoop/resources -itd hadoop-docker-image bash ``` 4. 配置Hadoop集群:进入到master容器中,配置masters和slaves文件,这些文件定义了集群中主节点和从节点的信息。之后,格式化HDFS文件系统,并启动Hadoop服务。 ```bash docker exec -it master bash cd /hadoop/hadoop-2.7.1/etc/hadoop vi masters vi slaves hdfs namenode -format start-dfs.sh start-yarn.sh ``` 通过上述步骤,你将在Ubuntu 16.04系统中利用Docker容器成功部署并配置Hadoop 2.7.1集群。建议在操作过程中,深入学习每个命令的作用,并且熟悉Hadoop的配置文件,这对于以后解决实际问题和优化Hadoop集群性能都是非常有帮助的。完成这些步骤后,你将能够更进一步地掌握Hadoop的高级操作和优化技巧。 参考资链接:[Hadoop安装部署实战指南](https://wenku.csdn.net/doc/3tjxb1u65p?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值