我正在学习在Ubuntu 21.04 VPS上安装Magento2的教程。但当我进入安装步骤时(请参阅下面的代码),我收到一个错误,说找不到Elasticsearch的活动节点。
php bin/magento setup:install --base-url=<your-domain> --db-host=localhost --db-name=magento2 --db-user=magento2 --db-password=<your-db-password-of-magento2-user> --admin-firstname=Admin --admin-lastname=Admin --admin-email=admin@admin.com --admin-user=admin --admin-password=<your-admin-password> --language=en_US --currency=USD --timezone=America/Chicago --backend-frontname=admin --use-rewrites=1 --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200
在启动过程之前,Elasticsearch正在正确运行(参见下面的systemctl start elasticsearch.service
输出)
elasticsearch.service-elasticsearch
已加载:已加载(/lib/systemd/system/aelasticsearch.service;已启用;供应商预设:已启用)
活动:自2022-01-11星期二00:36:48 UTC起活动(正在运行);13秒前
文档:
主PID:625(java)
任务:54(限制:2251)
内存:1.2G
C组:/system.schie/elasticsearch.service
|-625/usr/share/aelasticsearch/jdk/bin/java-Xshare:auto-Des.networkaddress.cache.ttl=60-Des.networkaddress.cache.dnegative.ttl=10-XX:+AlwaysPreTouch-Xss1m-Djava.awt.headless=true-Dfile.encod>-1225/usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x8_64/bin/controller
但在运行上述命令后,得到错误并再次检查弹性搜索的状态,我得到以下信息:
elasticsearch.service-elasticsearch
已加载:已加载(/lib/systemd/system/aelasticsearch.service;已启用;供应商预设:已启用)
活动:自2022-01-11星期二00:39:44 UTC以来失败(结果:信号);36秒ago
文档:
进程:625 ExecStart=/usr/share/elasticsearch/bin/systemd入口点-p${PID_DIR}/elasticsearch.PID--quiet(代码=killed,信号=KILL)主PID:625(代码=killed,信号=KILL)
1月11日00:35:39 server1..dmaker.mx systemd1:正在启动Elasticsearch
1月11日00:36:48 server1..dmaker.mx systemd1:已开始弹性搜索
1月11日00:39:44服务器1.dmaker..mx系统1:弹性搜索服务:主进程已退出,代码=已终止,状态=9/KILL
1月11日00:39:44 server1..dmaker.mx systemd1:elasticsearch.service:失败,结果为"signal">
1月11日00:39:44服务器1.dmaker..mx系统1:弹性搜索服务:单元进程1225(控制器)在单元停止后保持运行。
尝试使用systemctl start elasticsearch.service
再次启动服务会产生以下输出:
elasticsearch.service的作业失败,因为传递到控制过程
请参阅"systemctl status elasticsearch.service";以及";journalcl-xe";对于详细信息。
并且journalctl -xe
给出以下输出:
1月11日00:57:21服务器1 dmaker mx内核:[975]121 975
1116649 334 131072 0 gsd共享
1月11月00:57:22服务器1 dmakermx内核:[1003]121 1003
85475 486 147456 0 gsd打印机
一月11日00:57:21服务器一dmakermx内核:[1037]118 1037
61388 763 102400 0colord
1月11日00:57:21 server1 dmaker mx内核:[1088]0 1088
3757 373 65536 0 sshd
01月11日01:57:21 server 1 dmaker mx内核:[1091]121 1091
78788 1139 110592 0 ibus守护进程
08月11日16:57:21 server1 dmaker mx-内核:[1096]121 1096
59417 125 90112 0 ibus-dconf
1月11日00:57:21服务器1 dmaker mx内核:[1099]121 1099
225000 2525 405504 0 ibus-x11
1月11月00:57:20服务器1 dmakermx内核ibus引擎模拟程序
1月11日00:57:21服务器1 dmaker mx内核:[1174]0 1174
3370 245 61440 0登录
月11日01:57:21服务器1 dmaker mx内核:[1199]0 1199
3844 366 69632 0系统d
一月11日00:57:21服务者1 dmaker mx内核:[1200]0 1200
25543 838 94208 0(sd pam)
1月11日00:57:21服务器1 dmaker mx内核:[1206]0 1206
2826 358 53248 0 bash
一月11日00:57:21服务器一dmaker mx内核:[1250]0 1250
282 4 377 57344 0 bash
一月十一日00:57:21服务器一dmakermx内核:[1612]0 1612
3756 371 69632 0 sshd
十二月十一日00:571:21服务器1 dmaker mx内核:[1634]0 1634
2824 374 57344 0 bash
1月11日00:57:21服务器1 dmakern内核:[1642]0 1642
3601 215 57344 0 sudo
11月11日01:57:21服务器1 dmakerne内核:[1643]0 1643
3302 70 61440 0 systemctl
一月11日00:57:21服务器1 dmamaker mx内核:[164]0 1644
3279 146 61440 0系统tty请求
1月11日00:57:21服务器1 dmaker mx内核:[1645]123 1645
908357 296416 2744320 0 0 java
11月11日01:57:21服务器1 dmaker mx内核:[1835]123 1835
22973 144 81920 0控制器内核:oom-kill:constraint=constraint_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.schie/elasticsearch.service,task=java,pid=1645,uid=1231月11日00:57:21服务器1 dmaker mx内核:内存不足:已终止进程1645(java)总计vm:3633428kB,文件rss:0kB,shmem-rss:0kB,UID:123 pgtables:2680kB oom_score_adj:0
1月11日00:57:21 server1 dmaker mx kernel:oom_reaper:reaped进程1645(java),现在为anon rss:0kB,文件rss:0kB、shmem rss:0kB
Jan 11 00:57:21 server1 dmaker mx systemd1:elasticsearch.service:主进程已退出,代码=已终止,status=9/KILL
--主题:单元进程已退出--定义者:systemd--支持:----属于单元elasticsearch.service的ExecStart=进程已退出
--进程的退出代码为"已终止",其退出状态为9.1月11日00:57:21服务器1 dmaker mx系统1:弹性搜索。服务:失败,结果为"signal">
--主题:单元失败--定义人:systemd--支持:----单元elasticsearch.service已进入"失败"状态,结果为"signal">
1月11日00:57:21服务器1 dmaker mx sudo[1642]:pam_unix(sudo:会话):为用户root关闭会话
1月11日00:57:21 server1 dmaker mx systemd入口点[1835]:2022-01-1100:57:21546838 UTC[1835]信息Main.cc@111父进程已死亡-ML控制器退出
1月11日00:57:21服务器1 dmaker mx系统1:弹性搜索服务:单元进程1835(控制器)在单元停止之后保持运行
1月11日00:57:21 server1 dmaker mx systemd1:无法启动Elasticsearch
--主题:单元弹性搜索服务的启动作业失败--定义者:systemd--支持:----单元elasticsearch.service的启动作业已失败
--作业标识符为1329,作业结果为失败。
根据我的调查,这可能与我的VPS内存有关。弹性搜索过程由于内存不足而终止。但在考虑升级服务器之前,我需要完全确定,因为我的提供商会向我收取新升级计划的月费。
我的VPS有2GB的RAM和2个CPU核心。
以下是我解决的方法
首先,使用下面的命令在您的nano编辑器中打开/etc/elasticsearch/aelasticsearch.yml:
sudo nano/etc/elasticsearch/aelasticsearch.yml
您的网络设置应该是:
- 将绑定地址设置为特定的IP(IPv4或IPv6):network.host:127.0.0.1
- 为HTTP:HTTP.port:9200设置自定义端口
为了让Elasticsearch允许从localhost连接,并在9200端口上侦听。
接下来,运行下面的代码来确定错误的原因:
journalctl-xe
你可以在这里看到详细的答案:https://stackoverflow.com/a/58656748