Не удалось запустить сервер payara

Я не могу перезапустить сервер.

Сначала я убил весь процесс и перезапустил сервер. Я получил успешное сообщение, но приложение не работало. Я снова остановился и запустил службу. Теперь система показывает, что на сервере запущен другой процесс, как показано ниже.

[pdpadmin@saclx065 bin]$ killall -9 java
[pdpadmin@saclx065 bin]$ ./asadmin start-domain pdpws
Waiting for pdpws to start ............................................
Successfully started the domain : pdpws
domain  Location: /pdp/payara41/glassfish/domains/pdpws
Log File: /pdp/payara41/glassfish/domains/pdpws/logs/server.log
Admin Port: 9048
Command start-domain executed successfully.
[pdpadmin@saclx065 bin]$ ./asadmin start-domain pdp
Waiting for pdp to start .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
serverNoStart
Command start-domain failed.
[pdpadmin@saclx065 bin]$ ./asadmin start-domain pdpws
There is a process already using the admin port 9048 -- it could be another instance of Payara Server or Payara Micro.
Command start-domain failed.

Можете ли вы помочь мне проверить эту проблему?


person Mysti    schedule 30.07.2017    source источник
comment
при использовании Linux введите netstat -plten | grep 9048, чтобы получить идентификатор процесса и убить его, чтобы освободить порт   -  person Ankur Jyoti Phukan    schedule 30.07.2017
comment
это unix-сервер. я должен использовать ту же команду, чтобы убить?   -  person Mysti    schedule 30.07.2017
comment
я не использовал пайара, я только что дал решение освободить порт ..   -  person Ankur Jyoti Phukan    schedule 30.07.2017
comment
спасибо Анкур. Для unix команда должна выглядеть как ps -aef|grep 9048. Я попробовал это, и выполнение прошло успешно (согласно сообщению, показанному в журнале сервера). но сервер не запущен.   -  person Mysti    schedule 30.07.2017
comment
Это вопрос по программированию? Возможно, вы могли бы получить дополнительную помощь по ServerFault.   -  person Steve    schedule 30.07.2017
comment
да Стив. Я не могу запустить сервер.   -  person Mysti    schedule 30.07.2017


Ответы (4)


Вы запустили два разных домена pdpws и pdp. Если оба домена настроены на использование порта 9048 в качестве порта администратора, их невозможно запустить на одном сервере. Вы должны выбрать другой порт.

Однако вам не следует убивать свой домен с помощью команды killall, а вместо этого закрывать его с помощью ./asadmin stop-domain pdpws и ./asadmin stop-domain pdp. Еще лучше было бы создать сервис-скрипт.

Сервис-скрипт для payara на unix-системе с systemctl можно сделать следующим образом: Создайте файл /usr/lib/systemd/system/payara.service с таким содержимым:

[Unit]
Description=Payara Server
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/opt/payara41/glassfish/bin/asadmin start-domain pdpws
ExecStop=/opt/payara41/glassfish/bin/asadmin stop-domain pdpws

[Install]
WantedBy=multi-user.target

Чем вы можете позвонить:

systemctl start payara
systemctl stop payara
person Dennis Kriechel    schedule 30.07.2017
comment
У меня есть отдельный порт для pdp-›4848 и pdpws-›9048. Должен ли я продолжить это решение тогда? - person Mysti; 30.07.2017
comment
Использование killall для остановки сервера приложений никогда не будет хорошим вариантом, поэтому да, вам следует использовать stop-domain. Если возможно перезапустить весь сервер, это должен быть простой способ освободить ваши порты на данный момент. Тогда всегда используйте stop-domain или restart-domain, и все будет в порядке. Сервисный скрипт — это всего лишь бонус, который вы можете сделать. - person Dennis Kriechel; 30.07.2017
comment
Спасибо Денис. Что касается файла payara.service... должен ли я указать ExceStart и ExecStop так же, как вы указали? Почему я спрашиваю, у меня есть два разных домена, которые подключены к двум разным портам. если я даю только для pdpws, как я могу использовать то же самое для pdp? - person Mysti; 30.07.2017
comment
Я бы посоветовал вам создать два разных сервисных скрипта для обоих доменов. Например, вы можете назвать один payara_pdpws.service, а другой payara_pdp.service. Чем вы можете использовать systemctl start payara_pdpws. В качестве альтернативы вы можете создать bash-скрипт, выполняющий start-domain pdpws, а затем start-domain pdp, и вызвать этот скрипт из вашего служебного скрипта. - person Dennis Kriechel; 30.07.2017
comment
Спасибо Денис! Tpye=forking необходимо, иначе сервер запустится и тут же остановится. - person Pierre C; 08.01.2021

Эта проблема была решена путем перезагрузки приложения. В чем разница между повторным развертыванием, перезапуском и перезагрузкой приложений на сервере?

person Mysti    schedule 02.08.2017

Вот готовый к производству инструмент для запуска, остановки, очистки bash для payara. Обратите внимание, что ваша версия payara существует.. и добавьте этот файл bash -> usr/bin на Centos.... и дайте разрешение на выполнение (chmod a+x /usr/bin/file_name) и право собственности (chown your_user:your_user /usr /bin/имя_файла) для пользователя по умолчанию

#!/bin/bash 

BLACK=$(tput setaf 0)
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
LIME_YELLOW=$(tput setaf 190)
POWDER_BLUE=$(tput setaf 153)
BLUE=$(tput setaf 4)
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
WHITE=$(tput setaf 7)
BRIGHT=$(tput bold)
NORMAL=$(tput sgr0)
BLINK=$(tput blink)
REVERSE=$(tput smso)
UNDERLINE=$(tput smul)





printf "${GREEN}\n\n\n       welcome to TEKILA App commander \n\n"
printf "${GREEN}before start please switch java version with command if requires\n\n" 
printf "${RED}  alternatives --config java \n\n"

printf "\n${YELLOW}     Payara 4.1 (required environment java 1.8)  \n\n"
printf "${MAGENTA} p1     start\n"
printf "${MAGENTA} p2     stop\n"
printf "${MAGENTA} p3     restart\n"
printf "${MAGENTA} p4     start in debug mode\n"
printf "${MAGENTA} p5     restart in debug mode\n"

printf "\n${YELLOW}     Glassfish 3.1 (required environment java 1.7)  \n\n"
printf "${MAGENTA} g1     start\n"
printf "${MAGENTA} g2     stop\n"
printf "${MAGENTA} g3     restart\n"
printf "${MAGENTA} g4     start in debug mode\n"
printf "${MAGENTA} g5     restart in debug mode\n"

printf "\n${YELLOW}     Additional Plugin  \n\n"

printf "${MAGENTA} jk     Kill All Running Java Process \n\n"
printf "${MAGENTA} jkc    Kill All Running Java Process And Clear Payara \n\n"
printf "${MAGENTA} jkcs   Kill All Running Java Process And Clear Payara And Start payara \n\n"
printf "${MAGENTA} clear_payara    Clear Payara -> Generated -> Policy, EJB Timers, JSF, XML, EJB... \n\n"

printf " \n\n ${CYAN}   please enter appropriate command (for exit CTRL+C)${NORMAL} \n\n\n"


read a   

case $a in 

p1 ) printf "\n\n ${YELLOW} Payara Starts...${NORMAL} \n\n" && /opt/payara\ 4.1.2.173/bin/./asadmin start-domain tekila ;;

p2 ) printf "\n\n ${YELLOW} Payara Stops...${NORMAL} \n\n"  && /opt/payara\ 4.1.2.173/bin/./asadmin stop-domain tekila ;;

p3 ) printf "\n\n ${YELLOW} Payara Restarts...${NORMAL} \n\n"  && /opt/payara\ 4.1.2.173/bin/./asadmin restart-domain tekila ;;

p4 ) printf "\n\n ${YELLOW} Payara Starts in debug mode...${NORMAL} \n\n"  && /opt/payara\ 4.1.2.173/bin/./asadmin start-domain --debug tekila ;;

p5 ) printf "\n\n ${YELLOW} Payara Restarts in debug mode...${NORMAL} \n\n"  && /opt/payara\ 4.1.2.173/bin/./asadmin restart-domain --debug tekila ;;

g1 ) printf "\n\n ${YELLOW} Glassfish Starts...${NORMAL} \n\n"  && /opt/gf/glassfish/bin/./asadmin start-domain tekila ;;

g2 ) printf "\n\n ${YELLOW} Glassfish Stops...${NORMAL} \n\n"  && /opt/gf/glassfish/bin/./asadmin stop-domain tekila ;;

g3 ) printf "\n\n ${YELLOW} Glassfish Restarts...${NORMAL} \n\n"  && /opt/gf/glassfish/bin/./asadmin restart-domain tekila ;;

g4 ) printf "\n\n ${YELLOW} Glassfish Starts in debug mode...${NORMAL} \n\n"  && /opt/gf/glassfish/bin/./asadmin start-domain --debug tekila ;;

g5 ) printf "\n\n ${YELLOW} Glassfish Restarts in debug mode...${NORMAL} \n\n"  && /opt/gf/glassfish/bin/./asadmin restart-domain --debug tekila ;;

jk )  printf "\n\n ${YELLOW} Java process is killing ... ${NORMAL} \n\n" &&  kill -9 `lsof -t -c  java`  &&  printf "\n\n ${GREEN} Completed successfully ${NORMAL} \n\n" ;;

jkc ) printf "\n\n ${YELLOW} Java process is killing ... ${NORMAL} \n\n" &&  kill -9 `lsof -t -c  java` && printf "\n\n ${YELLOW} Payara oldly generated ejb, policy, jsf, xml, ejb... is cleaning ... ${NORMAL} \n\n" && rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/osgi-cache/felix/*  &&  rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/applications/tekila-billing-gateway-ear-0.0.1  &&  rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/generated/*  &&  printf "\n\n ${GREEN} Completed successfully ${NORMAL} \n\n" ;;

jkcs ) printf "\n\n ${YELLOW} Java process is killing ... ${NORMAL} \n\n" &&  kill -9 `lsof -t -c  java` && printf "\n\n ${YELLOW} Payara oldly generated ejb, policy, jsf, xml, ejb... is cleaning ... ${NORMAL} \n\n" && rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/osgi-cache/felix/*  &&  rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/applications/tekila-billing-gateway-ear-0.0.1  &&  rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/generated/* && printf "\n\n ${YELLOW} Payara Starts...${NORMAL} \n\n" && /opt/payara\ 4.1.2.173/bin/./asadmin start-domain tekila  &&  printf "\n\n ${GREEN} Completed successfully ${NORMAL} \n\n" ;;

clear_payara )  printf "\n\n ${YELLOW} Payara oldly generated ejb, policy, jsf, xml, ejb... is cleaning ... ${NORMAL} \n\n" && rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/osgi-cache/felix/*  &&  rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/applications/tekila-billing-gateway-ear-0.0.1  &&  rm -rf /opt/payara\ 4.1.2.173/glassfish/domains/tekila/generated/*  &&  printf "\n\n ${GREEN} Completed successfully ${NORMAL} \n\n" ;;

* )  printf "${RED}Please  please read description ${NORMAL}";;

esac  
person Musa    schedule 28.08.2018

Вам следует сосредоточиться на переменной среды JAVA_HOME, но для безопасности я добавлю в папку /etc/systemd/system файл payara.service и настрою службу как Dennis Kriechel сделать с небольшим изменением, чтобы избежать проблем с версией Java

    [Unit] 
    Description=Payara Server 
    After=syslog.target network.target

    [Service] 
    Type=forking

    ExecStart =/opt/jdk1.8.0_211/bin/java -jar /opt/payara5/glassfish/lib/client/appserver-cli.jar start-domain domain_name
    ExecStop = /opt/jdk1.8.0_211/bin/java -jar /opt/payara5/glassfish/lib/client/appserver-cli.jar stop-domain domain_name
    ExecReload=/opt/jdk1.8.0_211/bin/java -jar /opt/payara5/glassfish/lib/client/appserver-cli.jar restart-domain domain_name
    [Install] 

    WantedBy=multi-user.target

источник

person Mohannd    schedule 18.08.2019