Elasticsearch集群、head插件搭建及配置(五)

1 环境

需要java1.8以上,所以我们使用jdk1.8.0_172。并配置好环境变量。

2 配置Elasticsearch

elasticsearch下载地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-11
下载源码解压。解压在/data/

2.1 配置文件路径

elasticsearch 配置目录:/data/elasticsearch/config/

配置文件为:/data/elasticsearch/config/elasticsearch.yml

2.2 配置文件详解

 [root@kafka11 config]# cat elasticsearch.yml
cluster.name: elasticsearch_cluster #起名三个节点要一致
node.name: node_master_11 #节点名:三个节点不一致
node.master: true
node.data: true
path.data: /data/elasticsearch/data #数据目录(需要后期创建)
path.logs: /data/elasticsearch/logs #日志目录(需要后期创建)
bootstrap.memory_lock: true
network.host: 10.10.4.11 #本机IP地址
http.port: 9200 #端口
discovery.zen.ping.unicast.hosts: ["10.10.4.11", "10.10.4.12", "10.10.4.13"]
#集群地址
http.cors.enabled: true
http.cors.allow-origin: "*"

2.3 创建用户、目录及修改目录权限

由于Elasticsearch不能使用root权限运行,所以创建path.data和path.logs目录需要修改权限

useradd elasticsearch
chmod -R elasticsearch:elasticsearch /data/elasticsearch-5.6.11/
mkdir -p /data/elasticsearch/data
mkdir -p /data/elasticsearch/logs
chmod -R /data/elasticsearch

2.4 启动

# su - elasticsearch
$ /data/elasticsearch-5.6.11/bin/elasticsearch -d

2.5 启动可能遇到问题

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是说你的进程不够用了

解决方案: 切到root 用户:进入到security目录下的limits.conf;执行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的参数值:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

前面的*符号必须带上,然后重新启动就可以了。执行完成后可以使用命令 ulimit -n 查看进程数

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 需要修改系统变量的最大值了

解决方案:切换到root用户修改配置sysctl.conf 增加配置值: vm.max_map_count=655360执行命令 sysctl -p 这样就可以了,然后重新启动ES服务 就可以了

5、查看状态

[root@kafka11 ~]# netstat -ntlt
tcp6 0 0 192.168.205.155:9200 :::* LISTEN    
tcp6 0 0 192.168.205.155:9300 :::* LISTEN   

9200是默认端口
9300是集群通信端口

3 相关命令

1、检查Elasticsearch是否运行

[root@kafka11 ~]# curl -X GET "10.10.4.11:9200/"

{

 "name" : "node_master_11",

 "cluster_name" : "elasticsearch_cluster",

 "cluster_uuid" : "2BKMtG7tSBmaJqXQy1tzxg",

 "version" : {

 "number" : "5.6.11",

 "build_hash" : "bc3eef4",

 "build_date" : "2018-08-16T15:25:17.293Z",

 "build_snapshot" : false,

 "lucene_version" : "6.6.1"

 },

 "tagline" : "You Know, for Search"

}

2、查询集群状态

[root@kafka11 ~]# curl -XGET 'http://10.10.4.11:9200/_cat/nodes' #任选一台机器执行

10.10.4.11 16 91 0 0.24 0.09 0.06 mdi - node_master_11

10.10.4.13 35 98 0 0.00 0.01 0.05 mdi * node_slave_13

10.10.4.12 12 93 0 0.00 0.01 0.05 mdi - node_slave_12 #带*号的是自动选举出来的master
[root@kafka11 ~]#curl -XGET 'http://10.10.4.11:9200/_cluster/state/nodes?pretty'

{

 "cluster_name" : "elasticsearch_cluster", #名字

 "nodes" : {

 "0aOK3alCSAGQRYwMoB8-3A" : { #ID值

 "name" : "node_master_11", #node名字

 "ephemeral_id" : "Si4djzEERfqmFdbRDUA0WQ", #id

 "transport_address" : "10.10.4.11:9300", , #集群通讯地址

 "attributes" : { }

 },

 "JhxqBlI2RKeJx7HuvpkEAA" : {

 "name" : "node_slave_13",

 "ephemeral_id" : "wwfYQmiAR1qiHc0Cn-l3cA",

 "transport_address" : "10.10.4.13:9300",

 "attributes" : { }

 },

 "bkY8d3qkT9GO7P0lYpsjcw" : {

 "name" : "node_slave_12",

 "ephemeral_id" : "OUSmly1ITdKxai74NNYbbQ",

 "transport_address" : "10.10.4.12:9300",

 "attributes" : { }

 }

 }

}

3、查询集群中的master

[root@kafka11 ~]# curl -XGET 'http://10.10.4.11:9200/_cluster/state/master_node?pretty'

{

 "cluster_name" : "elasticsearch_cluster",

 "master_node" : "JhxqBlI2RKeJx7HuvpkEAA"

}
[root@kafka11 ~]# curl -XGET 'http://10.10.4.11:9200/_cat/master?v'

id host ip node

JhxqBlI2RKeJx7HuvpkEAA 10.10.4.13 10.10.4.13 node_slave_13

4、查询集群的健康状态

[root@kafka11 ~]# curl -XGET 'http://10.10.4.11:9200/_cat/health?v'

epoch timestamp cluster         status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1538550748 15:12:28 elasticsearch_cluster green 3 3 437 221 0 0 0 0 -               100.0%

###Status下边是状态显示

[root@kafka11 ~]# curl -XGET 'http://10.10.4.11:9200/_cluster/health?pretty'

{

 "cluster_name" : "elasticsearch_cluster",

 "status" : "green", ##green代表正常

 "timed_out" : false,

 "number_of_nodes" : 3,

 "number_of_data_nodes" : 3,

 "active_primary_shards" : 221,

 "active_shards" : 437,

 "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

}

4 插件head安装及配置

4.1 安装head

1、下载解压

wget https://github.com/mobz/elasticsearch-head/archive/master.zip

unzip master.zip -d /data

2、安装node.js

执行head 插件,需要node.js 的支持,所以,下面先安装一node.js

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs nodejs-npm
node –v ##验证是否安装

3、安装grunt

cd /data/elasticsearch-head-master/
npm install grunt --save-dev
npm install

4、修改/etc/profile文件

最后添加

export NODE_HOME= /data/elasticsearch-head-master/node_modules/grunt
export PATH=$PATH:$NODE_HOME/bin
# source /etc/profile

5、修改配置

修改 vim _site/app.js 文件:修改head的连接地址

6、修改elasticsearch配置文件elasticesearch.yml末端新增以下内容:

http.cors.enabled: true

http.cors.allow-origin: "*"

7、启动head(要做head的目录里执行)

grunt server &

*****发现使用&加入后台,只要一退出shell就会无法访问,所以使用以下命令

screen -dmLS head grunt server

访问IP地址+9100即可出现图像。

5 插件Bigdesk插件安装

5.1 简介

Bigdesk直接可以通过python提供的http服务器,python -m SimpleHTTPServer运行,服务器运行,端口号是8000,默认情况下linux系统下安装过了python,所以下载下来压缩包,直接运行服务就可以了。如果想修改端口直接在python -m SimpleHTTPServer 命令后添加端口号。

官网地址:https://github.com/hlstudio/bigdesk

5.2 安装

wget http://yellowcong.qiniudn.com/bigdesk-master.zip

进入到sit目录

cd /data/bigdesk/_site/

#启动web服务器
#默认监听端口号是 8000,由于8000端口被占用启用8001端口

python -m SimpleHTTPServer 8001

Serving HTTP on 0.0.0.0 port 8001 ...

5.3 使用

访问IP+端口(8001)

点击connect,出现各各节点,选中一个可以查看实时状态。和相关参数。

5.4 插件cerebro安装

5.4.1 安装配置

es虽然不能再root下运行,但是cerebro 可以

wget https://github.com/lmenezes/cerebro/releases/download/v0.6.5/cerebro-0.6.5.tgz
tar zxvf cerebro-0.6.5.tgz
cd cerebro-0.6.5/
##启动(默认是9000端口,如果想用其他端口使用-Dhttp.port=)
bin/cerebro -Dhttp.port=1234

如果在后台使用可以使用nohup ** & 命令。

5.4.2 操作

1、连接cerebro

IP:port

2、连接elasticsearch

http://ip:9200 #此处一定要写http://

你可能感兴趣的:(Elasticsearch集群、head插件搭建及配置(五))