MENU

elasticsearch 在ubuntu 安装

May 6, 2019 • Read: 68 • 应用搭建阅读设置

查看java版本

java -version 

下载安装包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz

解压

tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz

修改文件夹权限

chown -R testuser /opt/elasticsearch-7.0.0/

创建新的用户来启动

adduser testuser
passwd testuser
su testuser

启动(用新建用户启动)

cd /opt/elasticsearch-7.0.0/etc
./elasticsearch &

查看是不是通了

curl http://localhost:9200/

有个诡异的问题,如果直接把进程杀掉,会出现起不来的问题,重装可以起来,但是还是外网访问不到,这样就造成了,修改配置文件无法生效,可以继续按照下面的步骤,不重装,直接排错。
(1)删除以前版本的ElasticSearch:

sudo apt-get --purge autoremove elasticsearch

(2) 删掉文件

rm-rf /opt/elasticsearch/

遇到问题:

安装过程中遇到几个个坑,记录一下
安装完成后,直接访问 curl http://localhost:9200 有数据,但是外网不通,我用的aws 的服务器,安全组,防火墙均没有问题,看提示报错,至少打开其中的一个服务 cluster.initial_master_nodes: ["node-1","node-2"] 进/opt/elasticsearch-7.0.0/config/中编辑配置文件elasticsearch.yml

vim /opt/elasticsearch-7.0.0/config/elasticsearch.yml

将其中#cluster.initial_master_nodes: ["node-1","node-2"],前面的#号给去掉,wq保存退出

第二个报错: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决办法:
编辑 /etc/security/limits.conf,追加以下内容;

* soft nofile 65536
* hard nofile 65536

此文件修改后需要重新登录用户,才会生效!!!!!!!!!!!!!!!!!很重要

其余可能出现的问题
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
编辑 /etc/sysctl.conf,追加以下内容:

vm.max_map_count=655360

保存后,执行:

sysctl -p

max number of threads [2048] for user [tongtech] is too low, increase to at least [4096]
错误原因:启动检查未通过

elasticsearch用户的最大线程数太低

解决办法:

vim /etc/security/limits.d/90-nproc.conf

将2048改为4096或更大

扩展

安装中文分词器
这里选择和 elasticsearch 配套的 ik-analyzer ;

/opt/elasticsearch-7.0.0/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.0/elasticsearch-analysis-ik-7.0.0.zip

测试一下

curl -H 'Content-Type: application/json'  -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"ik_max_word","text":"testuser"}'

完美

兼总条贯 知至知终