zoukankan      html  css  js  c++  java
  • centos7安装elasticsearch5.2.2

    这篇文章比较初级,介绍的是centos7下elasticsearch的安装。

    主要阅读对象是初级运维、初级大数据工程师、java工程师、想了解es的.net工程师以及所有感兴趣的朋友。

    文章的目的是为了能够帮助像我一样初学linux,并对es感兴趣,但无从下手的同学。使得同学们能够快速简单的安装es。

    很多同学在想学一门技术的时候,往往会在开发环境的搭建上卡上一段时间,更甚者选择最终放弃,这是非常值得深思的。

    颜色比较浅的文字是辅助我们操作的,欢迎转载!

    操作系统:

    Centos7

    =========================================

    查看系统版本:

    [root@localhost ~]# cat /etc/redhat-release

    我的是:CentOS Linux release 7.2.1511 (Core)

    查看64位还是32位

    [root@localhost ~]# getconf LONG_BIT

    我的是:64

    =========================================

    Jdk要求

    至少1.8以上

    =========================================

    检测jdk版本:

    [root@localhost /]# java –version

    我的是: java version "1.8.0_121"

    =========================================

    下载elasticsearch

    网址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz

    可在windows系统里面下载好后,利用WinSCP工具拷贝到linux

    我是在根目录下创建了一个”/soft”目录,将压缩文件放在了”/soft”目录下

    [root@localhost /]# mkdir /soft

     

    解压

    [root@localhost soft]# tar -zxvf elasticsearch-5.2.2.tar.gz

    解压后我们将其移动到”/usr/local/elasticsearch/”目录下

    [root@localhost soft]# mv elasticsearch-5.2.2 /usr/local/elasticsearch

    如图:

    创建elasticsearch账户

    因为Elasticsearch5.0之后,不能使用root账户启动,我们先创建一个elasticsearch组和账户

    创建组:

    [root@localhost soft]# groupadd elasticsearch

    创建用户:

    [root@localhost soft]# useradd elasticsearch -g elasticsearch -p elasticsearch

    给用户分配目录(”/usr/local/elasticsearch”)权限:

    [root@localhost soft]# chown -R elasticsearch:elasticsearch /usr/local/elasticsearch

    再次查看”/usr/local/elasticsearch”目录下的权限:

    [root@localhost soft]# ll /usr/local

    如上图,elasticsearch的所属组和用户都发生了变化

    启动elasticsearch

    1、定位到目录” /usr/local/elasticsearch/”:

    [root@localhost soft]# cd /usr/local/elasticsearch/

    2、切换用户:

    [root@localhost elasticsearch]# su elasticsearch

    3、启动elasticsearch:

    [elasticsearch@localhost elasticsearch]$ bin/elasticsearch

    如上图,最后一行标识:started,表示启动成功

    =========================================

    我们可以把

    [elasticsearch@localhost elasticsearch]$ bin/elasticsearch

    换成

    [elasticsearch@localhost elasticsearch]$ bin/elasticsearch –d

    -d表示后台启动,就像windows里的最小化

    我不建议新手一开始就在后台启动,因为启动时有可能会报错,如果不查看日志文件,你不会知道启动失败

    =========================================

    4、验证结果:

    新开终端,root用户或elasticsearch用户都可以

    [elasticsearch@localhost elasticsearch]$ curl http://localhost:9200

    如下图,表示启动成功

    IP访问设置

    虽然我们在本机可以访问了,但是还不能通过IP访问,这个时候就需要开启IP访问

    1、  新开终端

    说明:如果是后台启动就不需要新开终端了

    2、  定位到elasticsearch的配置目录

    [root@localhost ~]# cd /usr/local/elasticsearch/config/

    3、  编辑配置文件

    [root@localhost config]# vi elasticsearch.yml

    出现上图文件内容

    =========================================

    我操,这么多abcd字符,要是文件内容太多,这还不得看瞎我的钛合金狗眼,别怕,直接按”/”键,它表示在文件中查找指定内容,就像我们在windows里面Ctrl+F一样,然后输入你要查找的内容。

    =========================================

    找到

    #network.host: 192.168.0.1

    将前面的注释符号”#”去掉,并修改成elasticsearch服务器的IP

    network.host: 192.168.1.60

    保存并退出,至于怎么修改怎么保存百度下吧

    4、  重启elasticsearch

    A、找到elasticsearch进程

    [root@localhost config]# ps aux | grep elasticsearch

    B、杀死elasticsearch进程

    [root@localhost config]# kill -9 4581

    C、重启elasticsearch进程

               参考启动elasticsearch进程

               纳尼?报错:“ERROR: bootstrap checks failed”

               尼玛,这啥情况?

               不急,下面介绍解决方法

    ERROR: bootstrap checks failed解决方法

    1、  错误:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    原因:操作系统的vm.max_map_count参数设置太小导致的

    解决办法一:

    A、切换root用户

    [elasticsearch@localhost elasticsearch]$ su root

    B、设置vm.max_map_count

    [root@localhost elasticsearch]# sysctl -w vm.max_map_count=655360

    C、查看是否修改成功

    [root@localhost elasticsearch]# sysctl -a | grep vm.max_map_count

    如果能正常输出655360则说明修改成功

    这种方法如果系统重启后,设置失效,需重新设置。不建议。

    解决办法二:

    直接修改/etc/sysctl.conf文件,使其永久生效

    [root@localhost ~]# vi /etc/sysctl.conf

    在文件末尾添加这一行:

    vm.max_map_count=655360

    保存并退出,如下图:

    然后需要重启系统或者刷新swap分区

    刷新swap分区:

    [root@localhost ~]# swapoff -a && swapon -a

    这种方法设置后,永久生效,建议采用这种方法。

    2、  错误:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    原因:在Linux的系统中对于进程会有一些限制

    解决办法:

    A、切换root用户

    [elasticsearch@localhost elasticsearch]$ su root

    B、编辑limits.conf

    [root@localhost elasticsearch]# vi /etc/security/limits.conf

    在文件末尾加入以下代码:

    elasticsearch soft nofile 65536

    elasticsearch hard nofile 131072

    elasticsearch soft nproc 2048

    elasticsearch hard nproc 4096

    保存并退出

    =========================================

    elasticsearch表示当前我们为es设置的用户

    =========================================

    再次启动elasticsearch

    再次启动elasticsearch,这个时候就提示成功了,如下图:

    我们不妨新开终端,检测新的地址:

    [root@localhost ~]# curl http://192.168.1.60:9200

    这个时候输出如下图,表示OK

    或者我们在另外机器的浏览器地址栏直接输入网址:http://192.168.1.60:9200也行,但前提是开启了9200端口

    =========================================

    开启端口:

    [root@localhost ~]# firewall-cmd --zone=public --add-port=9200/tcp --permanent

    重启防火墙:

    [root@localhost ~]# firewall-cmd --reload

    =========================================

     写篇文章不容易,花了我2个小时的时间,大家给个赞吧。

  • 相关阅读:
    转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
    转!!left join on and 与 left join on where的区别
    swoole WebSocket 消息推送
    基于swoole搭建聊天室程序
    使用php+swoole对client数据实时更新(下)
    使用php+swoole对client数据实时更新(上)
    swoole实现websocket推送
    PHP只显示姓名首尾字符,隐藏中间字符并用*替换
    微信小程序 tp5上传图片
    thinkphp 调用wsdl接口实例化SoapClient抛出异常
  • 原文地址:https://www.cnblogs.com/subendong/p/7220976.html
Copyright © 2011-2022 走看看