Construir cluster Nacos2.2.0 e proxy reverso OpenResty e configuração de protocolo GRPC com base na plataforma CentOS Stream 9


Preparando o ambiente
ambiente
Pré-requisito de preparação do ambiente:
Instalação do JDK e configuração do ambiente, consulte
Instalação do MySQL e configuração do ambiente, consulte
Instalação do Maven e configuração do ambiente, consulte


Construção de cluster Nacos2.2.0

Ao construir um projeto, você deve corresponder um por um! ! !
版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
ramo 2021
versão do componente


1. Baixar

Site oficial Github:

novo diretório

mkdir /usr/local/nacos-cluster

entrar no diretório

cd /usr/local/nacos-cluster

Baixe
wget online https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.tar.gz


2. Descompacte

Por estar na mesma máquina, um pseudo-cluster, então a porta é alterada,

(1) Descompacte e renomeie para distinguir (você também pode configurar um primeiro e depois copiar duas cópias, basta alterar a porta)

至于为啥没8848,因为集群启动报错,提示8848端口占用....
Quanto ao motivo das configurações de porta serem tão escandalosas, a questão é que a ocupação da porta de configuração oficial tem um deslocamento de 1000± e, em seguida, (principalmente porque não consigo ver qual porta está ocupada e verifiquei, mas não há. .. Metafísica, antes de definir portas seriais como 8840, 8850 e 8860. Quando comecei, relatei um monte de erros. Quase me mandei embora. Fiquei jogando por um longo tempo. Depois, realmente não me reconciliei. Acabei de executar a porta inteira e ela foi executada.) 总结:不要使用连续端口Causado
por: io.grpc.netty.shaded.io.netty.channel.unix.Errors$NativeIoException: bind(…) falhou: Endereço já em uso

tar -zxvf nacos-server-2.2.0.tar.gz 
mv nacos nacos8140

(2)

tar -zxvf nacos-server-2.2.0.tar.gz 
mv nacos nacos8550

(3)

tar -zxvf nacos-server-2.2.0.tar.gz 
mv nacos nacos8960

nacos


3. Modifique a configuração

3.1 Modifique o caminho JDK e o tamanho de inicialização na classe de inicialização, respectivamente

vi /usr/local/nacos-cluster/nacos8140/bin/startup.sh 

:set numberO número da linha pode ser exibido no estado ESC

caminho jdk de 30 linhas
jdk

55 linhas de inicialização padrão do modo de cluster
padrão
93 linhas de tamanho de inicialização, você mesmo pode modificá-lo
mudar

ESC :wq para salvar e sair

Substitua os outros dois por:

cp /usr/local/nacos-cluster/nacos8140/bin/startup.sh /usr/local/nacos-cluster/nacos8550/bin/


cp /usr/local/nacos-cluster/nacos8140/bin/startup.sh /usr/local/nacos-cluster/nacos8960/bin/


3.2 Configurar fontes de dados separadamente

vi /usr/local/nacos-cluster/nacos8140/conf/application.properties
vi /usr/local/nacos-cluster/nacos8550/conf/application.properties
vi /usr/local/nacos-cluster/nacos8960/conf/application.properties

Rever

Sobre a linha 136, altere false para true para ativar o controle de permissão de plano de fundo nacos
136 linhas

#Modify port
server.port=8140
#Remove o #comentário anterior (modificar endereço do banco de dados, nome de usuário do banco de dados, senha)
###Se usar MySQL como fonte de dados:
spring.datasource.platform=mysql
###Contagem de banco de dados:
db. num=1
###Connect URL of DB:
db.url.0=jdbc:mysql://192.168.20.128:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user
. 0=root
db.password.0=123456

3.3 Criar banco de dados nacos

Crie um novo script sql nacosde biblioteca no diretório conf correspondente , coloque-o localmente para criar um banco de dados, execute-o e importe-o para o banco de dados recém-criado Por exemplo: /usr/local/nacos-cluster/nacos8140/conf

sql

banco de dados nacos

3.4 Modifique a configuração do cluster.conf

Basta alterar o arquivo cluster.conf.example no diretório conf para o arquivo cluster.conf
e, em seguida, modificar o endereço do cluster no arquivo

3.4.1 Copie e modifique cluster.conf.example no diretório conf

cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf.example /usr/local/nacos-cluster/nacos8140/conf/cluster.conf

3.4.2 Edite o arquivo e modifique os endereços dos três hosts

vi /usr/local/nacos-cluster/nacos8140/conf/cluster.conf

configuração de ip

ESC :wq para salvar e sair

3.4.3 Coloque-os no diretório conf dos outros dois nacos:

cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf /usr/local/nacos-cluster/nacos8550/conf


cp /usr/local/nacos-cluster/nacos8140/conf/cluster.conf /usr/local/nacos-cluster/nacos8960/conf


4. Inicie o cluster

Lembre-se de abrir a porta ou fechar o firewall diretamente:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
--zone#Scope
--add-port=3306/tcp# Adicione uma porta, o formato é: porta/protocolo de comunicação
--permanent# Terá efeito permanente e falhará após reiniciar sem este parâmetro.
Verifique a porta aberta:
cat / etc/firewalld/zones/public.xml ou pare
diretamente o sistema de firewallctl pare o firewalld desative o firewall permanentemente systemctl desative o firewalld status do firewall systemctl status do firewalld





sh /usr/local/nacos-cluster/nacos8140/bin/startup.sh 
sh /usr/local/nacos-cluster/nacos8550/bin/startup.sh 
sh /usr/local/nacos-cluster/nacos8960/bin/startup.sh 

Você pode visualizar o log de inicialização correspondente:

tail -f /usr/local/nacos-cluster/nacos8140/logs/start.out 

registro

Endereço de acesso: http://IP:port/nacos/
Por exemplo: http://192.168.20.128:8140/nacos/
captura de tela da página inicial do nacos

Comandos relacionados
Sem cluster:
Iniciar sh startup.sh -m autônomo em uma única máquina


Modo de cluster:
use a fonte de dados interna
sh startup.sh -p incorporada
use a fonte de dados externa
sh startup.sh


5. Defina o serviço para iniciar na inicialização

5.1 Crie um roteiro:

vi nacos-cluster.sh

5.2 Adicionar conteúdo:

#!/bin/bash
case $1 in
"start" )
        #echo ========= 启动nacos集群 =========
        #echo ========= 启动nacos8140 =========
        sh /usr/local/nacos-cluster/nacos8140/bin/startup.sh
        #echo ========= 启动nacos8550=========
        sh /usr/local/nacos-cluster/nacos8550/bin/startup.sh
        #echo ========= 启动nacos8960 =========
        sh /usr/local/nacos-cluster/nacos8960/bin/startup.sh
     ;;
     "stop" )
        #echo ========= 停止nacos集群 =========
        #echo========= 停止nacos8140 =========
        /usr/local/nacos-cluster/nacos8140/bin/shutdown.sh
        #echo========= 停止nacos8550=========
        /usr/local/nacos-cluster/nacos8550/bin/shutdown.sh
        #echo ========= 停止nacos8960 =========
        /usr/local/nacos-cluster/nacos8960/bin/shutdown.sh
     ;;
esac

5.3 Empoderamento:

chmod u+x nacos-cluster.sh

O script usa apenas comandos
para iniciar: sh nacos-cluster.sh start
para parar: sh nacos-cluster.sh stop
parar
comece

5.4 Inicialização automática

Prepare-se para configurar um .service e execute este arquivo de script na inicialização para obter o efeito de inicialização automática.
Diretório de script de inicialização do sistema /etc/systemd/system/

Novo arquivo de serviço
vi /etc/systemd/system/nacos-cluster.service
Adicionar conteúdo:
[Unit]
Description=nacos-cluster
After=network.target remote-fs.target nss-lookup.target mysql8.service zookeeper.service kafka.service

[Service]
Type=forking
ExecStart=sh /usr/local/nacos-cluster/nacos-cluster.sh start
ExecStop=sh /usr/local/nacos-cluster/nacos-cluster.sh stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

comece

Pressione ESC :wq para salvar e sair

Fortalecimento:
chmod 754 /etc/systemd/system/nacos-cluster.service
Configure para iniciar automaticamente:
systemctl enable nacos-cluster.service
Configuração de sobrecarga
systemctl daemon-reload
Viabilidade de script de tentativa de reinicialização (reinicialização)

Aguarde um pouco após reiniciar, nacos inicia o tempo chave

 systemctl status nacos-cluster.service

sem problemas


6. OpenResty

Estenda a plataforma web escalável do NGINX usando Lua

Site oficial chinês: http://openresty.org/cn/
Módulos lua suportados: http://openresty.org/cn/components.html
Página de download: http://openresty.org/cn/download.html
Link para download: https://openresty.org/download/openresty-1.21.4.1.tar.gz

6.1 Baixar

cd /usr/local/
yum install -y wget
wget https://openresty.org/download/openresty-1.21.4.1.tar.gz

6.2 Descompressão

tar -zxvf openresty-1.21.4.1.tar.gz

6.3 Entrar no diretório

cd /usr/local/openresty-1.21.4.1

6.4 Execute o comando configure

Diretório de instalação padrão--prefix=/usr/local/openresty

Ambiente Necessário:

yum -y install gcc gcc-c++ perl make kernel-headers kernel-devel

yum -y install pcre-devel

Executando uma ordem:

./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit --with-http_gzip_static_module --with-http_ssl_module

compilar

Executando uma ordem:

make
make install

6.5 Configurar o arquivo nginx.conf ( 后面grpc协议一定要配置)

vi /usr/local/openresty/nginx/conf/nginx.conf

Adicionar conteúdo:

    upstream nacoscluster{
    
    
      server 192.168.20.128:8140;
      server 192.168.20.128:8550;
      server 192.168.20.128:8960;
    }
    server {
    
    
        # post
        listen       8999;
        server_name  localhost;
    location /nacos/{
    
    
        proxy_pass http://nacoscluster/nacos/;
        }
    }

configuração
底部新增nacos的grpc协议配置!!!

Resolva efetivamente o relatório do cluster de conexão do projeto
Causado por: com.alibaba.nacos.api.exception.NacosException: Cliente não conectado, status atual: erro STARTING

# nacos的grpc协议配置
stream {
    
    
    upstream nacoscluster-grpc{
    
    
        # nacos2版本,grpc端口与要比主端口多1000,主端口为8140、8550、8960
        server 192.168.20.128:9140 weight=1;
        server 192.168.20.128:9550 weight=1;
        server 192.168.20.128:9960 weight=1;
        }
    server{
    
    
           listen 9999;
        proxy_pass nacoscluster-grpc;
        }
}


protocolo grpc

ESC :wq espera e sai

cd /usr/local/openresty/nginx/sbin/

comando de início openresty:

./nginx

6.6 Recarregar arquivo de configuração

./nginx -s reload

Endereço de acesso à chamada de serviço: http://192.168.20.128:8999/nacos/
carregar endereço

6.7 Defina o serviço para iniciar automaticamente após a inicialização:

vi /etc/systemd/system/open-resty.service

Adicionar à:

[Unit]
Description=open-resty
After=network.target remote-fs.target nss-lookup.target mysql8.service zookeeper.service kafka.service nacos-cluster.service

[Service]
Type=forking
ExecStart=/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

nginx
ESC :wq para salvar e sair

6.8 Defina a inicialização para iniciar automaticamente:

systemctl enable open-resty.service

inicializar

Registros de comando relevantes:
Desativar inicialização: systemctl desativar open-resty.service
Iniciar serviço: systemctl iniciar open-resty.service
Parar serviço: systemctl parar open-resty.service
Reiniciar serviço: systemctl restart open-resty.service
Exibir status do serviço: systemctl status open-resty.service
Ver todos os serviços iniciados: systemctl list-units --type=service


7. Configuração relacionada ao servidor para evitar erros de conexão nacos

7.1 Preparações

确保localhost和主机名对应Evite erros de conexão nacos

Verifique o nome do host:

hostname

coisini

Você pode modificar o nome do host (lembre-se de reiniciar para entrar em vigor se você modificá-lo reboot):

vi /etc/hostname

Modifique os hosts para corresponder ao localhost e ao nome do host

 vi /etc/hosts

Adicionar à:

127.0.0.1  localhost  coisini

anfitriões
Verifique se 127.0.0.1 é exibido normalmente

hostname -i

127.0.0.1

hostnamectl

Verificar

A implantação está concluída, obrigado por ler ~
FIM


Acho que você gosta

Origin blog.csdn.net/qq_44870331/article/details/129828647
Recomendado
Clasificación