Два инстанса Sphinx

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Два инстанса Sphinx

Sergey Kobzar-2
Необходимо на сервере запустить 2 инстанса Sphinx'а. Для первого
инстанса все оставил как есть. Для второго
1. Поменял порты (сокеты) в /etc/sphinx/sphinx-test.conf
2. Поменял pid file в /etc/sphinx/sphinx-test.conf
3. Изменил путь к инlексам в /etc/sphinx/sphinx-test.conf
4. Переписал немного rc script:

depend() {
         need net
         use logger
}

checkconfig() {
         if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
                 eerror "Please create /etc/sphinx/sphinx-test.conf"
                 eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                 return 1
         fi
         return 0
}

start() {
         checkconfig || return $?

         ebegin "Starting sphinx searchd"
         start-stop-daemon --start --exec /usr/bin/searchd -- --config
/etc/sphinx/sphinx-test.conf
         eend $? "Failed to start sphinx searchd"
}

stop() {
         ebegin "Stopping sphinx searchd"
         start-stop-daemon --stop --exec /usr/bin/searchd -- --config
/etc/sphinx/sphinx-test.conf
         eend $? "Failed to stop sphinx searchd"

(добавил " -- --config /etc/sphinx/sphinx-test.conf")

Стартуют оба инстанса без проблем, но если делаю /etc/init.d/searchd
stop, то стопаются оба инстанса. Пробовал добавлять --pidfile
/run/searchd-test.pid - безрезультатно.

Any ideas?

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Андрей Буров
Доброго времени суток
Поменяйте в скриптах:
start:
start-stop-daemon --start --make-pidfile --pidfile /var/run/sphinx-test.pid --exec /usr/bin/searchd -- --config /etc/sphinx/sphinx-test.conf

stop:
start-stop-daemon --stop --pidfile /var/run/sphinx-test.pid


6 июня 2013 г., 2:32 пользователь Sergey Kobzar <[hidden email]> написал:
Необходимо на сервере запустить 2 инстанса Sphinx'а. Для первого инстанса все оставил как есть. Для второго
1. Поменял порты (сокеты) в /etc/sphinx/sphinx-test.conf
2. Поменял pid file в /etc/sphinx/sphinx-test.conf
3. Изменил путь к инlексам в /etc/sphinx/sphinx-test.conf
4. Переписал немного rc script:

depend() {
        need net
        use logger
}

checkconfig() {
        if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
                eerror "Please create /etc/sphinx/sphinx-test.conf"
                eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                return 1
        fi
        return 0
}

start() {
        checkconfig || return $?

        ebegin "Starting sphinx searchd"
        start-stop-daemon --start --exec /usr/bin/searchd -- --config /etc/sphinx/sphinx-test.conf
        eend $? "Failed to start sphinx searchd"
}

stop() {
        ebegin "Stopping sphinx searchd"
        start-stop-daemon --stop --exec /usr/bin/searchd -- --config /etc/sphinx/sphinx-test.conf
        eend $? "Failed to stop sphinx searchd"

(добавил " -- --config /etc/sphinx/sphinx-test.conf")

Стартуют оба инстанса без проблем, но если делаю /etc/init.d/searchd stop, то стопаются оба инстанса. Пробовал добавлять --pidfile /run/searchd-test.pid - безрезультатно.

Any ideas?




--
Andrey Burov aka burik666
ICQ: 262631594
http://burik666.org
Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Kobzar-2
On 06/06/13 10:02, Андрей Буров wrote:
> Доброго времени суток
> Поменяйте в скриптах:
> start:
> start-stop-daemon --start --make-pidfile --pidfile
> /var/run/sphinx-test.pid --exec /usr/bin/searchd -- --config
> /etc/sphinx/sphinx-test.conf
>
> stop:
> start-stop-daemon --stop --pidfile /var/run/sphinx-test.pid

Сделал. Все-равно /etc/init.d/searchd stop останавливает 2 процесса.

После старта (запускаются демоны разными скриптами):
21467 ?        S      0:00 /usr/bin/searchd
21468 ?        Sl     0:00 /usr/bin/searchd
21485 ?        S      0:00 /usr/bin/searchd --config
/etc/sphinx/sphinx-test.conf
21486 ?        Sl     0:18 /usr/bin/searchd --config
/etc/sphinx/sphinx-test.conf


Оригинальный скрипт /etc/init.d/searchd:
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/sphinx/files/searchd.rc,v
1.1 2009/11/05 15:41:56 graaff Exp $

depend() {
         need net
         use logger
}

checkconfig() {
         if [ ! -f /etc/sphinx/sphinx.conf ] ; then
                 eerror "Please create /etc/sphinx/sphinx.conf"
                 eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                 return 1
         fi
         return 0
}

start() {
         checkconfig || return $?

         ebegin "Starting sphinx searchd"
         start-stop-daemon --start --exec /usr/bin/searchd
         eend $? "Failed to start sphinx searchd"
}

stop() {
         ebegin "Stopping sphinx searchd"
         start-stop-daemon --stop --exec /usr/bin/searchd
         eend $? "Failed to stop sphinx searchd"
}

Скрипт для второго инстанса /etc/init.d/searchd-test:
#!/sbin/runscript


depend() {
         need net
         use logger
}

checkconfig() {
         if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
                 eerror "Please create /etc/sphinx/sphinx-test.conf"
                 eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                 return 1
         fi
         return 0
}

start() {
         checkconfig || return $?

         ebegin "Starting sphinx searchd"
         start-stop-daemon --start --make-pidfile --pidfile
/run/searchd-test.pid --exec /usr/bin/searchd -- --config
/etc/sphinx/sphinx-test.conf
         eend $? "Failed to start sphinx searchd"
}

stop() {
         ebegin "Stopping sphinx searchd"
         start-stop-daemon --stop --pidfile /run/searchd-test.pid
         eend $? "Failed to stop sphinx searchd"
}


Может первому первому скрпту надо сказат --make-pidfile --pidfile
/run/searchd-test.pid?

Кстати, а зачем --make-pidfile, если демон сам их создает:

# cat /etc/sphinx/sphinx.conf | grep pid
         pid_file        = /run/searchd.pid

# cat /etc/sphinx/sphinx-test.conf | grep pid
         pid_file        = /run/searchd-test.pid

?

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Андрей Буров
Для первого у Вас должно быть
start-stop-daemon --stop --pidfile /run/searchd-first.pid
для второго:
start-stop-daemon --stop --pidfile /run/searchd-second.pid

start-stop-daemon --stop --exec /usr/bin/searchd и должен убивать Все searchd


2013/6/6 Sergey Kobzar <[hidden email]>
On 06/06/13 10:02, Андрей Буров wrote:
Доброго времени суток
Поменяйте в скриптах:
start:
start-stop-daemon --start --make-pidfile --pidfile
/var/run/sphinx-test.pid --exec /usr/bin/searchd -- --config
/etc/sphinx/sphinx-test.conf

stop:
start-stop-daemon --stop --pidfile /var/run/sphinx-test.pid

Сделал. Все-равно /etc/init.d/searchd stop останавливает 2 процесса.

После старта (запускаются демоны разными скриптами):
21467 ?        S      0:00 /usr/bin/searchd
21468 ?        Sl     0:00 /usr/bin/searchd
21485 ?        S      0:00 /usr/bin/searchd --config /etc/sphinx/sphinx-test.conf
21486 ?        Sl     0:18 /usr/bin/searchd --config /etc/sphinx/sphinx-test.conf


Оригинальный скрипт /etc/init.d/searchd:
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/sphinx/files/searchd.rc,v 1.1 2009/11/05 15:41:56 graaff Exp $


depend() {
        need net
        use logger
}

checkconfig() {
        if [ ! -f /etc/sphinx/sphinx.conf ] ; then
                eerror "Please create /etc/sphinx/sphinx.conf"

                eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                return 1
        fi
        return 0
}

start() {
        checkconfig || return $?

        ebegin "Starting sphinx searchd"
        start-stop-daemon --start --exec /usr/bin/searchd
        eend $? "Failed to start sphinx searchd"
}

stop() {
        ebegin "Stopping sphinx searchd"
        start-stop-daemon --stop --exec /usr/bin/searchd
        eend $? "Failed to stop sphinx searchd"
}

Скрипт для второго инстанса /etc/init.d/searchd-test:
#!/sbin/runscript



depend() {
        need net
        use logger
}

checkconfig() {
        if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
                eerror "Please create /etc/sphinx/sphinx-test.conf"
                eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                return 1
        fi
        return 0
}

start() {
        checkconfig || return $?

        ebegin "Starting sphinx searchd"
        start-stop-daemon --start --make-pidfile --pidfile /run/searchd-test.pid --exec /usr/bin/searchd -- --config /etc/sphinx/sphinx-test.conf

        eend $? "Failed to start sphinx searchd"
}

stop() {
        ebegin "Stopping sphinx searchd"
        start-stop-daemon --stop --pidfile /run/searchd-test.pid

        eend $? "Failed to stop sphinx searchd"
}


Может первому первому скрпту надо сказат --make-pidfile --pidfile /run/searchd-test.pid?

Кстати, а зачем --make-pidfile, если демон сам их создает:

# cat /etc/sphinx/sphinx.conf | grep pid
        pid_file        = /run/searchd.pid

# cat /etc/sphinx/sphinx-test.conf | grep pid
        pid_file        = /run/searchd-test.pid

?




--
Andrey Burov aka burik666
ICQ: 262631594
http://burik666.org
Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Popov
06.06.2013 21:23, Андрей Буров пишет:

> Для первого у Вас должно быть
> start-stop-daemon --stop --pidfile /run/searchd-first.pid
> для второго:
> start-stop-daemon --stop --pidfile /run/searchd-second.pid
>
> start-stop-daemon --stop --exec /usr/bin/searchd и должен убивать
> Все searchd
>
>
> 2013/6/6 Sergey Kobzar <[hidden email]
> <mailto:[hidden email]>>
>
>     On 06/06/13 10:02, Андрей Буров wrote:
>
>         Доброго времени суток
>         Поменяйте в скриптах:
>         start:
>         start-stop-daemon --start --make-pidfile --pidfile
>         /var/run/sphinx-test.pid --exec /usr/bin/searchd -- --config
>         /etc/sphinx/sphinx-test.conf
>
>         stop:
>         start-stop-daemon --stop --pidfile /var/run/sphinx-test.pid
>
>
>     Сделал. Все-равно /etc/init.d/searchd stop останавливает 2 процесса.
>
>     После старта (запускаются демоны разными скриптами):
>     21467 ?        S      0:00 /usr/bin/searchd
>     21468 ?        Sl     0:00 /usr/bin/searchd
>     21485 ?        S      0:00 /usr/bin/searchd --config
>     /etc/sphinx/sphinx-test.conf
>     21486 ?        Sl     0:18 /usr/bin/searchd --config
>     /etc/sphinx/sphinx-test.conf
>
>
>     Оригинальный скрипт /etc/init.d/searchd:
>     #!/sbin/runscript
>     # Copyright 1999-2004 Gentoo Foundation
>     # Distributed under the terms of the GNU General Public License v2
>     # $Header:
>     /var/cvsroot/gentoo-x86/app-__misc/sphinx/files/searchd.rc,v 1.1
>     2009/11/05 15:41:56 graaff Exp $
>
>
>     depend() {
>             need net
>             use logger
>     }
>
>     checkconfig() {
>             if [ ! -f /etc/sphinx/sphinx.conf ] ; then
>                     eerror "Please create /etc/sphinx/sphinx.conf"
>
>                     eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
>                     return 1
>             fi
>             return 0
>     }
>
>     start() {
>             checkconfig || return $?
>
>             ebegin "Starting sphinx searchd"
>             start-stop-daemon --start --exec /usr/bin/searchd
>             eend $? "Failed to start sphinx searchd"
>     }
>
>     stop() {
>             ebegin "Stopping sphinx searchd"
>             start-stop-daemon --stop --exec /usr/bin/searchd
>             eend $? "Failed to stop sphinx searchd"
>     }
>
>     Скрипт для второго инстанса /etc/init.d/searchd-test:
>     #!/sbin/runscript
>
>
>
>     depend() {
>             need net
>             use logger
>     }
>
>     checkconfig() {
>             if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
>                     eerror "Please create /etc/sphinx/sphinx-test.conf"
>                     eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
>                     return 1
>             fi
>             return 0
>     }
>
>     start() {
>             checkconfig || return $?
>
>             ebegin "Starting sphinx searchd"
>             start-stop-daemon --start --make-pidfile --pidfile
>     /run/searchd-test.pid --exec /usr/bin/searchd -- --config
>     /etc/sphinx/sphinx-test.conf
>
>             eend $? "Failed to start sphinx searchd"
>     }
>
>     stop() {
>             ebegin "Stopping sphinx searchd"
>             start-stop-daemon --stop --pidfile /run/searchd-test.pid
>
>             eend $? "Failed to stop sphinx searchd"
>     }
>
>
>     Может первому первому скрпту надо сказат --make-pidfile --pidfile
>     /run/searchd-test.pid?
>
>     Кстати, а зачем --make-pidfile, если демон сам их создает:
>
>     # cat /etc/sphinx/sphinx.conf | grep pid
>             pid_file        = /run/searchd.pid
>
>     # cat /etc/sphinx/sphinx-test.conf | grep pid
>             pid_file        = /run/searchd-test.pid
>
>     ?
Извините, что встреваю, но данное действие можно сделать одним
init-скриптом и симлинком на него(оригинальный скрипт, понятное дело
прийдется изменить). conf.d файла нужно будет 2(например sphinx и
sphinx.test, соответственно скрипт будет sphinx а симлинк - sphinx.test.
Разруливать всё это можно будет через переменную ${SVCNAME}). А патч
отправить на bugs.gentoo.org. Если активности в баге особой не будет -
можно будет аккуратно пнуть мэйнтэйнеров. Я поспособствую ;-)

В чем преимущество? В том, что в данной схеме можно будет запустить
3,5,10,сколько_позволит_железо копий sphinx

--
Best regards, Sergey Popov
Gentoo Linux Developer
Desktop-effects project lead


signature.asc (567 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Taz-8

Ага, более того, это типичная для генты практика.

On Jun 6, 2013 10:55 PM, "Sergey Popov" <[hidden email]> wrote:
06.06.2013 21:23, Андрей Буров пишет:
> Для первого у Вас должно быть
> start-stop-daemon --stop --pidfile /run/searchd-first.pid
> для второго:
> start-stop-daemon --stop --pidfile /run/searchd-second.pid
>
> start-stop-daemon --stop --exec /usr/bin/searchd и должен убивать
> Все searchd
>
>
> 2013/6/6 Sergey Kobzar <[hidden email]
> <mailto:[hidden email]>>
>
>     On 06/06/13 10:02, Андрей Буров wrote:
>
>         Доброго времени суток
>         Поменяйте в скриптах:
>         start:
>         start-stop-daemon --start --make-pidfile --pidfile
>         /var/run/sphinx-test.pid --exec /usr/bin/searchd -- --config
>         /etc/sphinx/sphinx-test.conf
>
>         stop:
>         start-stop-daemon --stop --pidfile /var/run/sphinx-test.pid
>
>
>     Сделал. Все-равно /etc/init.d/searchd stop останавливает 2 процесса.
>
>     После старта (запускаются демоны разными скриптами):
>     21467 ?        S      0:00 /usr/bin/searchd
>     21468 ?        Sl     0:00 /usr/bin/searchd
>     21485 ?        S      0:00 /usr/bin/searchd --config
>     /etc/sphinx/sphinx-test.conf
>     21486 ?        Sl     0:18 /usr/bin/searchd --config
>     /etc/sphinx/sphinx-test.conf
>
>
>     Оригинальный скрипт /etc/init.d/searchd:
>     #!/sbin/runscript
>     # Copyright 1999-2004 Gentoo Foundation
>     # Distributed under the terms of the GNU General Public License v2
>     # $Header:
>     /var/cvsroot/gentoo-x86/app-__misc/sphinx/files/searchd.rc,v 1.1
>     2009/11/05 15:41:56 graaff Exp $
>
>
>     depend() {
>             need net
>             use logger
>     }
>
>     checkconfig() {
>             if [ ! -f /etc/sphinx/sphinx.conf ] ; then
>                     eerror "Please create /etc/sphinx/sphinx.conf"
>
>                     eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
>                     return 1
>             fi
>             return 0
>     }
>
>     start() {
>             checkconfig || return $?
>
>             ebegin "Starting sphinx searchd"
>             start-stop-daemon --start --exec /usr/bin/searchd
>             eend $? "Failed to start sphinx searchd"
>     }
>
>     stop() {
>             ebegin "Stopping sphinx searchd"
>             start-stop-daemon --stop --exec /usr/bin/searchd
>             eend $? "Failed to stop sphinx searchd"
>     }
>
>     Скрипт для второго инстанса /etc/init.d/searchd-test:
>     #!/sbin/runscript
>
>
>
>     depend() {
>             need net
>             use logger
>     }
>
>     checkconfig() {
>             if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
>                     eerror "Please create /etc/sphinx/sphinx-test.conf"
>                     eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
>                     return 1
>             fi
>             return 0
>     }
>
>     start() {
>             checkconfig || return $?
>
>             ebegin "Starting sphinx searchd"
>             start-stop-daemon --start --make-pidfile --pidfile
>     /run/searchd-test.pid --exec /usr/bin/searchd -- --config
>     /etc/sphinx/sphinx-test.conf
>
>             eend $? "Failed to start sphinx searchd"
>     }
>
>     stop() {
>             ebegin "Stopping sphinx searchd"
>             start-stop-daemon --stop --pidfile /run/searchd-test.pid
>
>             eend $? "Failed to stop sphinx searchd"
>     }
>
>
>     Может первому первому скрпту надо сказат --make-pidfile --pidfile
>     /run/searchd-test.pid?
>
>     Кстати, а зачем --make-pidfile, если демон сам их создает:
>
>     # cat /etc/sphinx/sphinx.conf | grep pid
>             pid_file        = /run/searchd.pid
>
>     # cat /etc/sphinx/sphinx-test.conf | grep pid
>             pid_file        = /run/searchd-test.pid
>
>     ?

Извините, что встреваю, но данное действие можно сделать одним
init-скриптом и симлинком на него(оригинальный скрипт, понятное дело
прийдется изменить). conf.d файла нужно будет 2(например sphinx и
sphinx.test, соответственно скрипт будет sphinx а симлинк - sphinx.test.
Разруливать всё это можно будет через переменную ${SVCNAME}). А патч
отправить на bugs.gentoo.org. Если активности в баге особой не будет -
можно будет аккуратно пнуть мэйнтэйнеров. Я поспособствую ;-)

В чем преимущество? В том, что в данной схеме можно будет запустить
3,5,10,сколько_позволит_железо копий sphinx

--
Best regards, Sergey Popov
Gentoo Linux Developer
Desktop-effects project lead

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Kobzar-2
In reply to this post by Sergey Popov
On 06/06/13 21:54, Sergey Popov wrote:

> 06.06.2013 21:23, Андрей Буров пишет:
>> Для первого у Вас должно быть
>> start-stop-daemon --stop --pidfile /run/searchd-first.pid
>> для второго:
>> start-stop-daemon --stop --pidfile /run/searchd-second.pid
>>
>> start-stop-daemon --stop --exec /usr/bin/searchd и должен убивать
>> Все searchd
>>
>>
>> 2013/6/6 Sergey Kobzar <[hidden email]
>> <mailto:[hidden email]>>
>>
>>      On 06/06/13 10:02, Андрей Буров wrote:
>>
>>          Доброго времени суток
>>          Поменяйте в скриптах:
>>          start:
>>          start-stop-daemon --start --make-pidfile --pidfile
>>          /var/run/sphinx-test.pid --exec /usr/bin/searchd -- --config
>>          /etc/sphinx/sphinx-test.conf
>>
>>          stop:
>>          start-stop-daemon --stop --pidfile /var/run/sphinx-test.pid
>>
>>
>>      Сделал. Все-равно /etc/init.d/searchd stop останавливает 2 процесса.
>>
>>      После старта (запускаются демоны разными скриптами):
>>      21467 ?        S      0:00 /usr/bin/searchd
>>      21468 ?        Sl     0:00 /usr/bin/searchd
>>      21485 ?        S      0:00 /usr/bin/searchd --config
>>      /etc/sphinx/sphinx-test.conf
>>      21486 ?        Sl     0:18 /usr/bin/searchd --config
>>      /etc/sphinx/sphinx-test.conf
>>
>>
>>      Оригинальный скрипт /etc/init.d/searchd:
>>      #!/sbin/runscript
>>      # Copyright 1999-2004 Gentoo Foundation
>>      # Distributed under the terms of the GNU General Public License v2
>>      # $Header:
>>      /var/cvsroot/gentoo-x86/app-__misc/sphinx/files/searchd.rc,v 1.1
>>      2009/11/05 15:41:56 graaff Exp $
>>
>>
>>      depend() {
>>              need net
>>              use logger
>>      }
>>
>>      checkconfig() {
>>              if [ ! -f /etc/sphinx/sphinx.conf ] ; then
>>                      eerror "Please create /etc/sphinx/sphinx.conf"
>>
>>                      eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
>>                      return 1
>>              fi
>>              return 0
>>      }
>>
>>      start() {
>>              checkconfig || return $?
>>
>>              ebegin "Starting sphinx searchd"
>>              start-stop-daemon --start --exec /usr/bin/searchd
>>              eend $? "Failed to start sphinx searchd"
>>      }
>>
>>      stop() {
>>              ebegin "Stopping sphinx searchd"
>>              start-stop-daemon --stop --exec /usr/bin/searchd
>>              eend $? "Failed to stop sphinx searchd"
>>      }
>>
>>      Скрипт для второго инстанса /etc/init.d/searchd-test:
>>      #!/sbin/runscript
>>
>>
>>
>>      depend() {
>>              need net
>>              use logger
>>      }
>>
>>      checkconfig() {
>>              if [ ! -f /etc/sphinx/sphinx-test.conf ]; then
>>                      eerror "Please create /etc/sphinx/sphinx-test.conf"
>>                      eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
>>                      return 1
>>              fi
>>              return 0
>>      }
>>
>>      start() {
>>              checkconfig || return $?
>>
>>              ebegin "Starting sphinx searchd"
>>              start-stop-daemon --start --make-pidfile --pidfile
>>      /run/searchd-test.pid --exec /usr/bin/searchd -- --config
>>      /etc/sphinx/sphinx-test.conf
>>
>>              eend $? "Failed to start sphinx searchd"
>>      }
>>
>>      stop() {
>>              ebegin "Stopping sphinx searchd"
>>              start-stop-daemon --stop --pidfile /run/searchd-test.pid
>>
>>              eend $? "Failed to stop sphinx searchd"
>>      }
>>
>>
>>      Может первому первому скрпту надо сказат --make-pidfile --pidfile
>>      /run/searchd-test.pid?
>>
>>      Кстати, а зачем --make-pidfile, если демон сам их создает:
>>
>>      # cat /etc/sphinx/sphinx.conf | grep pid
>>              pid_file        = /run/searchd.pid
>>
>>      # cat /etc/sphinx/sphinx-test.conf | grep pid
>>              pid_file        = /run/searchd-test.pid
>>
>>      ?
>
> Извините, что встреваю, но данное действие можно сделать одним
> init-скриптом и симлинком на него(оригинальный скрипт, понятное дело
> прийдется изменить). conf.d файла нужно будет 2(например sphinx и
> sphinx.test, соответственно скрипт будет sphinx а симлинк - sphinx.test.
> Разруливать всё это можно будет через переменную ${SVCNAME}). А патч
> отправить на bugs.gentoo.org. Если активности в баге особой не будет -
> можно будет аккуратно пнуть мэйнтэйнеров. Я поспособствую ;-)
>
> В чем преимущество? В том, что в данной схеме можно будет запустить
> 3,5,10,сколько_позволит_железо копий sphinx
>

Согласен. Только портами, PID'ами и расположением индексов все-таки
удобнее рулить через /etc/sphinx(-*).conf

Держать сущность в 2х и более местах смысла не вижу.

В общем в посижу, разберусь. Посмотри что из этого получится.

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Popov
06.06.2013 23:35, Sergey Kobzar пишет:

> On 06/06/13 21:54, Sergey Popov wrote:
>> Извините, что встреваю, но данное действие можно сделать одним
>> init-скриптом и симлинком на него(оригинальный скрипт, понятное дело
>> прийдется изменить). conf.d файла нужно будет 2(например sphinx и
>> sphinx.test, соответственно скрипт будет sphinx а симлинк - sphinx.test.
>> Разруливать всё это можно будет через переменную ${SVCNAME}). А патч
>> отправить на bugs.gentoo.org. Если активности в баге особой не будет -
>> можно будет аккуратно пнуть мэйнтэйнеров. Я поспособствую ;-)
>>
>> В чем преимущество? В том, что в данной схеме можно будет запустить
>> 3,5,10,сколько_позволит_железо копий sphinx
>>
>
> Согласен. Только портами, PID'ами и расположением индексов все-таки
> удобнее рулить через /etc/sphinx(-*).conf
>
> Держать сущность в 2х и более местах смысла не вижу.
>
> В общем в посижу, разберусь. Посмотри что из этого получится.
>
conf.d можно вообще не использовать и просто в init-скрипте использовать
конфиг /etc/${SVCNAME}.conf или подобный.

Если там действительно много опций - глупо выносить их в conf.d если
можно указать конфиг для загрузки.
--
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop Effects project lead
Gentoo Qt project lead


signature.asc (567 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Popov
07.06.2013 10:22, Sergey Popov пишет:
> Если там действительно много опций - глупо выносить их в conf.d если
> можно указать конфиг для загрузки.
>

Я имел ввиду /etc/sphinx/${SVCNAME}.conf конечно же

--
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop Effects project lead
Gentoo Qt project lead


signature.asc (567 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Kobzar-2
On 06/07/13 09:23, Sergey Popov wrote:
> 07.06.2013 10:22, Sergey Popov пишет:
>> Если там действительно много опций - глупо выносить их в conf.d если
>> можно указать конфиг для загрузки.
>>
>
> Я имел ввиду /etc/sphinx/${SVCNAME}.conf конечно же

Угу. Это я ошибся изначально.
Тестирую. Думаю сегодня будет готово.

Reply | Threaded
Open this post in threaded view
|

Re: Два инстанса Sphinx

Sergey Kobzar-2
On 06/07/13 11:28, Sergey Kobzar wrote:

> Угу. Это я ошибся изначально.
> Тестирую. Думаю сегодня будет готово.

Вот что получилось:

/etc/init.d/searchd:

#!/sbin/runscript



cnffile="/etc/sphinx/sphinx`echo ${SVCNAME} | sed 's/searchd//'`.conf"
command="/usr/bin/searchd"
command_args="--config ${cnffile}"
pidfile="/run/${SVCNAME}.pid"


depend() {
         need net
         use logger
}

checkconfig() {
         if [ ! -f ${cnffile} ]; then
                 eerror "Please create ${cnffile}"
                 eerror "Sample conf: /etc/sphinx/sphinx.conf.dist"
                 return 1
         fi
         return 0
}

start() {
         checkconfig || return $?

         ebegin "Starting sphinx searchd"
         start-stop-daemon --start --pidfile ${pidfile} --exec
${command} -- ${command_args}
         eend $? "Failed to start sphinx searchd"
}

stop() {
         ebegin "Stopping sphinx searchd"
         start-stop-daemon --stop --pidfile ${pidfile} --exec ${command}
--retry 180
         eend $? "Failed to stop sphinx searchd"
}


/etc/logrotate.d/sphinx ротации log-файлов для нескольких инстансов:

/var/log/sphinx/*.log {
         create 644
         missingok
         sharedscripts
         postrotate
                 find /run/ -maxdepth 1 -type f -name 'searchd*' | \
                         while read pidfile; do
                                 kill -USR1 `cat ${pidfile}`
                         done
         endscript
}


Ну и в ebuild добавить что-то типа:

pkg_postinst() {
        einfo "If you want to run multiple Sphinx instances:"
        einfo "- make a link of /etc/init.d/searchd"
        einfo "- create a copy of /etc/sphinx/sphinx.conf with appropriate name"
        einfo "- Change listen, log, query_log, pid_file and binlog_path in new
conf file"
        einfo "- Start new instance using appropriate rc script (link)"
}


если нет существенных замечаний, я выкладываю все это дело на
bugs.gentoo.org.

Reply | Threaded
Open this post in threaded view
|

Re: Два инстанса Sphinx

Sergey Popov
07.06.2013 16:44, Sergey Kobzar пишет:
>
> cnffile="/etc/sphinx/sphinx`echo ${SVCNAME} | sed 's/searchd//'`.conf"

Лучше заменить на

cnffile="/etc/sphinx/sphinx${SVCNAME/searchd/}.conf"

А так, на мой взгляд, всё хорошо :-)

--
Best regards, Sergey Popov
Gentoo Linux Developer
Gentoo Desktop-effects project lead
Gentoo t project lead


signature.asc (567 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Два инстанса Sphinx

Sergey Kobzar-2
On 06/08/13 14:39, Sergey Popov wrote:
> 07.06.2013 16:44, Sergey Kobzar пишет:
>>
>> cnffile="/etc/sphinx/sphinx`echo ${SVCNAME} | sed 's/searchd//'`.conf"
>
> Лучше заменить на
>
> cnffile="/etc/sphinx/sphinx${SVCNAME/searchd/}.conf"

Первый раз такой синтаксис вижу. Это фитча runscript? Где сожно почитать?

>
> А так, на мой взгляд, всё хорошо :-)
>

Спасибо. Открываю баг.

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Голубев Александр
10.06.2013, 02:01, "Sergey Kobzar" <[hidden email]>:
> On 06/08/13 14:39, Sergey Popov wrote:
>
>>  07.06.2013 16:44, Sergey Kobzar пишет:
>>>  cnffile="/etc/sphinx/sphinx`echo ${SVCNAME} | sed 's/searchd//'`.conf"
>>  Лучше заменить на
>>
>>  cnffile="/etc/sphinx/sphinx${SVCNAME/searchd/}.conf"
>
> Первый раз такой синтаксис вижу. Это фитча runscript? Где сожно почитать?
это фича bash'а, соответственно в man'ах и читать...
в init-скриптах это не стоит использовать использовать т.к. они должны быть sh-совместимые... лучше так:
cnffile="/etc/sphinx/sphinx${SVCNAME##searchd.}.conf"

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Kobzar-2
On 06/10/13 04:32, Голубев Александр wrote:

> 10.06.2013, 02:01, "Sergey Kobzar" <[hidden email]>:
>> On 06/08/13 14:39, Sergey Popov wrote:
>>
>>>   07.06.2013 16:44, Sergey Kobzar пишет:
>>>>   cnffile="/etc/sphinx/sphinx`echo ${SVCNAME} | sed 's/searchd//'`.conf"
>>>   Лучше заменить на
>>>
>>>   cnffile="/etc/sphinx/sphinx${SVCNAME/searchd/}.conf"
>>
>> Первый раз такой синтаксис вижу. Это фитча runscript? Где сожно почитать?
> это фича bash'а, соответственно в man'ах и читать...
> в init-скриптах это не стоит использовать использовать т.к. они должны быть sh-совместимые... лучше так:
> cnffile="/etc/sphinx/sphinx${SVCNAME##searchd.}.conf"

Спасибо :)

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Kobzar-2
On 06/10/13 11:20, Sergey Kobzar wrote:

> On 06/10/13 04:32, Голубев Александр wrote:
>> 10.06.2013, 02:01, "Sergey Kobzar" <[hidden email]>:
>>> On 06/08/13 14:39, Sergey Popov wrote:
>>>
>>>>   07.06.2013 16:44, Sergey Kobzar пишет:
>>>>>   cnffile="/etc/sphinx/sphinx`echo ${SVCNAME} | sed
>>>>> 's/searchd//'`.conf"
>>>>   Лучше заменить на
>>>>
>>>>   cnffile="/etc/sphinx/sphinx${SVCNAME/searchd/}.conf"
>>>
>>> Первый раз такой синтаксис вижу. Это фитча runscript? Где сожно
>>> почитать?
>> это фича bash'а, соответственно в man'ах и читать...
>> в init-скриптах это не стоит использовать использовать т.к. они должны
>> быть sh-совместимые... лучше так:
>> cnffile="/etc/sphinx/sphinx${SVCNAME##searchd.}.conf"
>
> Спасибо :)
>
>
> .

Засабмитил: https://bugs.gentoo.org/show_bug.cgi?id=472916.
Посмотрим как быстро мэинтейнер отреагирует...

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Kobzar-2
On 06/10/13 23:29, Sergey Kobzar wrote:

> Засабмитил: https://bugs.gentoo.org/show_bug.cgi?id=472916.
> Посмотрим как быстро мэинтейнер отреагирует...

Можно как-то пнуть мэинтейнера? Или 3 дня это очень короткий срок? :)

Reply | Threaded
Open this post in threaded view
|

Re: [gentoo-user-ru] Два инстанса Sphinx

Sergey Popov
13.06.2013 15:44, Sergey Kobzar пишет:
> On 06/10/13 23:29, Sergey Kobzar wrote:
>
>> Засабмитил: https://bugs.gentoo.org/show_bug.cgi?id=472916.
>> Посмотрим как быстро мэинтейнер отреагирует...
>
> Можно как-то пнуть мэинтейнера? Или 3 дня это очень короткий срок? :)
>

Так как пакет мэйнтэйнится только одним человеком - либо ищи его в IRC
на Freenode(ник graaff, каналы #gentoo-dev-help или #gentoo-ruby -
лучшие вариант его поймать, он рубист :-)), либо пиши ему на мыло(узнать
мыло можно посмотрев поле Assignee в баге)


--
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop-effects project lead
Gentoo Qt project lead


signature.asc (567 bytes) Download Attachment