IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Elasticsearch-7.10.0集群部署 -> 正文阅读

[大数据]Elasticsearch-7.10.0集群部署

ElasticSearch(以下简称 ES) 作为一个搜索引擎,能存储海量数据并且可以在非常短的时间内查询到应用系统想要的信息,且组件开源,因而使用比较广泛。

集群架构

主机名

IP地址

角色

node-1

192.168.2.3

主节点

node-2

192.168.2.4

从节点

node-3

192.168.2.5

从节点

ES集群部署

修改/etc/security/limits.conf

vi /etc/security/limits.conf?添加如下几行

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

* hard memlock unlimited

* soft memlock unlimited

修改/etc/sysctl.conf

vi /etc/sysctl.conf 添加一行

vm.max_map_count=262145

修改完后执行sysctl -p命令

修改/etc/security/limits.d/20-nproc.conf??

添加如下2行?

* ?????????soft ???nproc ????4096

root ??????soft ???nproc ????unlimited

软件包下载

es软件包可在官方网站下载:Download Elasticsearch | Elastic

最新版本为elasticsearch-7.10.0-linux-x86_64.tar.gz,因为最新版本集成了jdk11,java环境就不用单独安装了。

解压软件包

在三台主机上分别执行:

将es软件包上传到/home/forp1/es目录下并解压

tar -zxvf?elasticsearch-7.10.0-linux-x86_64.tar.gz

创建用户

因为es不能使用root用户启动,创建用户,将es目录权限转移给新建用户

useradd forp1

chown -R forp1:forp1?elasticsearch-7.10.0

修改es配置

切换到forp1用户

su - forp1

vim /home/forp1/elasticsearch-7.10.0/config/elasticsearch.yml

cluster.name: my-es

node.name: node-1

path.data: /home/forp1/elasticsearch-7.10.0/data

path.logs: /home/forp1/elasticsearch-7.10.0/logs

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

discovery.seed_hosts: ["192.168.2.3", "192.168.2.4", "192.168.2.5"]

cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

gateway.recover_after_nodes: 3

注意三台服务器上的node.name不能一样。

使用ES自带的JDK服务

系统上安装的JDK与elasticsearch-7.10.0版本不匹配,需要使用elasticsearch-7.10.0自带的JDK服务,修改elasticsearch-7.10.0脚本即可。

vi /home/forp1/elasticsearch-7.10.0/bin/ elasticsearch

export JAVA_HOME=/forp/elasticsearch-7.10.0/jdk

export PATH=$PATH:$JAVA_HOME/bin

启动ES?集群

注:若生产环境没有关闭防火墙,则需要放行9200和9300端口,9200为对外访问端口,9300为集群内部通信端口。

在三个节点上分别执行:

cd ?/home/forp/es/elasticsearch-7.10.0

bin/elasticsearch -d ??????????在后台启动

启动后访问测试

在命令行输入:curl localhost:9200 可以看到如下信息,表示节点启动成功

{

??"name" : "node-1",

??"cluster_name" : "my-es",

??"cluster_uuid" : "60tiVLitSTarvpUCRnwBaA",

??"version" : {

????"number" : "7.10.0",

????"build_flavor" : "default",

????"build_type" : "tar",

????"build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96",

????"build_date" : "2020-11-09T21:30:33.964949Z",

????"build_snapshot" : false,

????"lucene_version" : "8.7.0",

????"minimum_wire_compatibility_version" : "6.8.0",

????"minimum_index_compatibility_version" : "6.0.0-beta1"

??},

??"tagline" : "You Know, for Search"

}

也可以在浏览器输入IP:9200进行测试,显示和命令行相同的信息。

集群健康检查

?curl ?localhost:9200/_cat/nodes?pretty

192.168.2.5 93 93 3 0.42 0.65 0.34 cdhilmrstw - node-3

192.168.2.3 87 94 5 0.51 0.60 0.37 cdhilmrstw - node-1

192.168.2.4 85 93 6 0.69 0.45 0.25 cdhilmrstw * node-2

可以看到三个节点 ?*代表主节点

http://192.168.100.37:9200/_cluster/health?pretty

{

??"cluster_name" : "my-es",

??"status" : "green",

??"timed_out" : false,

??"number_of_nodes" : 3,

??"number_of_data_nodes" : 3,

??"active_primary_shards" : 18,

??"active_shards" : 36,

??"relocating_shards" : 0,

??"initializing_shards" : 0,

??"unassigned_shards" : 0,

??"delayed_unassigned_shards" : 0,

??"number_of_pending_tasks" : 0,

??"number_of_in_flight_fetch" : 0,

??"task_max_waiting_in_queue_millis" : 0,

??"active_shards_percent_as_number" : 100.0

}

集群添加用户安全认证功能

生成节点证书

切换到 elasticsearch 安装文件目录 bin 下,使用elasticsearch-certutil命令生成证书:

?./elasticsearch-certutil ca --out config/elastic-certificates.p12?

This tool assists you in the generation of X.509 certificates and certificate

signing requests for use with SSL/TLS in the Elastic stack.

The 'ca' mode generates a new 'certificate authority'

This will create a new X.509 certificate and private key that can be used

to sign certificate when running in 'cert' mode.

Use the 'ca-dn' option if you wish to configure the 'distinguished name'

of the certificate authority

By default the 'ca' mode produces a single PKCS#12 output file which holds:

????* The CA certificate

????* The CA's private key

If you elect to generate PEM format certificates (the -pem option), then the output will

be a zip file containing individual files for the CA certificate and private key

Enter password for elastic-certificates.p12? :

需要创建文件使用的密码

生成后的证书保存在安装目录的config目录下

需要将生成的证书拷贝给集群中的其它两个节点的config目录下

新增配置

每个集群节点都需要设置

vi /forp/elasticsearch-7.14.1/config/elasticsearch.yml

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: /forp/elasticsearch-7.14.1/config/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: /forp/elasticsearch-7.14.1/config/elastic-certificates.p12

重启生效,需要启动所有集群节点,再统一设置密码

设置用户密码

设置密码只需要在主节点执行即可。

切换到 elasticsearch 安装文件目录 bin 下,执行设置用户名和密码的命令,内置了部分用户。

./elasticsearch-setup-passwords?interactive

分别为多个用户设置密码例如:elastic, kibana, logstash_system,beats_system

访问验证

再次无密码访问 elasticsearch,发现提示安全认证错误。

需要输入账号密码才能访问

[forp1@cluster elasticsearch-7.10.0]$ curl --user elastic:12345678 http://192.168.100.35:9200

{

??"name" : "node-1",

??"cluster_name" : "my-es",

??"cluster_uuid" : "n75jDm9oRKqoBIhxtlVt-A",

??"version" : {

????"number" : "7.10.0",

????"build_flavor" : "default",

????"build_type" : "tar",

????"build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96",

????"build_date" : "2020-11-09T21:30:33.964949Z",

????"build_snapshot" : false,

????"lucene_version" : "8.7.0",

????"minimum_wire_compatibility_version" : "6.8.0",

????"minimum_index_compatibility_version" : "6.0.0-beta1"

??},

??"tagline" : "You Know, for Search"

上述访问方式为明文密码输入,不推荐,可以改为如下方式访问

[forp1@cluster elasticsearch-7.10.0]$ curl --user elastic http://192.168.100.35:9200

Enter host password for user 'elastic':

{

??"name" : "node-1",

??"cluster_name" : "my-es",

??"cluster_uuid" : "n75jDm9oRKqoBIhxtlVt-A",

??"version" : {

????"number" : "7.10.0",

????"build_flavor" : "default",

????"build_type" : "tar",

????"build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96",

????"build_date" : "2020-11-09T21:30:33.964949Z",

????"build_snapshot" : false,

????"lucene_version" : "8.7.0",

????"minimum_wire_compatibility_version" : "6.8.0",

????"minimum_index_compatibility_version" : "6.0.0-beta1"

??},

??"tagline" : "You Know, for Search"

}

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:48:46  更:2022-05-13 11:50:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 5:32:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码