elasticsearch安装教程

admin 2022年1月6日01:35:40安全博客评论15 views4193字阅读13分58秒阅读模式

docker下的安装

快速安装

已经配置好相关环境
拉取镜像

1
2
sudo docker pull ye1s/es:7.9.3
sudo docker pull ye1s/ka:7.9.3

运行容器

1
2
3
sudo docker run -d --name  es -p 9100:9100 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" ye1s/es:7.9.3

sudo docker run --link es:elasticsearch -p 5601:5601 --name ka -d ye1s/ka:7.9.3

一步步安装,可按照下方步骤

0x1安装elasticsearch

0x1.1拉取es的docker镜像

1
docker pull elasticsearch:7.2.0

镜像要加上具体的版本号,要不会出现如下

1
error response from daemon: manifest for elasticsearch:latest not found

最新版本可到官网查看

0x1.2启动es容器

1
docker run -d --name  es -p 9100:9100 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.2.0

9200作为Http协议,主要用于外部通讯
9300作为Tcp协议,jar之间就是通过tcp协议通讯
ES集群之间是通过9300进行通讯

0x1.3进入容器

1
docker exec -it es /bin/bash

0x1.4进入配置文件夹

1
cd config

修改配置文件

1
vi elasticsearch.yml

加入跨域配置

1
2
http.cors.enabled: true
http.cors.allow-origin: "*"

0x1.5退出并不停止运行容器

CTRL +p+q 建

0x1.6重启容器

1
docker restart es

0x2安装ik分词器

下载地址https://github.com/medcl/elasticsearch-analysis-ik
ik分词器的版本要与es版本想对应

0x2.1方法一

1
./bin/elasticsearch-plugin install  https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip

0x2.2方法二
下载安装包

1
wget   https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip

在plugins中并建立ik目录,并解压安装包到到ik中

1
unzip -d ./plugins/ik   elasticsearch-analysis-ik-7.2.0.zip

重启es,使ik分词器生效

1
docker restart es

0x2.3保存一下容器为镜像(下面的步骤损坏好恢复)

1
docker commit es es:v1

es为容器名,或容器id. es:v1 要保存的镜像的REPOSITORY和tag

如果要将镜像传到hub上,按如下操作
0x2.4为镜像打标签
docker tag imageName dockerUserName/xxx[:tag]

1
docker tag es:v1 ye1s/ye1s:es

0x2.5登入

1
docker login

输入账户密码

0x2.6上传

1
docker push dockerUserName/xxx[:tag]

0x3安装search-guard

具体的安装和使用和看官网教程
0x3.1方法一

1
bin/elasticsearch-plugin install -b com.floragunn:search-guard-7:7.2.0-35.0.0

后面换成对应的版本号。
可到官网查看

0x3.1方法二
下载Search Guard插件的zip文件
切换到Elasticsearch安装目录并键入:

1
bin/elasticsearch-plugin install -b file:///path/to/search-guard-7-<version>.zip

0x3.2脚本安装
因为脚本安装的演示证书都一样,存在安全问题。安全安装具体看官网

1
cd into <Elasticsearch directory>/plugins/search-guard-7/tools

添加install_demo_configuration.sh执行权限

1
chmod +x install_demo_configuration.sh

cd 成 <Elasticsearch directory>/plugins/search-guard-7/tools
执行

1
./install_demo_configuration.sh

输入三次y
其他节点也要执行相同操作并重启ES

1
2
ctrl p+q
sudo docker restart es容器

0x3.3修改默认密码
默认账户为admin 密码admin
也有其他默认的账户密码

1
2
3
4
cd ./plugins/search-guard-7/tools
chmod +x hash.sh
./hash.sh -p 密码 # 会输出一串字符串
$2y$12$Vx9Zp3RWraNyfDMmeyswmuYcWO9Z06BAOI/nf6kvl/CHaZzRv3ZYa

将新生成的字符串拷贝至 ./plugins/search-guard-6/sgconfig/sg_internal_users.yml 文件中,替换原来的admin密码

使配置生效

1
2
3
cd /usr/share/elasticsearch/plugins/search-guard-7/tools
chmod +x sgadmin_demo.sh
./sgadmin_demo.sh

0x3.4可能出现问题

如果显示

1
2
WARNING: JAVA_HOME not set, will use
./hash.sh: line 25: java: command not found

可安装一下java环境
安装jdk
此次选择java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment

1
yum install java-1.8.0-openjdk-devel.x86_64

配置全局变量

打开配置文件,按insert进入编辑模式

1
vi /etc/profile

复制以下三行到文件中,按esc退出编辑模式,输入:wq保存退出(这里的JAVA_HOME以自己实际的目录为准)

1
2
3
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el6_9.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

全局变量立即生效

1
source /etc/profile

查看安装jdk是否成功

1
java -version

java -version

0x4安装kibana

0x4.1拉取kibana镜像

1
docker pull kibana

0x4.2运行容器

1
docker run --link es:elasticsearch -p 5601:5601 --name ka -d kibana:7.2.0

0x4.3安装插件

1
2
cd /usr/share/kibana/bin
./kibana-plugin install https://search.maven.org/remotecontent?filepath=com/floragunn/search-guard-kibana-plugin/7.2.0-35.2.0/search-guard-kibana-plugin-7.2.0-35.2.0.zip

具体插件版本地址地址可到插件下载
0x4.4修改配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vi config/kibana.yml


server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "https://elasticsearch:9200" ]

elasticsearch.username: "admin"
elasticsearch.password: "ipsearch12#"
elasticsearch.ssl.verificationMode: none
elasticsearch.requestHeadersWhitelist: [ "Authorization", "sgtenant" ]
xpack.monitoring.enabled: false
xpack.graph.enabled: false
xpack.ml.enabled: false
xpack.watcher.enabled: false
xpack.security.enabled: false
xpack.monitoring.ui.container.elasticsearch.enabled: true

重启kibana

0x5安装head插件

使用注意点

使用elasticsearch做分页查询时,当查询记录超过10000时,会报如下错误:

1
2
3
4
5
6
PUT sec/_settings
{
"index":{
"max_result_window":1000000
}
}

参考文章:
search-guard的官方文档https://docs.search-guard.com/latest/

CentOS 7 安装 JAVA环境(JDK1.8) https://juejin.im/entry/5b9b7c71e51d450e4115373d

search-guard安装教程https://www.jianshu.com/p/fbc1763ff520

FROM :blog.cfyqy.com | Author:cfyqy

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日01:35:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  elasticsearch安装教程 http://cn-sec.com/archives/721948.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: