Elasticsearch7.6.2(目前最新版本)集群搭建及Head插件——最详细安装及配置

个人环境

1.Centos7.4(三台)
2.elasticsearch-7.6.2
官网下载:https://www.elastic.co/downloads/elasticsearch

1.环境初始化

在这里插入图片描述
大体配置就是如此,只不过我的主机ip不同

#关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

#时间同步

yum install ntpdate ntp -y
ntpdate cn.pool.ntp.org
hwclock --systohc

#常用软件安装

yum install net-tools bash-completion wget vim ntpdate -y

#系统优化

vim /etc/sysctl.conf
fs.file-max=65536
vm.max_map_count = 262144

注意:
fs.file-max:该文件指定了可以分配的文件句柄的最大数目, 为512 乘以 processes (如128个process则为 65536);

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量。 //这个值最好设置大一点,不然ES会启动失败。

 vim /etc/security/limits.conf
*        soft  nofile  65535
*        hard  nofile  131072
*        soft  nproc   2048
*        hard  nproc   4096

添加线程,不然会在启动的时候报错,如下所示:

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

在这里插入图片描述

2.JDK安装

jdk安装的话,最好安装jdk11,因为ES 7.x 版本需要jdk11,而本机环境是JDK8 ,它会提醒后面版本需要 JDK 11 支持。但它是向下兼容的。如图所示:
在这里插入图片描述

因此,看日志的时候显示已经启动。
在这里插入图片描述

2.1 验证是否启动成功

打开浏览器,输入 http://localhost:9200/ 地址,然后可以得到下面的信息:
在这里插入图片描述
证明配置没问题。

3.elasticsearch集群安装及配置

3.1 集群配置

[root@bigdata2 config]# pwd
/data/program/software/elasticsearch/config

###进入elasticsearch.yml文件中,修改如下配置 :

[root@bigdata2 config]# grep -Ev "^#|^$" elasticsearch.yml
cluster.name: my-cluster
node.name: ${HOSTNAME}
path.data: /data/program/software/elasticsearch/elk_data
path.logs: /data/program/software/elasticsearch/elk_logs
bootstrap.memory_lock: false
network.host: 192.168.239.8
http.port: 9200
discovery.seed_hosts: ["192.168.239.7", "192.168.239.9"]
cluster.initial_master_nodes: [" ${HOSTNAME} "]
http.cors.enabled: true
http.cors.allow-origin: "*"

network.host: 本机节点IP,也可以0.0.0.0

discovery.seed_hosts:一定要设置为另外两个节点的IP

cluster.initial_master_nodes:这里写的是上面node.name:中的对应值,但是如果你要像我一样写变量,这里一定要有空格,我因为没有空格,把我折磨了很久。

http.cors.enabled:表示开启蛞蝓访问支持,此值默认为false。

http.cors.allow-origin:表示跨域访问允许的域名地址,可使用正则表达式,“*”则表示允许所有域名访问。

注意:重点来了!!!
elasticsearch7版本引入的新集群协调子系统了解一哈,新增两个如下配置项
discovery 和cluster 设置,以便群集中的节点可以相互发现并选择主节点。

#设置提供群集中其他节点的列表,这些节点符合主要条件且可能是实时且可联系的,以便为发现过程设定种子。 此设置通常应包含群集中所有符合主节点的节点的地址。 此设置包含主机数组或逗号分隔的字符串。 每个值应采用host:port或host的形式
discovery.seed_hosts

#当您第一次启动全新的Elasticsearch集群时,会出现一个集群引导步骤,该步骤确定在第一次选举中计票的主要合格节点集因此当您在生产模式下启动全新集群时,必须明确列出符合条件的节点的名称或IP地址,这些节点的投票应在第一次选举中计算 集群中第一个主节点启动 许设置此项
cluster.initial_master_nodes

而这两个配置项没有了:在这里插入图片描述

vim jvm.options
-Xms512m
-Xmx512m

默认这两个值是1G,这个根据你虚拟机的内存划分,只有小于等于你内存的一半就行。

3.2 启动集群
在这里插入图片描述
以上配置三个节点都需要完成。
3.3 检查ES是否安装成功
(1)查看端口
在这里插入图片描述
(2)浏览器测试
打开浏览器,输入 http://localhost:9200/ 地址:
在这里插入图片描述
查看集群信息:http://192.168.239.7:9200/_cat/nodes?pretty
在这里插入图片描述
*:就是leader;-:就是follower

还可以在主机点查看更详细内容:
curl -XGET ‘http://192.168.239.7:9200/_cat?pretty’
在这里插入图片描述

4.配置图形化界面工具Head插件

Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作。在Elasticsearch5.x版本以后,head插件已经是一个独立的Web App了,所以不需要和Elasticsearch进行集成。可以将Head插件安装到任何一台机器上,我就布置在我的第一个节点了。

由于Head插件本质上是一个Node.js的工程,因此需要安装Node.js,使用npm工具来安装依赖的包。
NPM的全名叫Node Package Manager,是随NodeJS一起安装的包管理和分发工具,方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。

4.1 下载Node.js和NPM工具

直接yum install -y nodejs会提示找不到nodejs这个模块,因此:安装nodesource后再执行yum install -y nodejs

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
或
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
然后
yum -y install nodejs

这个安装好后,npm也在这个模块中,已经有了,所以不需要再安装。

4.2 下载并安装Head插件

yum install -y git
git clone git://github.com/mobz/elasticsearch-head.git

这是从github上克隆过的,安装好后你就会发现当前目录下有一个ES-Head目录。
进去elasticsearch-head/_site/app.js文件,修改如下配置:
在这里插入图片描述
4.2.1 开始安装

npm config set registry=http://registry.npm.taobao.org/             //修改源地址为淘宝NPM镜像,因为默认NPM的官方源为https://registry.npmjs.org/  。国外下载速度会很慢,所以这里建议切换到淘宝的NPM镜像站点比较好。
cd elasticsearch-head
npm install

npm install 安装时,可能会报 phantomjs-prebuilt@2.1.16安装失败。解决方法:

[root@bigdata1 elasticsearch-head]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
然后再
[root@bigdata1 elasticsearch-head]# npm install

4.2.2 启动head插件服务

[root@bigdata1 elasticsearch-head]# npm run start

head插件服务启动之后,默认的访问端口为9100,如图所示:
在这里插入图片描述
说明已正常启动,浏览器打开查看:
在这里插入图片描述
自己手动创建一个索引test,如上图所示。其中 *:是主节点,我创建索引时,配置中设置了5个分片,一个副本分片,因此可以看到每个索引都有10个分片,每个分片都用0、1、2、3、4等数字加方框表示,其中,粗体方框是主分片,细体方框是副本分片。
 my-cluster是集群的名称,后面的“集群健康值”通过不同的颜色表示集群的健康状态:其中,绿色表示主分片和副本分片都可用;黄色表示只有主分片可用,没有副本分片;红色表示主分片中的部分索引不可用,但是某些索引还可以继续访问。正常情况下都显示绿色。

附加:Elasticsearch 7.x 插件的安装、查看、删除

安装:
[elsearch@bigdata1 ~]$ bin/elasticsearch-plugin install xxxxxx
查看:
[elsearch@bigdata1 ~]$ bin/elasticsearch-plugin list
删除:
[elsearch@bigdata1 ~]$ bin/elasticsearch-plugin remove xxxxxx

友情提示:如果你安装之前zookeeper启动,或者kafka启动,介意关掉它。

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch是一个基于Lucene的搜索服务器,提供分布式多用户能力的全文搜索引擎,支持RESTful接口,我们可以使用它来进行数据的存储、检索和分析等操作。下面是ElasticSearch2.4.6的安装部署以及集群部署、ElasticSearch-head插件安装。 ## 安装部署 ### 1. 下载ElasticSearch2.4.6 从官网下载ElasticSearch2.4.6:https://www.elastic.co/downloads/past-releases/elasticsearch-2-4-6 ### 2. 解压缩 将下载好的文件解压缩到指定目录: ``` tar -xzvf elasticsearch-2.4.6.tar.gz -C /usr/local/ ``` ### 3. 修改配置文件 修改`/usr/local/elasticsearch-2.4.6/config/elasticsearch.yml`文件,主要修改以下几项: ``` cluster.name: my-elasticsearch-cluster node.name: my-elasticsearch-node-1 network.host: 0.0.0.0 http.port: 9200 ``` 其中`cluster.name`表示集群名称,`node.name`表示节点名称,`network.host`表示绑定的IP地址,`http.port`表示http监听端口。 ### 4. 启动ElasticSearch 运行以下命令启动Elasticsearch: ``` cd /usr/local/elasticsearch-2.4.6/bin/ ./elasticsearch ``` ### 5. 验证安装 使用浏览器访问`http://localhost:9200/`,如果返回以下信息则表示安装成功: ``` { "name" : "my-elasticsearch-node-1", "cluster_name" : "my-elasticsearch-cluster", "version" : { "number" : "2.4.6", "build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd", "build_timestamp" : "2017-07-18T12:17:44Z", "build_snapshot" : false, "lucene_version" : "5.5.4" }, "tagline" : "You Know, for Search" } ``` ## 集群部署 ### 1. 修改配置文件 在每个节点的`/usr/local/elasticsearch-2.4.6/config/elasticsearch.yml`文件中添加以下内容: ``` cluster.name: my-elasticsearch-cluster node.name: my-elasticsearch-node-1 network.host: 0.0.0.0 http.port: 9200 discovery.zen.ping.unicast.hosts: ["192.168.1.101", "192.168.1.102", "192.168.1.103"] ``` 其中`discovery.zen.ping.unicast.hosts`表示集群中所有节点的IP地址列表。 ### 2. 启动节点 分别在每个节点上启动Elasticsearch: ``` cd /usr/local/elasticsearch-2.4.6/bin/ ./elasticsearch ``` ### 3. 验证集群 使用浏览器访问`http://localhost:9200/_cat/nodes?v`,如果返回以下信息则表示集群启动成功: ``` ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 192.168.1.101 34 98 3 0.00 0.01 0.05 mdi * my-elasticsearch-node-1 192.168.1.102 36 99 0 0.00 0.01 0.05 mdi - my-elasticsearch-node-2 192.168.1.103 31 98 2 0.00 0.01 0.05 mdi - my-elasticsearch-node-3 ``` ## ElasticSearch-head插件安装 ### 1. 安装Node.js和npm ElasticSearch-head是一个基于浏览器的Elasticsearch集群管理工具,需要安装Node.js和npm才能使用。使用以下命令安装Node.js和npm: ``` sudo apt-get update sudo apt-get install nodejs npm ``` ### 2. 安装ElasticSearch-head 使用以下命令安装ElasticSearch-head: ``` sudo npm install -g grunt-cli git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install ``` ### 3. 启动ElasticSearch-head 使用以下命令启动ElasticSearch-head: ``` grunt server & ``` 打开浏览器,访问`http://localhost:9100/`,即可打开ElasticSearch-head界面。 至此,ElasticSearch2.4.6的安装部署以及集群部署、ElasticSearch-head插件安装完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值