第一步:下载Elasticsearch
进入官方下载 https://www.elastic.co/downloads/elasticsearch
方式1:在CentOS Gone模式下,通过火狐浏览器,选择tar.gz版本下载
方式2:在Windows环境下,使用浏览器访问官方地址下载tar.gz版本。然后通过ftp方式将文件传输到CentOS
第二步:安装
Elasticsearch不支持root启动,所以先创建一个用户
[root@bogon ~]# useradd elastic
[root@bogon ~]# su elastic //切换用户
[elastic@bogon root]$ mv elasticsearch-7.2.1-linux-x86_64.tar.gz /home/elastic/ //将安装文件移动到elastic用户目录下
[elastic@bogon ~]$ cd //切换目录
[elastic@bogon ~]$ tar -zxvf elasticsearch-7.2.1-linux-x86_64.tar.gz //解压文件
第三步:启动
[elastic@bogon ~]$ cd /home/elastic/elasticsearch-7.2.1/bin
[elastic@bogon bin]$ ./elasticsearch -d // -d表示 后台运行,不影响终端进行其他操作
可以通过浏览器访问http://localhost:9200 验证是否启动成功。如果启动成功,则返回JSON格式的数据。如下图:
第四步:修改配置
1、端口号修改
[elastic@bogon ~]$ cd /home/elastic/elasticsearch-7.2.1/config
[elastic@bogon ~]$ vi elasticsearch.yml
找到文件中 #http.port=9200 ,去掉 # 并设置端口号,如 http.prot=9201,设置后对文件进行保存并重启elasticsearch。
2、内网服务器访问控制
[elastic@bogon ~]$ cd /home/elastic/elasticsearch-7.2.1/config
[elastic@bogon ~]$ vi elasticsearch.yml
找到文件中 #network.host=192.168.0.1 ,去掉 # 并设置端口号,如 network.host=192.168.81.132,设置后对文件进行保存并重启elasticsearch。
部署问题汇总:
1、启动时报bootstrap checks failed错误
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方案:
在root账户下修改/etc/security/limits.conf文件
[elastic@bogon ~]$ eixt
[root@bogon ~]$ vi /etc/security/limits.conf
新增如下内容, 其中 “elastic” 为 拥有elasticsearch 启动权限的用户。 elastic 改为 “*”应该表示所有用户(未验证)
elastic hard nofile 65535
elastic soft nofile 65535
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:
在root账户下修改 /etc/sysctl.conf 文件,
在下面添加: vm.max_map_count=262144
执行# sysctl -p
让/etc/sysctl.conf 立即生效
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解决方案:编辑elasticsearch.yml文件,将 #cluster.initial_master_nodes: ["node-1", "node-2"] 修改为 cluster.initial_master_nodes: ["node-1"],设置后对文件进行保存并重启elasticsearch。