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