pgpool-II 2.0.1のインストール in PostgreSQL 8.3.5
PostgreSQL
# : rootユーザ
$ : postgresユーザ
■pgpool-IIのDL / 展開、postgresユーザへの権限付与
DL先 : /usr/local/src/
展開先 : /usr/local/src/pgpool-II-2.0.1/
インスト先 : /usr/local/pgpool2/
# mkdir /usr/local/pgpool2
# chown postgres.postgres -R /usr/local/pgpool2/
# cd /usr/local/src/
# wget http://pgfoundry.org/frs/download.php/1521/pgpool-II-2.0.1.tar.gz
# tar -zxvf pgpool-II-2.0.1.tar.gz
# chown postgres.postgres -R /usr/local/src/pgpool-II-2.0.1/
■pgpool-IIのインストール(実行ユーザ:postgres)
# su - postgres
$ cd /usr/local/src/pgpool-II-2.0.1/
$ ./configure --prefix=/usr/local/pgpool2
$ make
$ make install
参考
* FrontPage - pgpool Wiki(pgpool-II/tutorial - pgpool Wiki)
Permalink | コメント(0) | トラックバック(0) | 15:32 このエントリーを含むブックマーク
レプリケーション in pgpool-II 2.0.1 / PostgreSQL 8.2.5 / CentOs5CommentsAdd StarCommentsAdd StarCommentsAdd Star
PostgreSQL
# : rootユーザ
$ : postgresユーザ
■ネットワークの設定
# vi /etc/hosts
-> 192.168.xxx.xx1 ecshopping-guide1.localdomain ecshopping-guide1
-> 192.168.xxx.xx2 ecshopping-guide2.localdomain ecshopping-guide2
※TAB区切り
hostname:ecshopping-guide1の場合
# vi /etc/sysconfig/network
-> #NETWORKING_IPV6=yes
-> HOSTNAME=ecshopping-guide1.localdomain
■PostgreSQLの設定
$ vi /usr/local/pgsql/data/postgresql.conf
-> listen_addresses = '*'
-> port = 5432 # default
$ vi /usr/local/pgsql/data/pg_hba.conf
-> local all all trust
-> host all postgres 192.168.xxx.0/24 trust
※半角スペース区切り
■pgpool-IIの設定
$ cp -p /usr/local/pgpool2/etc/pgpool.conf.sample /usr/local/pgpool2/etc/pgpool.conf
$ vi /usr/local/pgpool2/etc/pgpool.conf
-> listen_addresses = '*'
-> port = 9999 # default
-> replication_mode = true
-> load_balance_mode = true
-> enable_pool_hba = false # default
-> # データベースノードの設定(hostname:ecshopping-guide1)
-> backend_hostname0 = 'ecshopping-guide1'
-> backend_port0 = 5432
-> backend_weight0 = 1
-> # データベースノードの設定(hostname:ecshopping-guide1)
-> backend_hostname1 = 'ecshopping-guide1'
-> backend_port1 = 5432
-> backend_weight1 = 1
■レプリケーションの確認(pgbenchを使用)
$ cd /usr/local/src/postgresql-8.2.5/contrib/pgbench
$ make
$ make install
$ /usr/local/pgpool2/bin/pgpool -n &
$ /usr/local/pgsql/bin/createdb -p 9999 bench_replication
$ /usr/local/pgsql/bin/pgbench -i -p 9999 bench_replication
データベースノードに設定したサーバのPostgreSQLを確認。
List of databases
Name | Owner | Encoding
-------------------+----------+----------
bench_replication | postgres | UTF8 <- が、各PostgreSQLに追加されているはず
多分、いまは構成はこんなかんじ。
┌─────┐ ┌─────┐ ┌───────────┐
│client ├─┤pgpool-II ├─┬┤PostgreSQL(ecshopping-guide1:5432)│
└─────┘ └─────┘ │└───────────┘
│┌───────────┐
└┤PostgreSQL(ecshopping-guide2:5432)│
└───────────┘
# 最初、レプリケーションされなかったのはPostgreSQLにユーザ作成していなかったから…。
http://www.ecshopping-guide.com
Tuesday, April 28, 2009
ludia 1.5.1 and senna (search fulltext) install and configure for postgresql(ludia とsenna インストールと設定)
LudiaはSennaを使ったPostgresSQL用の組み込み型全文検索インデックスエンジンです。
ダウンロード
下記サイトからダウンロード。
http://sourceforge.jp/projects/ludia/
Mecab、MeCab辞書、Sennaが含まれているludia-withdepsのパッケージをDLします。
インストール
解凍
$tar -zxvf ludia-withdeps-1.5.1.tar.gz
$cd ludia-1.51/deps
MeCabのインストール
分かち書き方式に形態素解析を利用しない場合は、 MeCab(と辞書)をインストールする必要はありません。その場合はSennaのインストールに進んでください。 (MeCabをインストールしない場合はSennaのインストールの際に、 --without-mecabオプションを指定する必要あり)
MeCabをインストールする場合は、アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ tar -zxvf mecab-0.97.tar.gz
$ cd mecab-0.97
$ ./configure --with-charset=utf8
$ make
$ su
# make install
MeCab辞書のインストール
アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ tar -zxvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ su
# make install
Sennaのインストール
アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ tar -zxvf senna-1.13.tar.gz
$ cd senna-1.13
$ ./configure
$ make
$ su
# make install
MeCabをインストールしていない場合には、以下のように --without-mecab オプションの指定が必要
$ ./configure --without-mecab
Ludiaのインストール
アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ ./../../
$ ./configure
$ make
$ su
# make install
pg_configコマンド、senna-cfgコマンドのインストール先にPATHが設定されていない場合、以下のようにそれぞれのpathをconfigureオプションで指定してください。:
$ ./configure --with-pg-config=/usr/local/pgsql/bin/pg_config --with-senna-cfg=/usr/local/bin/senna-cfg
インデックスアクセスメソッドの登録
$ psql -f /usr/share/pgsql/pgsenna2.sql testdb -u
postgreSQLの設定ファイル編集
postgresql.confに下記の設定を追加
custom_variable_classes = 'ludia'
ludia.max_n_sort_result = 10000
ludia.enable_seqscan = on
ludia.seqscan_flags = 1
ludia.sen_index_flags = 31
ludia.max_n_index_cache = 16
ludia.initial_n_segments = 512
インデックスの作成
インデックス作成例:
CREATE INDEX student_fulltext_index_name
ON student
USING fulltext(studentname);
検索クエリ
SELECT * FROM student WHERE studentname %% 'もも';
ダウンロード
下記サイトからダウンロード。
http://sourceforge.jp/projects/ludia/
Mecab、MeCab辞書、Sennaが含まれているludia-withdepsのパッケージをDLします。
インストール
解凍
$tar -zxvf ludia-withdeps-1.5.1.tar.gz
$cd ludia-1.51/deps
MeCabのインストール
分かち書き方式に形態素解析を利用しない場合は、 MeCab(と辞書)をインストールする必要はありません。その場合はSennaのインストールに進んでください。 (MeCabをインストールしない場合はSennaのインストールの際に、 --without-mecabオプションを指定する必要あり)
MeCabをインストールする場合は、アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ tar -zxvf mecab-0.97.tar.gz
$ cd mecab-0.97
$ ./configure --with-charset=utf8
$ make
$ su
# make install
MeCab辞書のインストール
アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ tar -zxvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ su
# make install
Sennaのインストール
アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ tar -zxvf senna-1.13.tar.gz
$ cd senna-1.13
$ ./configure
$ make
$ su
# make install
MeCabをインストールしていない場合には、以下のように --without-mecab オプションの指定が必要
$ ./configure --without-mecab
Ludiaのインストール
アーカイブを展開し、以下の要領でビルドとインストールを行います。:
$ ./../../
$ ./configure
$ make
$ su
# make install
pg_configコマンド、senna-cfgコマンドのインストール先にPATHが設定されていない場合、以下のようにそれぞれのpathをconfigureオプションで指定してください。:
$ ./configure --with-pg-config=/usr/local/pgsql/bin/pg_config --with-senna-cfg=/usr/local/bin/senna-cfg
インデックスアクセスメソッドの登録
$ psql -f /usr/share/pgsql/pgsenna2.sql testdb -u
postgreSQLの設定ファイル編集
postgresql.confに下記の設定を追加
custom_variable_classes = 'ludia'
ludia.max_n_sort_result = 10000
ludia.enable_seqscan = on
ludia.seqscan_flags = 1
ludia.sen_index_flags = 31
ludia.max_n_index_cache = 16
ludia.initial_n_segments = 512
インデックスの作成
インデックス作成例:
CREATE INDEX student_fulltext_index_name
ON student
USING fulltext(studentname);
検索クエリ
SELECT * FROM student WHERE studentname %% 'もも';
Subscribe to:
Posts (Atom)