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 導入におけるエッジ コンピューティングの役割
微博の情報拡散能力は、多くのプロのマーケターを驚かせました。少し前、微博は趙震をめぐる論争を煽る役割...
初心者でもベテランでも、複雑なサーバーに直面したときは、管理パネルさえあれば、コマンドを 1 行ずつ...
2022年までに産業企業の90%がエッジコンピューティングを使用し、2024年までにマルチアクセスエ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトの最適化は簡...
2017年11月11日まで残り12時間を切った現在、SKII、Olay、Pampers、Vidal ...
【TechWeb Report】12月17日夜、Googleの上級副社長兼Googleサイエンティス...
テンセントテクノロジーニュース(秦島)北京時間8月4日、海外メディアの報道によると、ますます多くの企...
多くのウェブマスターは、ユーザー エクスペリエンスの重要性を理解しています。Baidu の数回のアル...
実験システム環境は、Mac OS X El Capitan 10.11.6 15G1217です。使用...
hostkvm は、複数の ISP/POP に接続され、香港および海外の顧客を対象とした新しい香港 ...
Baidu にはウェブサイトの評価期間があることは誰もが知っていますが、公式には評価期間というものが...
情報共有のスピードが速まるにつれ、ニュース情報サイト、健康・ウェルネス情報サイト、総合情報サイトなど...
zji 香港 cera データセンターの香港サーバーを紹介します。このコンピュータールームの香港サー...
北京、2017 年 11 月 1 日 - Microsoft CEO の Satya Nadella...
Internet of Everything 時代の到来により、ネットワーク エッジ デバイスによっ...