【一】Elasticsearch
windows环境下elasticsearch7.1.0版本基本安装步骤:
1、先从官网上下载资料,超行星入口:https://www.elastic.co/cn/downloads/elasticsearch
22
2、这是一个压缩包文件,解压缩之后,进入到bin目录下,双击 elasticsearch.bat
3、 出现以下情况,则表示成功,默认端口号9200
4、访问localhost:9200 ,出现以下则表示成功
以上,windows环境下安装elasticsearch则完全成功拉
Elasticsearch基本配置文件详解 :
config/elasticsearch.yml
cluster.name:集群名称,作为是否是同一个集群的判断条件
node.name:节点名称,区分集群中不同节点
network.host/http.port:网络地址和端口
path.data:数据存储地址
path.log:日志存储地址
linux环境安装步骤(centos7,jdk1.8,elasticsearch6.8.2):
1、解压下载后的tar包
2 、修改相关配置文件/conf/elasticsearch.yml
网络设置,设置 ip ,端口号 ,跨域设置
3、配置完成后进入bin目录启动脚本
前台启动:./elasticsearch
后台启动:./elasticsearch -d
4、启动过程中遇到的问题
解决方案:直接删除或备份Elasticsearch-a.b.c/lib目录下面的jna文件:
mv jna-4.4.0.jar jna-4.4.0.jar.bak
然后在lib目录下载:wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar
重新启动,这种问题便没有了。但又发现下面问题
解决方案:在conf目录下elasticsearch.yml目录下加上
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
继续启动发现没有问题了,同问题二
问题一、root用户启动时,不能正常启动
解决方案:
a、adduser es 创建用户
b、passwd es 设置es密码
c、设置文件权限chown -R es /ywx/elasticsearch/elasticsearch-6.8.2
d、visudo 设置用户对命令的执行权限
问题二、
解决方案:切换到root用户,编辑/config/elasticsearch.yml
问题三、
解决方案
切换到root用户修改:vim /etc/sysctl.conf
添加:vm.max_map_count=655360 保存
执行:sysctl -p
问题四、es用户可创建文件描述的权限太低
解决方案
切换到root用户 vim /etc/security/limits.conf
添加:
保存之后
问题:
解决方案:
测试:切换es用户下,启动脚本,正常启动
以上linux环境下,elastissearch6.8.2版本,单点安装完成
安装可视化插件elastissearch-head
首先必须安装的环境:yum -y install gcc gcc-c++
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz然后执行以下命令:
tar -zxvf node-v10.13.0.tar.gz
vim /etc/profile
使配置文件生效:source /etc/profile
查看是否安装成功:node -v 或者 npm -v
1、命令:git clone git://github.com/mobz/elasticsearch-head.git
出现问题:-bash: git: command not found
安装git命令:yum install -y git
2、 cd elasticsearch-head
3、npm install
可能出现以下问题:
解决方案:执行该命令:npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
4、进入elasticsearch-head目录下执行:npm run start
5、访问一下http://ip:9100
elasticsearch-head连接不同服务器上的elasticsearch,可能因为跨域问题,导致连接不上
解决方案
在elasticsearch安装目录下,config中配置文件elasticsearch.yml文件,添加如下配置
http.cors.enabled: true http.cors.allow-origin: "*" http.cors.enabled配置项表示是否支持跨域,默认为false;
http.cors.allow-origin,当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/ 重启之后
集群搭建步骤
准备在三台虚拟机(192.168.131.166;192.138.161.167;192.138.166.168)搭建一个es集群环境;主要修改以下配置
1、vi elasticsearch.yml 修改配置文件
2、cluster.name: myes ###保证三台服务器节点集群名称相同
3、node.name: node-1 #### 每个节点名称不一样 其他两台为node-1 ,node-2,node-3
4、network.host: 192.168.131.166 #### 实际服务器ip地址,需要修改
5、discovery.zen.ping.unicast.hosts: ["192.168.131.166", "192.168.131.167","192.168.131.168"] ##多个服务集群ip
6、discovery.zen.minimum_master_nodes: 1 #es集群主节点最小的个数
以上配置完毕之后,启动这三台服务器的es。然后访问http://192.168.131.166:9100/
出现以下,则es集群环境搭建完成
Elasticsearch常用术语
Document:文档数据,具体意义就是存储于elasticsearch中的一条数据
Index:索引,具体意义可以理解成mysql中的一个数据库
Type:索引中的数据类型。可以理解成一个表
Field:字段,文档的属性,理解为表中的字段
Elasticsearch实现增删改查(文档)
在kibana中consul中执行以下命令