Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 03/12/2010 23:17:09
- BouananiMeher
- Membre
Pgpool-II + postgresql 8.4 problem de configuration
Bonjour,
Je suis en deuxiéme année de formation d'ingénieur en informatique, et lâ j'ai mini-projet dans lequel je dois mettre en oeuvre la replication ansi que la mise en place d'un cluster postgresql avec la haute disponiblité , donc j'ai commencé par replcation , comme solution j'ai choisie alors pgpool-II , mon serveur sql est pgsql-8.4 je suis sur Centos-OS-5 , bon j'ai essayé de suivre le tutoriel présenté sur ce lien http://www.dalibo.org/hs44_pgpool_le_pooler_multitache , pgpool-II et postgresql sont installé sur les deux machines , bon j'ai commencé la configuration sur tous les machines et tous se passe parfaitement et pgpool se lance , et j'ai lancé cette cmd : ps axf | grep pgpool >
6917 pts/1 S+ 0:00 \_ pgpool: wait for connection request .... mais kand j'esasye cette commande : psql -p 9999 b1 le serveur refuse de se connecter il ne se connecte que sur le 5432 , et quand je reverifie la liste des processus de pgpool avec ps axf | grep pgpool toujours le même etat 6917 pts/1 S+ 0:00 \_ pgpool: wait for connection request .... je me demande si vous pouvez m'aider pour trouver le defaut de configuration que j'ia fais . et merci d'avance .
Hors ligne
#2 04/12/2010 01:45:54
- gleu
- Administrateur
Re : Pgpool-II + postgresql 8.4 problem de configuration
Quel est le message d'erreur de psql ?
Guillaume.
Hors ligne
#3 04/12/2010 13:28:14
- BouananiMeher
- Membre
Re : Pgpool-II + postgresql 8.4 problem de configuration
Merci gleu de votre reponse voila le message d'erreur :
psql -p 9999 b1
>>>> psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.9999"?
alors que pgpool est belle et bien démarer : 6917 pts/1 S+ 0:00 \_ pgpool: wait for connection request ...
par contre quand je change le num "9999" par "5432" j'arrive a me connecter a pgsql mais l'etat "pgpool: wait for connection request ... " de pgpool ne change pas et c'est lâ que je n'arrive pas a comprendre ou est ce qu'elle est l'erreur .
Hors ligne
#4 04/12/2010 13:32:34
- Marc Cousin
- Membre
Re : Pgpool-II + postgresql 8.4 problem de configuration
Oui, mais vous avez du paramétrer, dans la configuration de pgpool, un répertoire pour les sockets («socket_dir»)
À mon avis, il ne vaut pas /tmp.
Essayez en passant à psql l'option -h, et en mettant en -h le répertoire que vous avez positionné en socket_dir.
«psql -h /var/tmp/pgpool -p 9999 b1» ,par exemple
Ou alors connectez vous par une socket IP au lieu d'une socket Unix :
«psql -h localhost -p 9999 b1»
Dernière modification par Marc Cousin (04/12/2010 13:33:28)
Marc.
Hors ligne
#5 04/12/2010 14:11:13
- BouananiMeher
- Membre
Re : Pgpool-II + postgresql 8.4 problem de configuration
Merci pour votre reponse Marc , dans le fichier pgpool.conf "socket_dir = '\tmp' " et malheureusement ca marcha pas encore sauf que lâ j'ai d'autre message d'erreur :
> psql -h /tmp/ -p 9999 projop
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp//.s.PGSQL.9999"?
'' alors que le dossier /tmp existe et c'est dans ce dossier que je trouve le fichier pgpool.log"
Aussi quand j'essaye cette cmd :
> psql -h localhost -p 9999 projop
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Hors ligne
#6 04/12/2010 14:13:44
- BouananiMeher
- Membre
Re : Pgpool-II + postgresql 8.4 problem de configuration
Pour que trouvez plus de flexibilité a m'aider a trouver le bug voila le fichier pgpool.conf :
#
# pgpool-II configuration file sample
# $Header: /cvsroot/pgpool/pgpool-II/pgpool.conf.sample,v 1.26 2009/02/15 05:26:28 t-ishii Exp $
# Host name or IP address to listen on: '*' for all, '' for no TCP/IP
# connections
listen_addresses = '*'
# Port number for pgpool
port = 9999
# Port number for pgpool communication manager
pcp_port = 9898
# Unix domain socket path. (The Debian package defaults to
# /var/run/postgresql.)
socket_dir = '/tmp'
# Unix domain socket path for pgpool communication manager.
# (Debian package defaults to /var/run/postgresql)
pcp_socket_dir = '/tmp'
# Unix domain socket path for the backend. Debian package defaults to /var/run/postgresql!
backend_socket_dir = '/var/run/postgresql'
# pgpool communication manager timeout. 0 means no timeout, but strongly not recommended!
pcp_timeout = 10
# number of pre-forked child process
num_init_children = 32
# Number of connection pools allowed for a child process
max_pool = 4
# If idle for this many seconds, child exits. 0 means no timeout.
child_life_time = 300
# If idle for this many seconds, connection to PostgreSQL closes.
# 0 means no timeout.
connection_life_time = 0
# If child_max_connections connections were received, child exits.
# 0 means no exit.
child_max_connections = 0
# If client_idle_limit is n (n > 0), the client is forced to be
# disconnected whenever after n seconds idle (even inside an explicit
# transactions!)
# 0 means no disconnect.
client_idle_limit = 0
# Maximum time in seconds to complete client authentication.
# 0 means no timeout.
authentication_timeout = 60
# Logging directory
logdir = '/tmp'
# pid file name
pid_file_name = '/var/run/pgpool/pgpool.pid'
# Replication mode
replication_mode = true
# Load balancing mode, i.e., all SELECTs are load balanced.
# This is ignored if replication_mode is false.
load_balance_mode = false
# if there's a data mismatch between master and secondary
# start degeneration to stop replication mode
replication_stop_on_mismatch = false
# If true, replicate SELECT statement when load balancing is disabled.
# If false, it is only sent to the master node.
replicate_select = true
# Semicolon separated list of queries to be issued at the end of a session
reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
# for 8.3 or newer PostgreSQL versions DISCARD ALL can be used as
# follows. However beware that DISCARD ALL holds exclusive lock on
# pg_listener so it will be a serious performance problem if there are
# lots of concurrent sessions.
# reset_query_list = 'ABORT; DISCARD ALL'
# If true print timestamp on each log line.
print_timestamp = true
# If true, operate in master/slave mode.
master_slave_mode = false
# If true, cache connection pool.
connection_cache = true
# Health check timeout. 0 means no timeout.
health_check_timeout = 20
# Health check period. 0 means no health check.
health_check_period = 0
# Health check user
health_check_user = 'nobody'
# Execute command by failover.
# special values: %d = node id
# %h = host name
# %p = port number
# %D = database cluster path
# %m = new master node id
# %M = old master node id
# %% = '%' character
#
failover_command = ''
# Execute command by failback.
# special values: %d = node id
# %h = host name
# %p = port number
# %D = database cluster path
# %m = new master node id
# %M = old master node id
# %% = '%' character
#
failback_command = ''
# If true, automatically locks a table with INSERT statements to keep
# SERIAL data consistency. If the data does not have SERIAL data
# type, no lock will be issued. An /*INSERT LOCK*/ comment has the
# same effect. A /NO INSERT LOCK*/ comment disables the effect.
insert_lock = true
# If true, ignore leading white spaces of each query while pgpool judges
# whether the query is a SELECT so that it can be load balanced. This
# is useful for certain APIs such as DBI/DBD which is known to adding an
# extra leading white space.
ignore_leading_white_space = true
# If true, print all statements to the log. Like the log_statement option
# to PostgreSQL, this allows for observing queries without engaging in full
# debugging.
log_statement = false
# If true, incoming connections will be printed to the log.
log_connections = true
# If true, hostname will be shown in ps status. Also shown in
# connection log if log_connections = true.
# Be warned that this feature will add overhead to look up hostname.
log_hostname = false
# if non 0, run in parallel query mode
parallel_mode = false
# if non 0, use query cache
enable_query_cache = false
#set pgpool2 hostname
pgpool2_hostname = ''
# system DB info
system_db_hostname = 'localhost'
system_db_port = 5432
system_db_dbname = 'pgpool'
system_db_schema = 'pgpool_catalog'
system_db_user = 'pgpool'
system_db_password = ''
# backend_hostname, backend_port, backend_weight
# here are examples
backend_hostname0 = 'localhost'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/web/projop/postgresql-data'
#backend_hostname1 = 'host2'
#backend_port1 = 5433
#backend_weight1 = 1
#backend_data_directory1 = '/data1'
# - HBA -
# If true, use pool_hba.conf for client authentication. In pgpool-II
# 1.1, the default value is false. The default value will be true in
# 1.2.
enable_pool_hba = false
# - online recovery -
# online recovery user
recovery_user = 'nobody'
# online recovery password
recovery_password = ''
# execute a command in first stage.
recovery_1st_stage_command = ''
# execute a command in second stage.
recovery_2nd_stage_command = ''
# maximum time in seconds to wait for the recovering node's postmaster
# start-up. 0 means no wait.
# this is also used as a timer waiting for clients disconnected before
# starting 2nd stage
recovery_timeout = 90
# If client_idle_limit_in_recovery is n (n > 0), the client is forced
# to be disconnected whenever after n seconds idle (even inside an
# explicit transactions!) 0 means no disconnect. This parameter only
# takes effect in recovery 2nd stage.
client_idle_limit_in_recovery = 0
Hors ligne
#7 04/12/2010 14:49:29
- gleu
- Administrateur
Re : Pgpool-II + postgresql 8.4 problem de configuration
Que se passe-t-il quand vous faites :
psql -h 127.0.0.1 -p 5432 postgres
et que se passe-t-il quand vous faites :
psql -h 127.0.0.1 -p 9999 postgres
Guillaume.
Hors ligne
#8 04/12/2010 15:07:26
- BouananiMeher
- Membre
Re : Pgpool-II + postgresql 8.4 problem de configuration
psql -h 127.0.0.1 -p 5432 projop
-----> 1 : psql: FATAL: Ident authentication failed for user "projop" (alors que déjà quand je teste mon application qui utilise "projop" comme user pour se connecter sur une base existante nommée aussi "projop" , je peut consulter tous les données dans ma base )
------> 2 pgpool : aucun message
psql -h 127.0.0.1 -p 9999 projop (là c'est un peut différent )
------> 1- psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
------> 2- pgpool answer
2010-12-04 14:05:46 LOG: pid 3641: connection received: host=127.0.0.1 port=39753
2010-12-04 14:05:46 LOG: pid 3641: pool_do_auth: maybe protocol version mismatch (current version 3)
Hors ligne
#9 04/12/2010 20:08:40
- gleu
- Administrateur
Re : Pgpool-II + postgresql 8.4 problem de configuration
Apparemment, PostgreSQL est en version 8.4. Quelle est la version de pgPool ?
D'autre part, tant que "psql -h 127.0.0.1 -p 5432 projop" ne permettra pas de se connecter sans problème, alors vous aurez des soucis avec pgpool.
Guillaume.
Hors ligne
#10 05/12/2010 17:44:52
- BouananiMeher
- Membre
Re : Pgpool-II + postgresql 8.4 problem de configuration
Voila je crois que les problèmes que j'ai sont avec Pgpool , bon la version de Pgpool que j’utilise est pgpool-II-2.2 pour la version de PostgreSQL 8.4 .
j'ai passé toute la nuit hier pour la réinstallation de tous les outils de nouveaux mais encore le même problème .
Hors ligne