MyCatとは MyCat は、オープンソースの分散データベース ミドルウェアであり、MySQL プロトコルを実装するサーバーです。フロントエンド ユーザーはこれをデータベース プロキシと見なし、MySQL クライアント ツールとコマンド ラインを使用してアクセスできます。一方、バックエンドは、MySQL ネイティブ プロトコルを使用して複数の MySQL サーバーと通信したり、JDBC プロトコルを使用してほとんどの主流のデータベース サーバーと通信したりできます。その中核機能はテーブルとデータベースのシャーディング、つまり大きなテーブルを N 個の小さなテーブルに水平に分割し、バックエンドの MySQL サーバーまたは他のデータベースに保存することです。 MyCat は、テーブルのシャーディング ルールを定義することでシャーディングを実装します。各テーブルはシャーディング ルールにバインドできます。各シャーディング ルールはシャーディング フィールドを指定し、動的なシャーディング アルゴリズムを実装する関数にバインドされます。
MySQL 分散クラスタ アーキテクチャのテスト このテスト環境に導入されたクラスター アーキテクチャは、MyCat 1.6.5 (2 ノード) + MySQL 8.0.11 (5 ノード) です。 MySQLノードのインストールと構成 まず、5 つのデータベース ノードに MySQL 8.0.11 をインストールします。公式の MySQL ドキュメントを参照してください。 8.0.11 のインストールは基本的に 5.7 と同じです。 MySQL ソフトウェアをインストールすると、各 MySQL データベースが szabm というデータベース名で作成されます。スペースの制限により、MySQL のインストールと構成のプロセスはここでは省略します。 ただし、従来の方法でデータベースをインストールした後、最も重要な構成は大文字と小文字を区別しないことを意味する「lower_case_table_names=1」であることに注意してください。このパラメータが設定されていない場合、大文字と小文字の問題によりテーブルが見つからない可能性があります。 Javaをインストールする 1. ソフトウェアをダウンロードする Java 公式 Web サイトから Java バイナリ パッケージをダウンロードします。今回ダウンロードしたバージョンはjdk-8u152-linux-x64.tar.gzです。 注意: JDK7 以上が必要です。 2. ソフトウェアを解凍する tar コマンドを使用して、アップロードされたバイナリ ソフトウェア パッケージを解凍します。管理を容易にするために、Java ソフト リンクを作成します。
3. Java環境変数を設定する 実際の Java インストール ディレクトリを参照して、環境変数を構成します。以下は参考情報です。
MySQLクライアントをインストールする 1. ソフトウェアをダウンロードする MySQL の公式 Web サイトからバイナリ パッケージ ソフトウェアをダウンロードします。バックエンドは MySQL データベースを展開する必要があるため、クライアントとして使用するためにサーバーが直接ダウンロードされます。このダウンロードは、mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz です。 2. ソフトウェアを解凍する tar コマンドを使用して、アップロードされた MySQL バイナリ パッケージを解凍します。管理を容易にするために、MySQL のソフト リンクが作成されます。
3. MySQL環境変数を設定する MySQL クライアント環境変数の場合、bin ディレクトリ パスを構成するだけで済みます。 PATH=$PATH:$/gpdb/mysql/bin をエクスポートします MyCat ソフトウェアのインストール 1. ソフトウェアをダウンロードする MyCat の公式 Web サイトから MyCat ソフトウェアをダウンロードします。今回は、かなり前にダウンロードしたMyCat 1.6.5バージョンを使用しました。 2. ソフトウェアを解凍する ソフトウェアを解凍するには、tar コマンドを使用します。解凍後、現在のディレクトリに MyCat ディレクトリが直接生成されます。 tar -xzvf MyCat-server-1.6.5-リリース-20180122220033-linux.tar.gz 3. 環境変数を設定する MyCat を実行するには、MYCAT_HOME 環境変数と bin ディレクトリを構成する必要があります。
4. MyCatを起動する 1) MyCatを起動する MyCat サービスを開始するには、MyCat start コマンドを使用します。 MyCat のデフォルトのサービス ポートは 8066 で、管理ポートは 9066 です。 MyCatスタート 実行が完了したら、$MYCAT_HOME ディレクトリの下の logs ディレクトリにある wrapper.log ログ ファイルを確認します。起動が成功した場合のプロンプトは次のとおりです。
2) 起動時に発生した問題 このテストでは、MyCat が起動に失敗し、メモリ パラメータに問題があることが示されました。したがって、$MYCAT_HOME/conf ディレクトリに移動し、wrapper.conf ファイルを見つけて、メモリ関連のパラメータを見つけます。
関連ドキュメントを参照し、メモリパラメータを何度も試した後、最終的に次の 2 つのパラメータを有効にしてサービスを正常に開始できました。
MyCatプロフィール 1. MyCat設定ファイルの説明 すべての MyCat 構成ファイルは $MYCAT_HOME/conf ディレクトリに保存され、主に 3 つのファイルで構成され、すべて XML 形式で記述されています。
注意: 設定ファイルが変更された場合は、MyCat を再起動するか、ポート 9066 経由で再ロードする必要があります。 2. MyCat 設定ファイルのアーキテクチャ MyCat プロフィールの変更 1. MyCatポートを変更する MyCat のデフォルトのサービス ポートは 8066 です。MySQL でよく使用されるポートとの一貫性を保つために、このテストではポートが 3306 に変更されました。この構成セクションは server.xml 構成ファイルでコメント アウトされているため、ポート番号をどのように変更しても、コメントを削除しない限り変更は有効にならないことに特に注意してください。このテストでは、サービス ポート番号が直接コピーされ、新しい行が追加されます。
今回は、server.xml ファイルに新しい行のパラメータ設定が追加されます。
2. MyCatユーザーを追加する MyCat にログインするユーザーは、server.xml 構成ファイルの最後に保存されます。最善の方法は、ユーザーを直接コピーしてから、関連する変更を加えることです。 参考文献は以下の通りです。
今回は、パスワード「123456」を持つtestという名前の新しいユーザーが追加されます。アクセスできるデータベースは、読み取りおよび書き込み権限を持つ「szabm」です。ここでユーザーがアクセスするデータベースは、schema.xml ファイルで設定する必要があります。 3. MyCatデータベースを追加する MyCat のデータベースは一般に論理データベースと呼ばれ、バックエンドの MySQL データベースの実際の名前と一貫性を保つことが推奨されます。 server.xml ユーザーによって構成された論理データベースは、schema.xml 内の論理データベースと一致している必要があります。 MyCat を起動すると、自動的にチェックが行われ、一貫性が保たれている必要があります。 このテストでは、schema.xml に szabm 論理データベースが構成されており、これには 4 つのテスト テーブル (abm_acct_balance、abm_counter、abm_realtime_fee、abm_resource_present) が含まれており、テーブル名はバックエンド MySQL データベースの実際のテーブル名と一致している必要があります。各テーブルは 5 つのデータ ノード (ceph3、ceph4、ceph5、ceph6、ceph7) に保存され、各テーブルには 1 つのシャーディング ルールがあります。
4. MyCatデータノードを追加する MyCat のデータ ノードは論理データ ストレージ ノードであり、テーブルとデータ ノードの間には 1 対多の関係があります。各論理ノードはバックエンドの論理ホストと実際のデータベースに対応しており、つまり、論理ノード、論理ホスト、および実際のデータベースの間には 1 対 1 の対応があります。データベース名は同じで、バックエンド MySQL データベースの実際のデータベース名です。 このテストの参照ノードは次のとおりです。
今回は、5 つの論理ホストに対応する 5 つの論理データ ノードと、同じバックエンド データベース szabm7 が構成されます。 5. MyCatシャーディングルールを追加する MyCat のシャーディング ルールは、テーブルが異なるノードにデータを格納するために使用するアルゴリズム ルールを示します。 MySQL は現在、さまざまなシャーディング ルールをサポートしています。このシャーディング ルールでは、最も単純なモジュロ剰余を使用します。
MyCat サービス検証 1. MyCatサービスのポートステータスを確認する MySQL クライアントを使用してログインして検証する前に、まず MyCat サービス ポートと管理ポートが存在するかどうかを確認できます。 参照コマンドは次のとおりです。
2. MySQLクライアントを使用してMyCatサービスに接続する MySQL クライアントを使用して MyCat サービスに接続できます。特にポート番号は 8066 です。 参照コマンドは次のとおりです。
|
<<: 約10億!大型スマートシティ契約を連続で獲得、ファーウェイクラウドが政府関係市場をリード
>>: 商用 IoT 導入におけるエッジ コンピューティングの役割
「企業ブランドマーケティングと国家ブランドマーケティングは、一見異なる概念のように見えますが、実際に...
みなさんこんにちは。春節が終わった直後、Google は私たちに素敵な贈り物をくれました。Googl...
クラウド コンピューティングは、コンピューティング、ストレージ、ネットワーク インフラストラクチャを...
概要:クラウド ネイティブ セキュリティは本当に違うのでしょうか?それは必須ですか?私の答えは「はい...
APPプロモーションチャネルでは不正行為が頻繁に発生します。今日は、APPプロモーションの不正行為防...
ウェブマスターは通常、自分のウェブサイトのランキングをチェックします。ランキング上位のウェブサイトへ...
みなさんこんにちは。私は次男です。この記事は以前にも投稿されていますが、ネットユーザーからの質問に答...
Douban FMの有料版が最近リリースされ、月額10元で、ユーザー課金モデルの模索が正式に始まった...
11年間運営してきた老舗のVPSベンダーであるAoyoyunは、3月にロサンゼルスのデータセンターで...
EC業界では、運営者としてPVやUVなどのデータを毎日監視し、レポートを毎日記入することが必須です。...
Rainbond は、使いやすく、コンテナ、Kubernetes、および基盤となる複雑なテクノロジー...
ugvps ブラックフライデーセール 月額 4.99 ドル、2G メモリ、100M サーバー帯域幅、...
今月28日、CNNICは新しいドメイン名政策である「中国インターネットネットワーク情報センタードメイ...
この記事では、Baidu 検索エンジンがウェブサイトを組み込むための基準、ウェブサイトを組み込む際の...
最近では、多くの人がキーワードを検索し、自分のウェブサイトをクリックしてキーワードランキングを行って...