mysqlcluster mysqlクラスタ構成
5964 ワード
管理ノードこのノードの役割は、NDBクラスタ内の他のノードを管理することであり、例えば、構成データの提供、ノードの起動と停止、バックアップの実行などの機能を提供する.このノードタイプは、他のノードの構成を管理するため、まず他のノードの前にこのタイプのノードを起動する必要があります.コマンドndb_の使用mgmdはMGMノードデータノードを起動するこのタイプのノードはクラスタデータSQLノードを格納するこれはクラスタデータにアクセスするノードであり、mysqldサービスプロセスの下に4台のサーバipで192.168.8.129-192.168.8.8132で次のノードに従って対応するipを設定する必要がある.
ノードSQLノード192.168.43.207外部クライアントにAPI(PHP mysql client python...)データノードデータストレージ192.168.43.208 192.168.43.209管理ノード協調スケジューリング192.168.43.210
mysqlを以前にインストールする場合は、/usr/local/mysql/etc/myなどの対応するファイルを削除する必要があります.cnf/etc/init.d/mysql*/etc/rc.d/init.d/mysql*
SQLノード構成表示/etc/passwdおよび/etc/groupファイルにmysqlユーザーとグループがあるかどうかgroupadd mysql useradd-g mysql-s/bin/false mysqlダウンロードmysqlclusterここで/optディレクトリにダウンロードする例cd/opt wgetについて説明しますhttps://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-gpl-7.6.8-linux-glibc2.12-x86_64.tar.gz次にtar zxvf mysql-cluster-gpl-7.6.8-linux-glibc 2を解凍する.12-x86_64.tar.gzは、/optディレクトリで実行する解凍操作が/usr/local/mysql ln-s/opt/mysql-cluster-gpl-7.6.8-linux-glibc 2にシンボルリンクを作成すると仮定する.12-x86_64/usr/local/mysql cd/usr/local/mysql/bin/初期化mysql実行./mysqld--initialize実行後、ランダムパスワードを覚えてmysqlディレクトリの所有者とグループをmysql cd/usr/localに変更してchown-R mysql:mysql mysql/設定起動cp mysql/support-files/mysql.server/etc/rc.d/init.d/mysql.serverは実行可能権限chmod+x/etc/rcを付与.d/init.d/mysql.server chkconfig --add mysql.server起動/etc/rc.d/init.d/mysql.server start mysql/usr/local/mysql/bin/mysql-uroot-pデータベースパスワード登録後mysqlパスワードuse mysql ALTER USER‘root’@‘localhost’IDENTIFIED WITH mysql_native_password BY「新しいパスワード」;その後、使用可能な新しいパスワードのログインを終了しmysql/etc/rcを停止します.d/init.d/mysql.server stopはまだsqlノードのいくつかの構成情報を設定していないため
データノードは、ndbdとndbmtdの2つのファイルを/usr/local/binディレクトリにコピーする必要があります.この2つのファイルを他のサーバからコピーする必要があります.次は、cp bin/ndbd/usr/local/bin/ndbd cp bin/ndbmtd/usr/local/bin/ndbmtdを参照するコマンドです.また、scp-P 2233などの他のマシンからリモートコピーすることもできます[email protected]:/usr/local/mysql/bin/ndbmtd ./次のコードを実行します:[email protected]:/usr/local/mysql/bin/ndbmtd ./scp [email protected]:/usr/local/mysql/bin/ndbd ./この2つのファイルに実行可能な権限がない場合は、x権限cd/usr/local/bin chmod+x ndb*を与える必要があります.
データストアディレクトリmkdir-p/usr/local/mysql/dataの作成上記ディレクトリは、管理ノードで構成されているDATAdirと一致する必要がありますchown-R mysql:mysql/usr/local/mysql/
管理ノードにはndb_のインストールが必要ですmgmdとndb_mgmは、上記のようにコピーして実行可能な権限を付与することができる
各ノード構成https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-configuration.html
データノードとSQLノードにはvi/etc/myが必要です.cnfは以下のように構成される
管理ノードmkdir/var/lib/mysql-cluster cd/var/lib/mysql-cluster vi config.ini
テスト管理ノードでndb_を先に実行mgmd -f/var/lib/mysql-cluster/config.iniプロファイルまたはディレクトリが見つからない場合config.iniプロンプトのデフォルトディレクトリにコピーすれば、エラーが報告されていない場合は1186ポートがあるかどうかを確認し、ndb_がある場合はmgmがクライアントコマンドラインに入るshow各ノードの状態を確認するときデータノードsqlノードが起動していないのはすべて未接続状態であるべき起動データノードは各データノードでndbdを実行してsqlノードで/etc/rcを実行する.d/init.d/mysql.server start mysqldサービスを開始
クライアントはsqlノードに接続してデータ操作を行うことができます
クラスタを閉じて管理ノードでndb_を実行mgm-e shutdownは管理ノードおよびデータノードを閉じることができます
sqlノードは、通常mysqlサービスを閉じるように/etc/rcを閉じることができる.d/init.d/mysql.server stop
----よくあるエラー1.SQLノードMySQLサービスが開始できません(1)mysqlを以前インストールした場合は/usr/local/mysql/etc/myなどのファイルを削除する必要があります.cnf/etc/init.d/mysql*/etc/rc.d/init.d/mysql*(2)cluster圧縮ファイル解凍後にシンボルリンクをしてls-l/usr/local解凍が正しく接続されているかどうかを確認/rootディレクトリに解凍しない(仮想ホストの作成時も避ける)(3)設定/usr/local/mysqlディレクトリおよびサブディレクトリのユーザーとグループがmysql(./mysqld--initializeコマンドの後にもう一度設定する必要があります)(4)管理ノードで設定されたipとSQLノードのipが一致しない(5)エラーログ/usr/local/data/***を検索する.Err errorオプションを検索してさらに調べる
2.起動順管理ノードを起動するデータノードを起動し、最後にSQLノードを起動するデータノード記憶データのディレクトリは/usr/local/mysql/dataで初期状態データ記憶ディレクトリが空であることを保証する.DDBCLUSTERストレージエンジンを使用する必要があります他のストレージエンジンを使用する場合はalter tableを使用してストレージエンジンを変更する必要があります
ノードSQLノード192.168.43.207外部クライアントにAPI(PHP mysql client python...)データノードデータストレージ192.168.43.208 192.168.43.209管理ノード協調スケジューリング192.168.43.210
mysqlを以前にインストールする場合は、/usr/local/mysql/etc/myなどの対応するファイルを削除する必要があります.cnf/etc/init.d/mysql*/etc/rc.d/init.d/mysql*
SQLノード構成表示/etc/passwdおよび/etc/groupファイルにmysqlユーザーとグループがあるかどうかgroupadd mysql useradd-g mysql-s/bin/false mysqlダウンロードmysqlclusterここで/optディレクトリにダウンロードする例cd/opt wgetについて説明しますhttps://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-gpl-7.6.8-linux-glibc2.12-x86_64.tar.gz次にtar zxvf mysql-cluster-gpl-7.6.8-linux-glibc 2を解凍する.12-x86_64.tar.gzは、/optディレクトリで実行する解凍操作が/usr/local/mysql ln-s/opt/mysql-cluster-gpl-7.6.8-linux-glibc 2にシンボルリンクを作成すると仮定する.12-x86_64/usr/local/mysql cd/usr/local/mysql/bin/初期化mysql実行./mysqld--initialize実行後、ランダムパスワードを覚えてmysqlディレクトリの所有者とグループをmysql cd/usr/localに変更してchown-R mysql:mysql mysql/設定起動cp mysql/support-files/mysql.server/etc/rc.d/init.d/mysql.serverは実行可能権限chmod+x/etc/rcを付与.d/init.d/mysql.server chkconfig --add mysql.server起動/etc/rc.d/init.d/mysql.server start mysql/usr/local/mysql/bin/mysql-uroot-pデータベースパスワード登録後mysqlパスワードuse mysql ALTER USER‘root’@‘localhost’IDENTIFIED WITH mysql_native_password BY「新しいパスワード」;その後、使用可能な新しいパスワードのログインを終了しmysql/etc/rcを停止します.d/init.d/mysql.server stopはまだsqlノードのいくつかの構成情報を設定していないため
データノードは、ndbdとndbmtdの2つのファイルを/usr/local/binディレクトリにコピーする必要があります.この2つのファイルを他のサーバからコピーする必要があります.次は、cp bin/ndbd/usr/local/bin/ndbd cp bin/ndbmtd/usr/local/bin/ndbmtdを参照するコマンドです.また、scp-P 2233などの他のマシンからリモートコピーすることもできます[email protected]:/usr/local/mysql/bin/ndbmtd ./次のコードを実行します:[email protected]:/usr/local/mysql/bin/ndbmtd ./scp [email protected]:/usr/local/mysql/bin/ndbd ./この2つのファイルに実行可能な権限がない場合は、x権限cd/usr/local/bin chmod+x ndb*を与える必要があります.
データストアディレクトリmkdir-p/usr/local/mysql/dataの作成上記ディレクトリは、管理ノードで構成されているDATAdirと一致する必要がありますchown-R mysql:mysql/usr/local/mysql/
管理ノードにはndb_のインストールが必要ですmgmdとndb_mgmは、上記のようにコピーして実行可能な権限を付与することができる
各ノード構成https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-configuration.html
データノードとSQLノードにはvi/etc/myが必要です.cnfは以下のように構成される
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
[mysql_cluster]
# Options for NDB Cluster processes:
ndb-connectstring=198.51.100.10 # location of management server
管理ノードmkdir/var/lib/mysql-cluster cd/var/lib/mysql-cluster vi config.ini
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=18M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example NDB Cluster setup.
ServerPort=2202 # This the default value; however, you can use any
# port that is free for all the hosts in the cluster
# Note1: It is recommended that you do not specify the port
# number at all and simply allow the default value to be used
# instead
# Note2: The port was formerly specified using the PortNumber
# TCP parameter; this parameter is no longer available in NDB
# Cluster 7.5.
[ndb_mgmd]
# Management process options:
HostName=192.168.43.210 # Hostname or IP address of MGM node
DataDir=/var/lib/mysql-cluster # Directory for MGM node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
HostName=192.168.43.208 # Hostname or IP address
NodeId=2 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[ndbd]
# Options for data node "B":
HostName=192.168.43.209 # Hostname or IP address
NodeId=3 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[mysqld]
# SQL node options:
HostName=192.168.43.207 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
テスト管理ノードでndb_を先に実行mgmd -f/var/lib/mysql-cluster/config.iniプロファイルまたはディレクトリが見つからない場合config.iniプロンプトのデフォルトディレクトリにコピーすれば、エラーが報告されていない場合は1186ポートがあるかどうかを確認し、ndb_がある場合はmgmがクライアントコマンドラインに入るshow各ノードの状態を確認するときデータノードsqlノードが起動していないのはすべて未接続状態であるべき起動データノードは各データノードでndbdを実行してsqlノードで/etc/rcを実行する.d/init.d/mysql.server start mysqldサービスを開始
クライアントはsqlノードに接続してデータ操作を行うことができます
クラスタを閉じて管理ノードでndb_を実行mgm-e shutdownは管理ノードおよびデータノードを閉じることができます
sqlノードは、通常mysqlサービスを閉じるように/etc/rcを閉じることができる.d/init.d/mysql.server stop
----よくあるエラー1.SQLノードMySQLサービスが開始できません(1)mysqlを以前インストールした場合は/usr/local/mysql/etc/myなどのファイルを削除する必要があります.cnf/etc/init.d/mysql*/etc/rc.d/init.d/mysql*(2)cluster圧縮ファイル解凍後にシンボルリンクをしてls-l/usr/local解凍が正しく接続されているかどうかを確認/rootディレクトリに解凍しない(仮想ホストの作成時も避ける)(3)設定/usr/local/mysqlディレクトリおよびサブディレクトリのユーザーとグループがmysql(./mysqld--initializeコマンドの後にもう一度設定する必要があります)(4)管理ノードで設定されたipとSQLノードのipが一致しない(5)エラーログ/usr/local/data/***を検索する.Err errorオプションを検索してさらに調べる
2.起動順管理ノードを起動するデータノードを起動し、最後にSQLノードを起動するデータノード記憶データのディレクトリは/usr/local/mysql/dataで初期状態データ記憶ディレクトリが空であることを保証する.DDBCLUSTERストレージエンジンを使用する必要があります他のストレージエンジンを使用する場合はalter tableを使用してストレージエンジンを変更する必要があります