es在linux环境安装遇到问题
1、启动失败日志
ERROR: [1] bootstrap checks failed
[1]: 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
原因分析:
看提示可知:缺少默认配置,至少需要配置discovery.seed_hosts/discovery.seed_providers/cluster.initial_master_nodes中的一个参数.
discovery.seed_hosts: 集群主机列表
discovery.seed_providers: 基于配置文件配置集群主机列表
cluster.initial_master_nodes: 启动时初始化的参与选主的node,生产环境必填
处理办法:修改配置文件,添加参数即可
vim config/elasticsearch.yml
#添加配置
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
2、启动失败日志:
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:
在/etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
执行/sbin/sysctl -p 立即生效
3、启动报错日志
future versions of Elasticsearch will require Java 11; your Java version from [/opt/softs/jdk1.8.0_124/jre] does not meet this requirement
解决方案:可以安装一个JDK11;也可以直接使用es包里面自己的JDK
4、权限问题:
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.2.jar:5.6.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.2.jar:5.6.2]
不能用root用户:
方案一:需要创建新的用户
adduser nandao
passwd nandao
chown -R nandao:nandao /usr/local/elk
chmod 770 /usr/local/
创建后:
方案二:修改elaticsearch配置,使其可以允许root用户启动:
#在执行elasticSearch时加上参数-Des.insecure.allow.root=true,完整命令如下
./elasticsearch -Des.insecure.allow.root=true
#或者 用vi打开elasicsearch执行文件,在变量ES_JAVA_OPTS使用前添加以下命令
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
此方案不一定靠谱,有时候执行也报错:
5、后台运行:
#启动es服务 -d表示后台运行
./elasticsearch -d
然后测试是否成功:
curl 127.0.0.1:9200
6、线上下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-x86_64.tar.gz.sha512
tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz
7、
8、