服务器配置,三台centos虚拟机,ip列表如下:
192.168.214.139
192.168.214.155
192.168.214.156

elasticsearch安装包自带jdk,有就不用安装java jdk,如果没有请安装
在这里插入图片描述

安装java JDK

下载安装包:jdk-8u192-linux-x64.tar.gz
解压安装包:tar -zxvf jdk-8u192-linux-x64.tar.gz
把解压出来的文件夹移动到/usr/local/下:mv jdk1.8.0_192/ /usr/local/javajdk
输入 指令编辑etc/profile文件:vi /etc/profile
向文本最后添加这几行,第一行需要填写你的javaJDK的路径,我的是/usr/local/javajdk:

export JAVA_HOME=/usr/local/javajdk
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export  PATH=${JAVA_HOME}/bin:$PATH

这个指令是让配置文件立即生效:source /etc/profile
输入java -version能输出信息,就已经成功了
在这里插入图片描述

安装es

下载安装包:elasticsearch-7.11.1.tar.gz
解压安装包:tar -zxvf elasticsearch-7.11.1.tar.gz
把解压出来的文件夹移动到/usr/local/下:mv elasticsearch-7.11.1/ /usr/local/elasticsearch
补齐必要的目录:
  mkdir -p /usr/local/elasticsearch/data

cd /usr/local/elasticsearch

修改配置文件:vi config/elasticsearch.yml
注:
1、cluster.name:必须保持一致
2、node.name:必须唯一,每个节点不同
3、node.master:true 为主机,false为丛机(3节点必须要两个主机)
4、network.host:默认 0.0.0.0 或者本机的ip
5、discovery.zen.ping.unicast.hosts:所有节点ip

#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es
#节点名称
node.name: node-1
#true:代表是主机
node.master: true
#集群主节点信息
cluster.initial_master_nodes: ["node-1"]
#设置索引数据的存储路径
path.data: /usr/local/elasticsearch/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch/logs
#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中
network.host: 0.0.0.0
#注意:这三行代码是固定的
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.214.155","192.168.214.156","192.168.214.139"]

启动es

bin/elasticsearch

解决启动时报错

(1)、因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
具体操作如下:

useradd es
passwd es

再输入两次密码(自定义)
  为用户赋权限

chown -R es:es /usr/local/elasticsearch

然后使用es用户启动 :

su es
cd  /usr/local/elasticsearch

启动es命令:bin/elasticsearch
(2)、在普通用户下启动时报错
1、无法创建本地文件问题,用户最大可创建文件数太小,解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:

vi /etc/security/limits.conf

然后添加如下内容: 注意*不要去掉了

* soft nofile 65536
* hard nofile 131072

注:* 代表Linux所有用户名称(比如 hadoop)
 1、需要保存、退出、重新登录才可生效。
 2、最大虚拟内存太小,解决办法切换到root用户修改配置sysctl.conf:

vi /etc/sysctl.conf 

添加下面配置:
  vm.max_map_count=262144
  最后记得执行:

sysctl -p

然后,重新启动elasticsearch,即可启动成功。
看到这个界面证明已经成功了,可以用浏览器访问ip:9200查看,会下载一个json文件打开如下:
在这里插入图片描述
至此Elasticsearch就安装完成了,当然这只是一台机器,如果有需要还可以搭成集群.

配置es启动脚本

在/etc/init.d目录下新建文件elasticsearch

cd /etc/init.d/
vi elasticsearch
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch

export JAVA_HOME=/usr/local/elasticsearch/jdk
export JAVA_BIN=/usr/local/elasticsearch/jdk/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

case "$1" in
start)
    su es<<!
    cd /usr/local/elasticsearch
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
stop)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    ;;
restart)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    su es<<!
    cd /usr/local/elasticsearch
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac

exit $?

保存退出,并在/etc/init.d/下赋予执行权限

chmod +x elasticsearch

添加到开机启动任务或手动启动

chkconfig --add elasticsearch
service elasticsearch start/stop/restart

开机自动重启…
检测elasticsearch是否自启

ps -ef|grep elasticsearch

谷歌浏览器自带Elasticsearch Head插件

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐