1.root权限问题
在linux下,elasticsearch不可以以root用户权限启动,因此我们在解压文件之后,可以使用ll命令去查看一下其所属的用户和组,如果均为root,那么我们可以添加一个用户和密码(方式在此不赘述),然后使用chmod命令去修改用户和组为普通用户,用该普通用户去启动。
2.java问题
在启动elasticsearch时,可能会出现无法找到Java_Home的问题,原因可能是自己配置的Java文件处于root用户权限才能访问的目录中,且由于es在今后的版本可能只支持java11以上的版本,因此我们最好可以使用es自带的java。
在es目录下,进入bin目录,vim elasticsearch-env对该文件进行修改,然后找到下列代码
可以看到这是一个对JAVA_HOME进行的一个判断,若JAVA_HOME非空则会进行赋值,而我们在安装java时肯定是配置了JAVA_ HOME的环境变量了的,因此他会指向我们自己配置的java目录。
只需要在这前面添加一句代码,利用局部变量覆盖JAVA_HOME,让JAVA_HOME不是我们一开始配置的即可。
JAVA_HOME="$ES_HOME/jdk"
直接指向了es自带的java代码。
3.elasticsearch-head的相关问题
1.我们在成功启动elasticsearch之后,使用elasticsearch-head可能会发现并不能连接elasticsearch,很大概率是缺少了以下两段代码
首先使用cd命令进入elasticsearch的config目录下,vim elasticsearch.yml,在最下面添加以下两行代码。(要注意,:必须为英文,且:与值之间必须有空格)
http.cors.enabled: true
http.cors.allow-origin: "*"
重启一下基本就可以解决。
2.还有一种可能就是没有配置集群的节点,这个问题是可以访问es但其实启动的时候会一直有报错提示,我们vim elasticsearch.yml,看到其中有一个
#node.name: node-1
我们把前面的#去掉即可。
在这里也列出其他需要配置的属性(根据自己的需求自行修改值)
cluster.name: my-application
network.host: 192.168.137.102
cluster.initial_master_nodes: ["node-1"]