最近、Hiveの元のデータは[mysql](https://cloud.tencent.com/product/cdb?from=10680)を使用する必要があるため、Galera Clusterが再度インストールされます。何度もインストールされていますが、まだいくつかのあいまいさがあります。ですから、大まかに記録して共有してください。
Galera Clusterは、少なくとも3台のサーバーにインストールする必要があります。オールマスターの遅延なしクラスターとして、サーバーの数が奇数になると、頭脳の分裂を防ぐことができます。
最初に作成する書類は以下のとおりです。
インストールする前に、いくつかの準備されたライブラリをインストールする必要があります。
yum install libaio gcc gcc-c++ boost-devel scons check-devel openssl-devel openssh-clients
perl-DBD-MySQL perl-Time-HiRes perl-Digest nc rsync lsof galera autoconfそれだけです。省略を除外しないので、galeraクラスターのインストールは非常に面倒です。
インストールする前に、CentOS7に付属のmysqlライブラリを削除してください。このブログは以前に作成されています。
yum remove mariadb-libs-5.5.56-2.el7.x86_64
次に、インストールを開始します
rpm-ivhファイル名を追加
rpm -ivhmysql-wsrep-libs-compat-5.6-5.6.36-25.20.el6.x86_64.rpmなど
写真のすべてをインストールする必要があります。mysql-wsrep-server-5.6-5.6.36-25.20.el6.x86_64.rpmとmysql-wsrep-5.6-5.6.36-25.20.el6.x86_64.rpmを除くインストール順序と最後のインストールその上、他は任意の順序にすることができます。
インストールプロセス中にエラーが発生した場合は、ライブラリがインストールされていないことを意味します。-forceを使用して強制的にインストールできます。
インストールが完了したら、次の操作を実行します
システムディスクではなく、比較的大きな外部ディスクにdbdata / mysql_3306を配置することをお勧めします。つまり、/ optディレクトリはオプションです。 df-hを使用して表示できます。
my.cnfを次のように記述します
[ client]
port = 3306
socket = /mnt/dbdata/mysql_3306/mysql.sock
[ mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysqld_multi.err
[ mysqldump]
quick
max_allowed_packet = 16M
[ mysql]
no-auto-rehash
[ myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[ mysqlhotcopy]
interactive-timeout
[ mysqld]
port = 3306
socket = /mnt/dbdata/mysql_3306/mysql.sock
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log-bin-trust-function-creators = 1
expire_logs_days = 1
max_connections = 600
skip-external-locking
skip-name-resolve
datadir=/mnt/dbdata/mysql_3306
character_set_server = utf8
log-bin = mysql-bin
max_allowed_packet=64M
server-id= 44
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
##############################################
wsrep_cluster_address=gcomm://IP1,IP2,IP3
##############################################
wsrep_cluster_name='galera_cluster'
wsrep_node_address='IP1'
wsrep_node_name='node1'
wsrep_sst_method=xtrabackup
wsrep_sst_auth = root:パスワード
###############################################################################
3つのサーバーが異なる場合
server-idは別の番号に設定する必要があり、通常はIPアドレスの最後の番号に設定します
wsrep_node_addressを別のIPに設定します
wsrep_node_nameを別のノード名に設定します
クラスターに初めて接続するときは、wsrep_sst_methodをrsyncに設定する必要があります。xtrabackupを使用する場合、クラスターに初めて接続するときは接続できません。最初の3つのサーバーが正常に接続されたら、すべてのmysqlサービスを閉じて、すべてを変更します。 xtrabackupに戻ると、正常に接続できます。
編集後は/ etcディレクトリに置くことを忘れないでください
最初のサーバーを起動する前に、wsrep_cluster_address = gcomm:// IP1、IP2、IP3をコメントアウトし、wsrep_cluster_address = gcomm://のコメントを解除します。
最初のサーバーサービスを開始しますmysqlstart
mysqlを使用して直接入力します。ユーザー名やパスワードは必要ありません。
GRANT ALL ON 。 TO'root '@'% 'IDENTIFIED BY'password'; '%'は、IPアクセスが制限されていないことを意味します。IPアクセスを制限する場合は、GRANT ALL ON などのIPアドレスセグメントを設定できます。 。 TO'root '@' 192.168。% 'IDENTIFIED BY'Password';
use mysql
ユーザーセットの更新password = PASSWORD( 'password')where user = 'root';
flush privileges;
exit
サービスmysql停止
my.cnf vim / etc / my.cnfを再編集します
wsrep_cluster_address = gcomm://をコメントアウトし、wsrep_cluster_address = gcomm:// IP1、IP2、IP3のコメントを解除します
サービスを開始しますmysqlstart --wsrep_cluster_address = gcomm://もう一度
次に、2番目と3番目のサーバーを連続して起動します。mysqlstart
この時点で、3つのサーバーすべてが正常に起動し、正常に接続できます。
表示するmysqlを入力します。mysql-uroot-hIP1-p
パスワードを入力した後、
show status like 'wsrep%';
これは、3つのサーバーが正常に接続されていることを意味します。この時点で、いずれか1つで実行するSQLの書き込み、変更、テーブル作成、およびデータベース作成の操作は、3つのサーバーに同時に応答し、データは完全に同期されます。
すべてのサーバーをシャットダウンしますservicemysql stop
vim /etc/my.cnf
wsrep_sst_methodはrsyncをxtrabackupに変更します
次に、上記の方法でサーバーを順番に起動すると、ガレラクラスターのインストールがすべて完了します。
Recommended Posts