01_Elasticsearch

Elasticsearch:
开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等官方网站:https://www.elastic.co

官方参考文档:
https://www.elastic.co/guide/en/elasticsearch/reference/6.6/setup-configuration-memory.html

下载地址:
https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/

需要下载的包:
elasticsearch-6.6.0.rpm
filebeat-6.6.0-x86_64.rpm
kibana-6.6.0-x86_64.rpm
logstash-6.6.0.rpm
本篇文章只做Elasticsearch


1.安装elasticsearch

[root@elasticsearch01 ~]# yum install java-1.8.0-openjdk* -y  //jdk环境

将下载好的Elasticsearch包传到/soft目录下,或者使用wget下载
01_Elasticsearch_第1张图片

[root@elasticsearch01 soft]# yum -y install elasticsearch-6.6.0.rpm   //安装

elasticsearch目录和文件:
/etc/elasticsearch/elasticsearch.yml #配置文件
/etc/elasticsearch/jvm.options #java虚拟机
/etc/init.d/elasticsearch #服务启动脚本
/etc/sysconfig/elasticsearch #elasticsearch服务变量
/usr/lib/sysctl.d/elasticsearch.conf #设置elasticsearch用户使用的内存大小
/usr/lib/systemd/system/elasticsearch.service #添加系统服务文件
/var/log/elasticsearch/elasticsearch.log #日志文件路径

2.修改配置文件

[root@elasticsearch01 ~]# vim /etc/elasticsearch/elasticsearch.yml
修改:
node.name: node-1						#群集中本机节点名
path.data: /data/elasticsearch			#数据目录
path.logs: /var/log/elasticsearch		#日志目录
bootstrap.memory_lock: true				#锁定内存,需要和/etc/elasticsearch/jvm.options关联
network.host: 192.168.1.102,127.0.0.1	#监听的ip地址
http.port: 9200							#端口号

3.分配锁定内存

[root@elasticsearch01 ~]# vim /etc/elasticsearch/jvm.options
-Xms1g		#分配最小内存	
-Xmx1g		#分配最大内存,官方推荐为物理内存的一半,但最大为32G

4.创建数据目录,并修改权限

[root@elasticsearch01 ~]# mkdir -p /data/elasticsearch //配置文件中指定的数据目录
[root@elasticsearch01 ~]# chown -R elasticsearch.elasticsearch /data/elasticsearch/

修改锁定内存后,无法重启,解决方法如下:

[root@elasticsearch01 ~]# systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity

[root@elasticsearch01 ~]# systemctl daemon-reload
[root@elasticsearch01 ~]# systemctl restart elasticsearch   //可能需要等上一分钟左右
[root@elasticsearch01 ~]# netstat -anput | grep 9200   
tcp6       0      0 192.168.1.61:9200       :::*                    LISTEN      2815/java           
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      2815/java       

5.查看信息

	http://192.168.1.61:9200/  #查看单主机
	http://192.168.1.61:9200/_cluster/health?pretty #  查看群集健康状态
	http://192.168.1.61:9200/_cluster/state?pretty   #  查看整个群集状态信息

6.下载es-head插件并使用浏览器访问
https://github.com/mobz/elasticsearch-head
下载后,解压,复制crx目录下es-head.crx到桌面改名es-head.crx为es-head.crx.zip解压es-head.crx.zip到es-head.crx目录,把目录es-head.crx,上传到谷歌浏览器开发工具–扩展程序里。

使用浏览器访问elasticsearch
01_Elasticsearch_第2张图片
7.创建索引:vipinfo,类型:users,序号:1,数据部分:…
选项说明:
XPUT 创建
XDELETE 删除

[root@elasticsearch01 ~]# curl -XPUT '192.168.1.61:9200/vipinfo/users/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"name": "guofucheng","age": "45","job": "mingxing"}'

刷新浏览器查看是否创建成功
01_Elasticsearch_第3张图片


elasticsearch群集:
状态颜色:
灰色:未连接
绿色:数据完整态
黄色:副本不完整
红色:数据分片不完整
紫色:数据分片复制过程
群集主机角色:
主节点master:负责管理调度
工作节点: 负责处理数据
默认情况,所有节点都是工作节点,即主节点也处理数据


7.往群集中添加第二台主机:192.168.1.63
1)安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml
node.name: node-2
path.data: /data/elasticsearch                  
path.logs: /var/log/elasticsearch               
bootstrap.memory_lock: true                             
network.host: 192.168.1.63,127.0.0.1   
http.port: 9200 
discovery.zen.ping.unicast.hosts: ["192.168.1.63", "192.168.1.103"]
discovery.zen.minimum_master_nodes: 2   #添加的值=节点数/2 + 1

2)创建数据目录,并修改权限

mkdir -p /data/elasticsearch 
chown -R elasticsearch.elasticsearch /data/elasticsearch/

3.分配锁定内存

vim /etc/elasticsearch/jvm.options
-Xms1g		#分配最小内存	
-Xmx1g		#分配最大内存,官方推荐为物理内存的一半,但最大为32G

4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

systemctl daemon-reload
systemctl restart elasticsearch

8.往群集中添加第二台主机:192.168.1.67
具体参考上面,思路就是改下IP地址就行

添加完成之后刷新浏览器验证
01_Elasticsearch_第4张图片
9.常见群集管理监控命令
(1)查看索引信息
curl -XGET ‘192.168.1.61:9200/_cat/indices?pretty’
(2)查看群集健康状态
curl -XGET ‘192.168.1.61:9200/_cluster/health?pretty’
(3)统计群集节点
curl -XGET ‘192.168.1.61:9200/_cat/nodes?human&pretty’
(4)查看群集所有节点详细信息
curl -XGET ‘192.168.1.61:9200/_nodes/_all/info/jvm.process?human&pretty’
注意:企业环境使用脚本监控群集健康状态是否为green 或 节点数不匹配 就邮件报警

10.创建索引index1时,修改分片为3和副本数为2

curl -X PUT 192.168.1.61:9200/index1  -H 'Content-Type: application/json' -d '{
    "settings" : {
        "index" : {
            "number_of_shards" : 3, 
            "number_of_replicas" : 2 
        }
    }
}'

验证:
01_Elasticsearch_第5张图片

11.针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1

curl -X PUT '192.168.1.61:9200/index1/_settings?pretty'  -H 'Content-Type: application/json' -d '{
  "settings": {
    "number_of_replicas": "1"
  }                          
}'

验证:
01_Elasticsearch_第6张图片

你可能感兴趣的:(elk)