1、新建账户
出于安全考虑,elasticsearch默认不允许以root账号运行,所以需要新增账户
创建用户:
useradd es
设置密码:
passwd es
切换用户:
su - es
2、上传安装包
我们将安装包上传到指定目录,比如/home/soft/elasticsearch
,并且完成解压。
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
解压后目录结果如下:
3、修改配置
我们进入config目录:
cd config
需要修改的配置文件有两个:jvm.options、elasticsearch.yml
1、jvm.options
Elasticsearch基于Lucene的,而Lucene底层是java实现,如果有需要可以配置jvm参数。
编辑jvm.options:
vim jvm.options
默认配置如下(可根据服务器内部大小进行修改):
-Xms1g
-Xmx1g
2、elasticsearch.yml
vim elasticsearch.yml
2.1、修改数据和日志目录:
在elasticsearch
解压目录(elasticsearch-7.8.0
)中创建data
与logs
目录
mkdir data -p
mkdir logs-p
配置日志及数据目录
path.data: /home/soft/elasticsearch/elasticsearch-7.8.0/data # 数据目录位置
path.logs: /home/soft/elasticsearch/elasticsearch-7.8.0/logs # 日志目录位置
2.2、修改绑定的ip:
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问
2.3、修改节点绑定:
node.name: node-1
#cluster.initial_master_nodes: ["node-1", "node-2"]
cluster.initial_master_nodes: ["node-1"]
#discovery.seed_hosts: ["host1", "host2"]
discovery.seed_hosts: ["127.0.0.1"]
2.4、允许跨域:
# 在文件最后追加
http.cors.enabled: true
http.cors.allow-origin: "*"
2.5、其他配置说明
elasticsearch.yml的其它可配置信息:
属性名 | 说明 |
---|---|
cluster.name | 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。 |
node.name | 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理 |
path.conf | 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch |
path.data | 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开 |
path.logs | 设置日志文件的存储路径,默认是es根目录下的logs文件夹 |
path.plugins | 设置插件的存放路径,默认是es根目录下的plugins文件夹 |
bootstrap.memory_lock | 设置为true可以锁住ES使用的内存,避免内存进行swap |
network.host | 设置bind_host和publish_host,设置为0.0.0.0允许外网访问 |
http.port | 设置对外服务的http端口,默认为9200。 |
transport.tcp.port | 集群结点之间通信端口 |
discovery.zen.ping.timeout | 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些 |
discovery.zen.minimum_master_nodes | 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2 |
3、启动
进入bin
目录,执行./elasticsearch
# bin目录
cd /home/soft/elasticsearch/elasticsearch-7.8.0/bin
# 窗口启动
./elasticsearch
# 后台启动
./elasticsearch -d -p pid
启动时可以先以窗口启动
方式,如果es启动时没有报错,那么再通过后台启动
;
可以看到绑定了两个端口:
- 9300:集群节点间通讯接口
- 9200:客户端访问接口
我们在浏览器中访问:http://ip:9200/
4、运行可能出现的错误集
错误1:内核过低
如果使用的是centos6,其linux内核版本为2.6。而Elasticsearch的插件要求至少3.5以上版本。不过没关系,我们禁用这个插件即可。
修改elasticsearch.yml
文件,在最下面添加如下配置:
bootstrap.system_call_filter: false
然后重启ES
错误2:文件权限不足- 1
[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决步骤:
1、首先用root用户登录
2、然后修改配置文件:
vim /etc/security/limits.conf
3、添加下面的内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误3:es文件操作权限不足 - 2
错误提示出现:java.nio.file.AccessDeniedException: /usr/local/elk/elasticsearch/config/jvm.options
使用root账户给操作ES的用户赋予elasticsearch下所有文件的权限
# /home/soft/elasticsearch为解压后的路径
chown -R es:es /home/soft/elasticsearch
错误4:线程数不够
错误提示:[1]: max number of threads [1024] for user [es] is too low, increase to at least [4096]
修改配置:
vim /etc/security/limits.d/X-nproc.conf
修改下面的内容:
* soft nproc 1024
改为:
* soft nproc 4096
错误5:进程虚拟内存
错误提示:[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,修改配置文件 :
vim /etc/sysctl.conf
添加下面内容:
vm.max_map_count=655360
然后执行命令:
sysctl -p
重启终端窗口
所有错误修改完毕,一定要重启你的 Xshell终端,否则配置无效。
5、配置开机自启
创建自启文件:
vim /etc/init.d/elasticsearch
内容如下:
脚本执行的用户名为 ‘es’,通过
su es
切换;
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
case "$1" in
start)
su es<<!
cd /home/soft/elasticsearch/elasticsearch-7.8.0/
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su es<<!
cd /home/soft/elasticsearch/elasticsearch-7.8.0/
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
增加执行权限:
chmod +x /etc/init.d/elasticsearch
配置开机启动:
# 添加到系统Service
chkconfig --add elasticsearch
systemctl daemon-reload
# 查看是否添加成功
chkconfig --list
操作:
# 启动
service elasticsearch start
# 关闭
service elasticsearch stop
# 重启
service elasticsearch restart
6、安装I中文K分词器
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
下载的版本需要与es版本
一致;
1、上传文件:
将elasticsearch-analysis-ik-7.8.0.zip
上传到home/soft/elasticsearch/elasticsearch-7.8.0/plugins
目录
2、解压文件:
# 如果unzip命令不存在,则安装:yum install unzip
unzip elasticsearch-analysis-ik-7.8.0.zip -d ik-analyzer
# 解压完成后,删除`elasticsearch-analysis-ik-7.8.0.zip`压缩包
rm elasticsearch-analysis-ik-7.8.0.zip -rf
3、重启:
在安装好IK
分词插件后,需要重启es
# 关闭
service elasticsearch stop
# 启动
service elasticsearch start
4、测试:
使用postMan
工具,发起请求,测试分词是否有效;
首先使用标准分词器
,请求json如下:
{
"analyzer": "standard",
"text": "测试分词器"
}
可以看到,查询出的内容,每个文字都是单独的,不会组成一个
词
;
首先使用IK分词器
,请求json如下:
{
"analyzer": "ik_max_word",
"text": "测试分词器"
}
文章来源:https://www.toymoban.com/news/detail-450962.html
可以看到,查询出的内容,进行了中文形式的
分词
;文章来源地址https://www.toymoban.com/news/detail-450962.html
到了这里,关于Linux搭建elasticsearch-7.8.0单机版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!