Elasticsearch安装
Elasticsearch安装
# Elasticsearch安装
# liunx 安装
# 下载
登录你的服务器,作者在这里准备了一台云服务器,创建一个目录,将Elasticsearch
下载到你的服务器上。
# 创建目录 es
mkdir es
# 进入es目录
cd /es
# 下载es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
2
3
4
5
6
如下图,正在进行下载。可能会有点慢。
# 减压
下载完成后,在你的es
目录下会有一个压缩包elasticsearch-7.8.0-linux-x86_64.tar.gz
,如下图
我们执行下面的这条命令进行减压,减压处理啊一个文件夹elasticsearch-7.8.0
。
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
进入到elasticsearch-7.8.0
我们看一下目录结构
目录介绍:
- bin:该目录放置的是一些操作
Elasticsearch
的脚本文件,包括启动脚本文件- config:这个目录下有一个很重要的文件
elasticsearch.yml
,这个是配置es
的文件,后面我们配置集群就是在这文件中进行的- jdk:
elasticsearch
自带的jdk- lib:
elasticsearch
依赖的一些jar
包- logs: 日志文件存放的目录
- modules:模块库
- plugins:存放插件的目录,后面我们用到的插件直接放在这个目录下就好了
# 启动
正常情况下我们只需要进入到bin
目录下,执行如下命令,一个es
节点就启动成功了,但是如果你是一台新的服务器,就会遇到很多问题。
sh elasticsearch
# JDk
版本问题
上面这条命令输入以后,首先报的错误就是jdk
的版本问题。因为作者使用的是es
最新的版本7.8的版本,这个版本默认的jdk
是11,因为作者服务器上的版本的1.8的jdk
,所以会报如下的错误:
future versions of Elasticsearch will require Java 11; your Java version from [/usr/lib/jvm/java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64] does not meet this requirement
问题搞明白了后,我们就需要在服务器上安装JDK11
,具体安装步骤如下:
删除服务器上的
JDk1.8
,找到你的jdk
安装的路径,执行如下的命令,查找安装目录# 查找jdk rpm -qa|grep jdk # 卸载 yum -y remove java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64 # 验证 java -version
1
2
3
4
5
6搜索
JDK11
,执行如下命令,可以看到搜索的结果# 搜索JDK11 yum search java-11-openjdk
1
2
安装
JDK11
,执行如下命令进行安装# 安装 yum install java-11-openjdk-headless.x86_64
1
2验证
java -version #输出如下,说明安装成功 openjdk version "11.0.8" 2020-07-14 LTS OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
1
2
3
4
5# 配置环境变量
编辑
profile
文件,# 编辑文件 vi /etc/profile
1
2配置如下信息
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH
1
2
3
4
5或者使用
es
自带的jdk
,下面我们来配置一下,进入到/bin目录下找到elasticsearch-env
找到JAVA
编辑配置如下内容JAVA =/es/elasticsearch-7.8.0/jdk/bin/java JAVA_TYPE="JAVA_HOME"
1
2由于是在执行
sh elasticsearch
命令还是会报错,所以我们需要创建一个新的用户
# 创建用户
有以上的问题可以知道,es
是不允许使用root
用户进行启动的,因此我们需要创建一个普通的用户
#添加用户 triumphxx
useradd triumphxx
#设置密码 根据提示输入俩次密码
passwd triumphxx123
#设置用户权限
visudo
#添加如下内容,在root ALL=(ALL) ALL 下面增加新用户的信息
triumphxx ALL=(ALL) ALL
2
3
4
5
6
7
8
# 更改文件权限
chown -R triumphxx:triumphxx elasticsearch-7.8.0
# 继续启动
# 切换用户到triumphxx
su triumphxx
# 启动
sh elasticsearch
2
3
4
根据输出的日志我们还需要修改如下的配置文件/elasticsearch-7.8.0/bin/elasticsearch-env
,/etc/sysctl.conf
,/elasticsearch-7.8.0/config/jvm.options
,/elasticsearch-7.8.0/config/elasticsearch.yml
根据启动es
启动的报错日志,我们需要修改文件lasticsearch-env
的俩个符号问题
把 done < (env) 修改改为 done <<< 'env'
修改jvm.options
文件中的内容如下
# 原来的1g
-Xms1g
-Xmx1g
# 修改为256m
-Xms256m
-Xmx256m
2
3
4
5
6
在ysctl.conf
文件中添加如下内容
vm.max_map_count = 262144
以及需要创建的俩个目录:/path/to/data
,/path/to/logs
,这俩个目录的配置是在elasticsearch.yml
文件中,如下:
# 数据目录
path.data: /path/to/data
# 日志目录
path.logs: /path/to/logs
2
3
4
创建完成后,我们需要切换到root
用户下将目录的权限授权给启动es
的用户triumphxx
,执行如下俩条命令进行授权
chown -R triumphxx:triumphxx /path/to/data/
chown -R triumphxx:triumphxx /path/to/logs/
2
以上这些配置小伙伴们不必担心不会配置,因为在你启动
es
的时候,日志里都会进行详细的说明,只要大家,按着提示找到对应的文件进行修改添加配置即可。
# 验证
查看es
输出的日志,有如下内容,说明启动成功
# 访问
在浏览器输入ip:端口
输出如下内容,说明我们的es
已经完全启动起来了
{
"name" : "node-1",
"cluster_name" : "es",
"cluster_uuid" : "P2_t8-aPS_iB_7trNLztMg",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# mac os 安装
mac
安装是基于docker
来进行安装。如果小伙伴们没有docker
需要先行安装docker
,
docker安装教程
由于docker
默认的的镜像仓库是国外的,受网络限制,所以小伙伴们,可以去注册一个
国内的镜像仓库 网易云镜像仓库->点击前往
找到镜像中心,搜索你要下载的镜像进行复制镜像地址,进行下载。
到你的终端执行如下命令,进行下载
# 下载镜像
docker pull hub.c.163.com/library/elasticsearch:latest
2
看到如下,内容表示,镜像已经下载完成
查看你的镜像,执行如下命令,可以看到我们的本地镜像仓库,已经有了es
的镜像
docker images
# 启动
执行如下命令进行启动,具体命令参数就不多说了,前面的docker
系列文章有介绍,大家可以去一下
docker run -d -p9200:9200 hub.c.163.com/library/elasticsearch
# 验证
在浏览器输入http://localhost:9200/
,返回如下内容,表示启动成功
{
"name" : "v9Lxequ",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "7tziSgTMROaSHHu3X_ozIA",
"version" : {
"number" : "5.5.2",
"build_hash" : "b2f0c09",
"build_date" : "2017-08-14T12:33:14.154Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
2
3
4
5
6
7
8
9
10
11
12
13
# 小结
好啦,小伙伴们,我们具体主要讨论的是在俩个环境上装我们的Es
,云服务器上安装的部分稍微说的多了一点,原因是我们可能安装不同的ES
版本,会遇到各式各样的问题,希望小伙伴们都能够解决。后续我们就会进行实战环节,让我们就实际的来操作es
。