前置工作
查看机器的系统版本号。命令 cat /etc/redhat-release 结果 CentOS Linux release 7.6.1810 (Core)。
查看机器当前的java版本,命令 java -verion 结果 1.8.0_342。
下载es指定版本
笔者惯用7.16,7.16.0下载地址 Elasticsearch 7.16.0 | Elastic。其他版本下载地址 Past Releases of Elastic Stack Software | Elastic。下载到本地后,传到服务器。笔者是上传到/app/es目录。
rz命令或者FTP工具上传压缩包,elasticsearch-7.16.0-linux-x86_64.tar.gz,326M。
下载完成后解压到当前目录,命令 tar -zxvf elasticsearch-7.16.0-linux-x86_64.tar.gz 解压结果如下图
配置与运行
创建es用户并授权,Elasticsearch5.0之后,不能使用root账户启动ES,需要创建一个用户。
useradd es-admin
chown -R es-admin:es-admin /app/es/elasticsearch-7.16.0
此时尝试启动es
可用内存不够了,笔者机器内存比较小。修改下 /elasticsearch-7.16.0/config/jvm.options的配置
启动成功
配置公网IP访问
修改/config/elasticsearch.yml,添加 network.host: 0.0.0.0
看下配置
重新启动es,失败了,逐个解决
1、解决 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]。file descriptor 文件标识符
命令 vim /etc/security/limits.conf 添加两行
* soft nofile 655350
* hard nofile 655350
命令 ulimit -Hn 查看硬限制 会发现数值有4096改成65535
2、解决 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
命令 vim /etc/sysctl.conf , 添加一行 vm.max_map_count=655360
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。编辑 elastic-search.yml,取消注释保留一个节点
cluster.initial_master_nodes: ["node-1"]
改完,重新启动,启动成功
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除