下载
到官网下载:https://www.elastic.co/cn/downloads/
选择对应版本的数据,这里我使用的是 Linux 来进行安装,所以就先下载好 ElasticSearch 的 Linux 安装包
Docker容器安装
# 拉取镜像
docker pull moxi/centos_ssh
# 制作容器
docker run --privileged -d -it -h ElasticStack --name ElasticStack -p 11122:22 -p 9200:9200 -p 5601:5601 -p 9300:9300 -v /etc/localtime:/etc/localtime:ro moxi/centos_ssh /usr/sbin/init
单机版安装
ElasticSearch 不支持 root 用户直接操作,因此我们需要创建一个elsearch用户
# 添加新用户
useradd elsearch
# 创建一个soft目录,存放下载的软件
mkdir /soft
# 进入,然后通过xftp工具,将刚刚下载的文件拖动到该目录下
cd /soft
# 解压缩
tar -zxvf elasticsearch-7.9.1-linux-x86_64.tar.gz
#重命名
mv elasticsearch-7.9.1/ elsearch
因为刚刚我们是使用 root 用户操作的,所以我们还需要更改一下 /soft 文件夹的所属,改为 elsearch 用户
chown elsearch:elsearch /soft/ -R
然后在切换成 elsearch 用户进行操作
# 切换用户
su - elsearch
然后我们就可以对我们的配置文件进行修改了
# 进入到 elsearch下的config目录
cd /soft/elsearch/config
然后找到下面的配置文件进行配置
#打开配置文件
vim elasticsearch.yml
#设置ip地址,任意网络均可访问
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["127.0.0.1:9300"]
transport.host: localhost
在 Elasticsearch 中如果network.host 不是 localhost 或者127.0.0.1 的话,就会认为是生产环境,而生产环境的配置要求比较高,我们的测试环境不一定能够满足,一般情况下需要修改两处配置,如下:
# 修改config下的jvm启动参数
vim conf/jvm.options
#根据自己机器情况修改
-Xms128m
-Xmx128m
然后在修改第二处的配置,这个配置要求我们到宿主机器上来进行配置
# 到宿主机上打开文件
vim /etc/sysctl.conf
# 增加这样一条配置,一个进程在VMAs(虚拟内存区域)创建内存映射最大数量
vm.max_map_count=655360
# 让配置生效
sysctl -p
启动ElasticSearch
首先我们需要切换到 elsearch 用户
su - elsearch
然后在到 bin目录下,执行下面
# 进入bin目录
cd /soft/elsearch/bin
# 后台启动
./elasticsearch -d
启动成功后,访问下面的 URL
常见错误
[1]:max file descriptors [4096] for elasticsearch process is too low, increase to at least[65536]
解决方法:切换到 root 用户,编辑 limits.conf 添加如下内容
vi /etc/security/limits.conf
# ElasticSearch添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
参考文章: