es的安装可谓是非常的简单,官方文档也就几部。
本文是安装在win上的,因此下载的是zip包(学习目的,win一样的,不要觉得linux就牛,等在win遇到了让你受不了的问题以后,再弄到虚拟机上搞也不晚。)
吐槽一下,官网下载速度真是慢,所以下载了之后还是放u盘或者云盘里,免得一两个小时又没了,科学上网并没有加快下载的速度,也可能我的线路有问题。
下载后解压缩,进入到bin目录,执行elasticsearch.bat文件。
第一次执行的时候报错如下:
可怜我的主机只有4G内存,关闭了大部分应用以后还是没能腾出2g内存,只能找找有没有jvm参数配置了。
config目录下发现jvm.options文件,没错,一定就是它了。
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms2g
-Xmx2g
启动如下:
可以看到分配了一个g的heap size,node name是【gdYpqdb】,我们不显示的进行配置的话,es默认使用uuid来生成。
可以看到启动了两个端口,9200是api接口,9300是es内部集群通信等用途的接口。
我们访问以下localhost:9200
name:节点的名字,刚才有说过
cluster_name:是集群的名字,不显示配置的话默认就是elasticsearch
如果想指定集群和节点的名字,可以在启动的时候带上这样的参数
./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name
效果如下:
名字有什么用?
es的集群全靠这个名字来管理了。同一个cluster_name的node会在同一个集群里。只要保证cluster_name相同,node name不同即可。
补充下linux下安装遇到的问题:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
乍一看就是虚拟内存不够,那么问题就变成如何增加linux主机虚拟内存了。
1.临时修改
sysctl -w vm.max_map_count=262144
查看修改结果
sysctl -a|grep vm.max_map_count
2.永久修改
[root@localhost ~]# cat /etc/sysctl.conf | grep -v "vm.max_map_count" > /tmp/system_sysctl.conf [root@localhost ~]# echo "vm.max_map_count=262144" >> /tmp/system_sysctl.conf [root@localhost ~]# mv /tmp/system_sysctl.conf /etc/sysctl.conf mv:是否覆盖"/etc/sysctl.conf"? y [root@localhost ~]# cat /etc/sysctl.conf # System default settings live in /usr/lib/sysctl.d/00-system.conf. # To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file # # For more information, see sysctl.conf(5) and sysctl.d(5). vm.max_map_count=262144 [root@localhost ~]# sysctl -p vm.max_map_count = 262144