如何从 Ubuntu 中删除 Elasticsearch?

Cra*_*hax 8 ubuntu elasticsearch

我想我已经从我的电脑中删除了elasticsearch,但我仍然有一些疑问。

当我输入:

$ service elasticsearch status
Run Code Online (Sandbox Code Playgroud)

我得到:

elasticsearch.service 加载:未找到(原因:没有这样的文件或目录)活动:失败(结果:退出代码)自星期三 2017-08-09 01:08:18 PDT;38 分钟前 Main PID: 73249 (code=exited, status=1/FAILURE)

8 月 9 日 01:08:18 ubuntu elasticsearch[73249]:Java HotSpot(TM) 64 位服务器 VM 警告:信息:os::commit_memory(0x0000000085330000, 2060255232, 0) fai 8 月 9 日:08:19elasticsearch 081 ]: # Aug 09 01:08:18 ubuntu elasticsearch[73249]: # Java 运行时环境的内存不足,无法继续。Aug 09 01:08:18 ubuntu elasticsearch[73249]: # 本机内存分配 (mmap) 未能映射 2060255232 字节以提交保留内存。Aug 09 01:08:18 ubuntu elasticsearch[73249]: # 包含更多信息的错误报告文件保存为:Aug 09 01:08:18 ubuntu elasticsearch[73249]:

/tmp/hs_err_pid73249.log Aug 09 01:08:18 ubuntu systemd[1]:elasticsearch.service:主进程退出,代码=退出,

status=1/FAILURE Aug 09 01:08:18 ubuntu systemd[1]:elasticsearch.service:单元进入失败状态。8 月 9 日 01:08:18 ubuntu systemd[1]:elasticsearch.service:失败,结果为“退出代码”。8 月 9 日 01:12:38 ubuntu systemd[1]:停止 Elasticsearch。

但是,当我输入:

$ service helloworld status 
Run Code Online (Sandbox Code Playgroud)

我得到的东西要短得多:

helloworld.service 加载:未找到(原因:没有这样的文件或

目录)活动:不活动(死)

我已经使用以下命令删除了 Elasticsearch:

sudo apt-get --purge autoremove elasticsearch
Run Code Online (Sandbox Code Playgroud)

它看起来仍然存在elasticsearch。

小智 36

在ubuntu 20.04上,我遇到了类似的问题:我想完全删除elasticsearch 7.15.1并安装以前的版本7.10.1。

我跑:

sudo apt-get remove --purge elasticsearch
Run Code Online (Sandbox Code Playgroud)

消息是:

dpkg: warning: while removing elasticsearch, directory '/var/lib/elasticsearch' not empty so not removed
dpkg: warning: while removing elasticsearch, directory '/etc/elasticsearch' not empty so not removed
Run Code Online (Sandbox Code Playgroud)

所以我删除了这些目录:

sudo rm -rf /etc/elasticsearch
sudo rm -rf /var/lib/elasticsearch
Run Code Online (Sandbox Code Playgroud)

我能够降级,没有任何错误:

sudo apt-get install elasticsearch=7.10.1
sudo systemctl start elasticsearch
curl http://localhost:9200/
Run Code Online (Sandbox Code Playgroud)


Moh*_*OUI 6

看来elasticsearch的启动脚本/etc/init.d/elasticsearch是卸载后留下的。所以,删除它,应该是最后一步。

您也可以尝试使用以下命令查找是否有任何其他遗留脚本、文件或文件夹:

# locate elasticsearch
Run Code Online (Sandbox Code Playgroud)

作为弹性论坛解释,然后删除那些在这里

请注意,要启用locate查看任何地方,您需要以 root 身份启动命令。


ham*_*yat 5

对于卸载 deb 包,您可以使用:

dpkg --purge elasticsearch
Run Code Online (Sandbox Code Playgroud)

或者

apt-get --purge autoremove elasticsearch
Run Code Online (Sandbox Code Playgroud)

如上一个答案中所述,您可以使用locate elasticsearch但在使用updatedb命令之前找到所有与 elasticsearch 相关的文件夹。

# updatedb

# locate elasticsearch
Run Code Online (Sandbox Code Playgroud)

我将列出所有默认的 elasticsearch 路径以获取更多信息。

配置文件:

/etc/elasticsearch/
/etc/default/elasticsearch
Run Code Online (Sandbox Code Playgroud)

基本路径(bins 和 libs 和 ...):

/usr/share/elasticsearch/
Run Code Online (Sandbox Code Playgroud)

数据路径(可以在/etc/elasticsearch/elasticsearch.yml中配置):

/var/lib/elasticsearch
Run Code Online (Sandbox Code Playgroud)

日志路径(可以在/etc/elasticsearch/elasticsearch.yml中配置):

/var/log/elasticsearch/
Run Code Online (Sandbox Code Playgroud)

服务文件:

/etc/init.d/elasticsearch
/etc/systemd/system/multi-user.target.wants/elasticsearch.service
/usr/lib/systemd/system/elasticsearch.service
Run Code Online (Sandbox Code Playgroud)