ElasticSearch-5.6.8(一) 环境搭建

Windows下搭建ES

Windows下搭建一个测试的ES运行环境很简单,只需去官网https://www.elastic.co/cn/downloads下载电脑系统相应版本的压缩包。然后解压,进入bin目录,通过bat文件启动就好了。
然后就可以通过浏览器访问http://localhost:9200/_cluster/health?pretty,如果你能看到你的集群的状态,就表示启动成功了。

linux环境下搭建ES

一、 安装JDK
首先需要在环境上安装JDK,推荐安装1.8以上。下载jdk的tar包,上传到环境。

  1. 解压:tar -zxvf jdk-8u144-linux-x64.tar.gz -C 安装目录
  2. 配置环境变量 :vi /etc/profile *注意 如果你root用户不要在~/.bash_profile里配置,因为ES不允许用root用户启动,需要新建个用户来启动。
  3. 修改jdk的权限:chmod 777 -r jdk解压目录 保证所有用户都能访问到此JDK,踩过的坑之一,启动一直报找不到JAVA_HOME,但环境变量都配对了。

二、 安装ES
下载ES-5.6.8的tar包,上传

  1. 解压:tar -zxvf elasticsearch-5.6.8.tar.gz -C 安装目录
  2. 新建用户
    groupadd elsearch #新建组
    useradd elsearch -g elsearch #新建用户
    chown -R elsearch:elsearch 安装目录 #ES文件的操作权限修改
  3. 修改配置文件
    测试环境简单修改下
    network.host:机子ip,其他默认就行
  4. 启动
    切换到elsearch用户,进入ES的bin目录下,使用./elasticsearch启动,加上-d 为后台启动

三、 启动ES时会出现一些错误
在第一次启动时报出了四个错误

ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [1024] for user [elasticsearch] is too low,increase to at least [2048]
[3]: max virtual memory areasvm.max_map_count [65530] is too low, increase to at least [262144]
[4]: system call filters failed to install; check the logs and fixyour configuration or disable system call filters at your own risk

1.弹性搜索过程的最大文件描述符[4096]太低
2用户[elsearch]的最大线程数[1024]太低,增加到至少[2048]
3.最大虚拟内存区域vm.max_map_count [65530]太低,增加到至少[262144]
4.系统调用筛选器未能安装;请检查日志并修复配置或禁用系统调用筛选器,风险自负

根据网上找的方法一个个解决

第一个问题可以通过修改vi /etc/security/limits.conf文件,在后面追加

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

第二个问题

vi /etc/security/limits.d/90-nproc.conf

把* soft nproc 1024修改成* soft nproc 2048

第三个问题
使用root用户vi /etc/sysctl.conf 添加下面配置然后执行 sysctl -p

vm.max_map_count=655360

第四个问题
这个问题网上说是因为ES启动时默认会启动一个检测,而当前系统上不能通过这个检测,直接导致启动失败
解决方法为修改ES的配置文件,使其不检测,在Memory添加这两条配置

bootstrap.memory_lock: false
bootstrap.system_call_filter: false 

修改完后重新启动ES,然后可以在命令行输入curl Get http://localhost:9200/_cluster/health?pretty或者浏览器端输入http://localhost:9200/_cluster/health?pretty,集群状态
看到上面这些信息表示集群启动成功。集群状态分为red,yellow,green。一般新建的集群即使是单节点的也会是green。

安装head插件

首先我们要知道head插件是用来干嘛,环境是给我们进行操作(增删查改)用的,平时我们总不能每次都使用rest请求吧,这样也太麻烦了。而Head插件可以实现基本信息的查看,rest请求的模拟,数据的检索等等。head插件使用

上图就是安装好后在浏览器里打开的样子,因为我是单节点的集群,而默认索引是需要有一个数据备份的,导致我的集群状态为yellow,来看下不同集群状态的含义。

  • red表示不是所有的主分片都可用,通常时由于某个索引的主分片为unassigned,只要找出这个索引的分片,手工分配即可
  • yellow表示所有主分片可用,但不是所有副本分片都可用
  • green最健康的状态表示所有主分片和备份分片都可用

安装步骤
说明:5.6版本不能再用/bin/plugin -install mobz/elasticsearch-head安装了,需要自己动手配置

  1. 下载head
    下载地址head插件
    下载然后上传解压即可。 注意 不要解药到elasticsearch的plupin、modules 目录下会导致ES启动报错
  2. 安装nodejs
    因为head插件本质上还是一个nodejs的工程,因此需要安装node
    yum安装:yum install -y nodejs

    源码安装:
    下载源码:http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
    解压:tar -zvxf node-v0.10.26.tar.gz
    编译及安装:make && make install
    验证是否安装配置成功:node -v

  3. 安装grunt
    因为head插件需要使用grunt启动,所以需要安装grunt,grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作
    进入head的解压目录
    安装grunt npm install -g grunt-cli 会生成一个node_modules文件夹
    然后修改vi Gruntfile.js文件:增加hostname属性,设置为*
    这里写图片描述
    修改 vi _site/app.js 文件:修改head的连接地址:把localhsot改成本地地址
    这里写图片描述

  4. 启动以及错误解决
    配置完成后使用 grunt server & 后台启动
    问题出现了,第一次访问浏览器上是这样的这里写图片描述
    需要修改elasticsearch的配置文件,增加下面两个配置,然后重启elasticsearch和head,在查看就是我前面的页面了

http.cors.enabled: true
http.cors.allow-origin: "*"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值