Elasticsearch入门基础-linux安装及解决办法

es7.7需要的jdk最低版本是11,如果机器上默认环境1.7/1.8是无法之间启动的;不过es7.7已经内置了jdk11,所以不用另行下载。

一、下载与安装
1.下载es7.7
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz

2.解压

tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz
二、新建es用户及授权

在启动elasticsearch之前,ES在启动的时候是不允许使用root账户的,所以我们要新建一个用户es。

useradd es
然后把elasticsearch-7.7.0这个目录和目录下所有的文件的拥有者都改成es:

chown es:es -R elasticsearch-7.7.0
三、启动测试

es启动不能用root用户。所以要切换到es用户:

su es
cd名利到/es所在的目录,

cd /es/es7.7
我们启动一下,看看能不能启动成功。

./bin/elasticsearch
可以启动成功。但是我们通过浏览器访问这个ip的9200端口时,是不成功的。我们需要对elasticsearch进行配置,才可以在别的机器上访问成功。

修改配置前需要先杀掉 elasticsearch服务。用以下命令查找进程号

ps -ef | grep elasticsearch
然后kill -9 进程号

四、修改配置、正式启动

es的所有配置文件都在${ES_HOME}/config这个目录下。

配置文件1:elasticsearch.yml文件,配置一下这里边的这几个参数

# ---------------------------------- Cluster ------
cluster.name: cluster-es77
# ------------------------------------ Node ------------------------------------
node.name: node-es77
# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0

//这里修改端口是因为有其他es,默认不需要更改
http.port: 9207
transport.tcp.port: 9307

//es7.7需要修改的配置,发现那些节点,至少要一个
cluster.initial_master_nodes: [“node-es77”]
配置文件2:jvm.options文件,后面添加这两句。配置下分配给他的内存,这里根据自己情况分配,这里只是测试分配的较低。

-Xms1g
-Xmx2g
然后启动es(-d参数意思是后台启动,否则关闭命令行窗口后es进程也关闭了)

./bin/elasticsearch -d
验证Elasticsearch是否运行,方法有几种(假如你的是9200默认端口没有改):

方法一:看进程:ps -ef | grep elastic

方法二:命令行程序curl访问端口 curl http://localhost:9200

方法三:看看9200端口是否使用 ss -tanl

方法四:用浏览器访问 http://******:9200/

五、es部署问题解决

问题1:Elasticsearch requires at least Java 11 but your Java version from XXXX does not meet this requirement”

这个是ES7运行时,而本地JDK为JDK8版本,虽然ES7内置JDK11,但是似乎没有使用,原因呢?

Elasticsearch该版本内置了JDK,而内置的JDK是当前推荐的JDK版本。当然如果你本地配置了JAVA_HOME那么ES就是优先使用配置的JDK启动ES

解决方法:系统默认设置的java_home版本较低。可以使用Elasticsearch 7.7内置的jdk。

在es的bin/elasticsearch文件打开,最前面添加这几句

#配置自己的jdk11
export JAVA_HOME=/es/elasticsearch-7.7.0/jdk
export PATH=JAVA_HOME/bin:$PATH

#添加jdk判断

if [ -x "$JAVA_HOME/bin" ]; then
        JAVA="/es/elasticsearch-7.7.0/jdk/bin/java"
else
        JAVA=`which java`
fi

问题2:could not find java in JAVA_HOME

如如果使用内置jdk提示找不到java,而你确定jdk就是在这个文件夹里。则可能没给es用户附加es安装文件夹权限

chown es:es -R elasticsearch-7.7.0
问题3: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

解决方法1:7以前的版本先按照这里看看https://www.cnblogs.com/weibanggang/p/11591815.html。

解决方法2:如果是7之后的版本,如果还不能解决,请打开elasticsearch.yml

取消注释保留一个节点。这里的node-1是上面一个默认的记得打开就可以了

cluster.initial_master_nodes: [“node-es77”]
————————————————
版权声明:本文为CSDN博主「allenwithallen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wyf86/article/details/106173320/

其他问题1:
elasticsearch之后,启动,通过http://localhost:9200可以访问的到,但是http://ip:9200访问不到,怎么办呢?
解决方法1:
修改elasticsearch-2.3.3\config\elasticsearch.yml文件,并重启
在这里插入图片描述
————————————————
转载地址:https://www.cnblogs.com/dragkiss/p/5613602.html

其他问题2:
elasticsearch启动时遇到的错误,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法2:
切换到root用户

执行命令:

sysctl -w vm.max_map_count=262144

查看结果:

sysctl -a|grep vm.max_map_count

显示:

vm.max_map_count = 262144

上述方法修改之后,如果重启虚拟机将失效,所以:

解决办法:

在 /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

即可永久修改
————————————————
版权声明:本文为CSDN博主「秋天的春」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ffzhihua/article/details/86637397

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值