一、 官网下载地址
二、 选择自己对应的es版本下载,并安装JDK1.8+
三、 下载完成后解压安装包
示例(请将文件名改为自己的安装包名):
tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz
在解压后的文件夹里创建一个data文件夹,一会存数据文件用
mkdir data
目录结构介绍:
bin:可执行文件,运行es的命令
config:配置文件目录
config/elasticsearch.yml:ES启动基础配置
config/jvm.options:ES启动时JVM配置
config/log4j2.properties:ES日志输出配置文件
lib:依赖的jar
logs:日志文件夹
modules:es模块
plugins:可以自己开发的插件
data:我们自己创建的,存放es存储文件
四、 对ES进行一些基础配置,打开config目录(1-5为elasticsearch.yml配置,6为jvm.options配置)
-
配置集群名称(默认是被注释的,并且默认有一个集群名)
es集群名称
-
配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
es节点名称
-
配置存储数据的目录路径(用逗号分隔多个位置)和日志文件路径
存储路径和日志路径
-
绑定地址为特定IP地址(设置0.0.0.0可以让任何人访问到你的es),设置一个http请求端口
绑定地址和端口
-
集群启动时,设置master节点列表(用逗号分隔,目前单机所以只配置了一个),master节点后续会解释
master节点列表
-
配置ES启动JVM参数(谨慎操作,本人买不起内存所以配置一下)
虚拟机基础参数配置
-
记得保存配置
五、 启动ES
- 启动bin目录下的elasticsearch报错(这是ES的一种安全措施,不让用root用户)
[root@localhost bin]# ./elasticsearch
future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_201/jre] does not meet this requirement
[2019-07-11T22:47:02,963][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-7.2.0.jar:7.2.0]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.2.0.jar:7.2.0]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.2.0.jar:7.2.0]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.2.0.jar:7.2.0]
... 6 more
- 创建用户并赋予es安装目录权限
创建一个esroot用户并设置初始密码
useradd -c 'ES user' -d /home/esroot esroot
passwd esroot
将es安装目录属主权限改为esroot用户
chown -R esroot <es安装目录>
切换用户到esroot
su esroot
- 使用esroot用户重启es(咦,又来错,没关系继续)
ERROR: [2] bootstrap checks failed
[1]: initial heap size [268435456] not equal to maximum heap size [524288000]; this can cause resize pauses and prevents mlockall from locking the entire heap
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- 错误解释:
错误1:本文章中第四点第6条中,我的JVM配置的Xms、Xmx不一致,设置为一致即可;
错误2:官方原话如下(意思就是说要设置系统参数vm.max_map_count=262144):
地址为:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode
The vm.max_map_count kernel setting needs to be set to at least 262144 for production use. Depending on your platform:
- Linux
The vm.max_map_count setting should be set permanently in /etc/sysctl.conf:
To apply the setting on a live system type: sysctl -w vm.max_map_count=262144$ grep vm.max_map_count /etc/sysctl.conf
vm.max_map_count=262144
- 切换到root用户下,解决三中的错误二
查看vm.max_map_count属性值,
如果没有添加则在/etc/sysctl.conf文件添加vm.max_map_count = 262144
grep vm.max_map_count /etc/sysctl.conf
或者执行添加临时变量
sysctl -w vm.max_map_count=262144
六、 再次启动ES,然后测试一下,访问http://localhost:9200/
[root@localhost ~]# ./elasticsearch
[root@localhost ~]# curl http://localhost:9200/
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "QqRQ8cMCTAexMVKTTY4PpA",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
后台启动方式加-d,如:./elasticsearch -d
七、 祝学习愉快!
网友评论