0、注意事项
(1)elasticsearch不能用root用户启动,建议最开始就创建一个普通用户;后续wget安装包、安装/配置jdk等都用这个用户,免得后续因为文件权限、拥有者不匹配引发问题。
(2)es7之后对jdk版本有一定要求,例如es7要求jdk版本在11以后才行。如果本机jdk版本不满足也没关系,具体操作的时候本机jdk可以默认不动,/etc/profile里面配置es启用安装包的这个jdk就可以了。
(3)另外值得注意的是最好使用es安装包也有对应的jdk,这个版本是最稳妥的。
1、创建普通用户
首先创建一个root以外的普通用户,如下:
#添加一个用户 useradd shuozhuo #设置密码 passwd shuozhuo 注:我这里设为为Zs+qq
之后所有的操作都用这个用户,除非修改/etc/配置。
2、下载相应安装包
(1)搜索elasticsearch找到官网 这里
(2)点击下载→查看历史版本→选择对应的版本→下载→选择linux_64右键赋值链接
注:我这里下载的是7.14.0版本。
3、下载解压
#下载安装包 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz #解压安装包 tar zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
解压后相应文件如下。
①bin:启动ES服务脚本的目录 ②config:ES配置文件目录,其中常用的就是 elasticsearch.yml 文件 ③data: ES的数据存放目录 ④jdk:ES提供的需要指定的jdk目录。注:建议指定ES就用这个jdk。 ⑤lib:ES依赖的第三方库的目录 ⑥logs:ES的日志目录 ⑦modules:ES各模块目录 ⑧plugins:插件目录,ik分词器之类的应该就是安装在这里。
7.14.0内置的jdk版本为16.0.1,如下:
4、配置环境变量
需要把ES中的JDK配置到JAVA_HOME中;同时在对应的/etc/profile中把路径配置给环境变量ES_JAVA_HOME。
注:ES_JAVA_HOME是ES默认的引用jdk的环境变量,最好配一下。
#注意:我这里的解压包的jdk的路径为 '/home/shuozhuo/elastic/elasticsearch-7.14.0/jdk ' export JAVA_HOME=/home/shuozhuo/elastic/elasticsearch-7.14.0/jdk export ES_JAVA_HOME=/home/shuozhuo/elastic/elasticsearch-7.14.0/jdk export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin #使之生效 source /etc/profile
或者直接 vim /etc/profile 进行编辑也是可以的。
5、启动
#跳转到bin目录下 cd bin #执行启动 ./elasticsearch #后台启动 ./elasticsearch -d #关闭 kill -9 pid
如下:
没有报错刷出一定量的日志应该就是成功了。ps查看也是有进程的。
6、验证是否正常启动
#新开一个终端执行 curl 127.0.0.1:9200 或者 curl localhost:9200 curl http://localhost:9200
出现如下json如下说明es运行是完全正常的。
7、开启远程访问
1、关闭ES 2、vim elasticsearch.yml将其中的network.host修改为如下 network.host: 0.0.0.0
注:0.0.0.0表示允许任何位置的任何ip访问。
之后启动发现出现如下报错。
关于这个错误说明一下。一旦开启外部连接模式ES会默认会以集群的方式启动,对于这个问题我们修改使之单节点启动即可。报错提示的就是缺少默认参数,这个三个默认参数的含义如下。
1 discovery.seed_hosts: 集群主机列表 2 discovery.seed_providers: 基于配置文件配置集群主机列表 3 cluster.initial_master_nodes: 启动时初始化的参与选主的node,生产环境必填
接下来配置单节点模式启动。
#打开配置文件 vim elasticsearch.yml #将其中的如下语句 cluster.initial_master_nodes: ["node-1", "node-2"] 改为 cluster.initial_master_nodes: ["node-1"]
注:其含义是使用一个节点去初始化集群;其中的node-1是节点名称。当前节点默认就是node-1如下。
然后重新启动ES就可以了。
之后在网络配置畅通的情况下在浏览器访问IP:9200应该也是通的,如下就说明ok了。
8、相关问题与报错
①默认启动的ES服务是不允许远程访问的
②默认ES监听的web(Restful)端口是9200,TCP端口是9300。启动日志也可以看到相应记录如下:
③注意启动ES的时候不能使用root用户,否则会有如下报错。
④如果没有权限的话执行会包如下错误
⑤另外还会有些内存不足等问题,直接网上搜一般都能搜出原因。
2、docker安装前言:安装包的方式太复杂了,使用docker更简单。
0、安装docker
1、获取镜像
docker pull elasticsearch:7.14.0
百度“dockerhub” →找到镜像库官网 → 搜索elasticsearch → Tag处搜索目标版本
2、运行ES
docker run -d -p 9200:9200 -p 9300:9300 -e "discover.type=single-node" elasticsearch:7.14.0
①-p:通过外部的宿主机访问容器
②-d:后台运行
③9200:9200:宿主机的9200映射到docker的9200;宿主机的9300映射到docker的9300.
④-e “discoverXXX”: 以单节点启动
3、访问ES
http://ip:9200
二、Kibana的安装 1、源码安装0、注意事项:
① Kibana版本一定要和es版本完全匹配!!!
② Kibana的安装要求es服务运行起来!!
1、ES官网下载对应版本的Kibana 这里
复制如下链接地址,Linux机器下载。
#下载对应版本 wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.0-linux-x86_64.tar.gz #解压缩 tar zxvf kibana-7.14.0-linux-x86_64.tar.gz
2、编辑配置文件
编辑kibana配置文件 vim ./kibana/kibana.yml ;按如下方式修改。
#开启kibana远程访问 server.host: "0.0.0.0" #指定kibana连接本机的es elasticsearch.hosts: ["http://localhost:9200"]
注:我这里也修改了下默认端口。
3、启动kibana
之后到bin目录下执行 ./kibana 启动kibana;如下应该就可以了。
注:可以看到其对应的端口是5601.
4、验证访问与连接
如下图说明kibana启动正常
左侧边栏 Home → Dev Tools →执行默认的语句;如下就是ok的。
2、docker安装类似ES



