ElasticSearch(一)--安装与配置以及Head插件的安装

关于es是什么?能做什么?有什么优势?本文不在多说,如有不清楚请查看Elasticsearch学习,请先看这一篇!

本文主要是记录如何在linux下安装es环境以及配置,博主使用的是Centos,linux系统间相差不大。

首先ES需要运行在java8,重要的事情说三遍,一定不要求新,使用java9!一定不要求新,使用java9!一定不要求新,使用java9!

第一步,安装jdk。

1. 检测是否有java环境,rpm -qa | grep jdk或者java
2. 如果有 先卸载掉之前的java环境: rpm -e nodeps 进程名称  没有请看第三步
3. 安装jdk ,导入安装包,一般在 /usr/local/ 下创建一个 java目录作为安装目录
4. 解压文件到java目录下
5. 配置环境变量: vi /etc/profile ,在文件最后添加以下信息:根据自己的安装包修改以及安装路径
            #set java environment
            JAVA_HOME=/usr/local/java/jdk1.8.0_131
            CLASSPATH=.:$JAVA_HOME/lib.tools.jar
            PATH=$JAVA_HOME/bin:$PATH

            export JAVA_HOME CLASSPATH PATH

6. 保存profile 文件,并退出

7. 执行source /etc/profile 使更改的配置立即生效

8. 验证是否安装成功,java -version

第二步,下载安装ES

es下载地址,楼主使用的是5.5.2,根据自己的需要下载对应的版本。

1. 将下载好的es包上传到linux 的 /usr/local/es下,解压。

2. 强调一点,es不能使用root账户启动,因此需要创建用户和组,执行以下命令

groupadd elsearch
useradd elsearch -g elsearch
chown -R elsearch:elsearch elasticsearch-5.6.3  该命令是更改该文件夹下所属的用户组的权限

3. 创建ES的数据存放目录以及日志存放目录,建议在root的根目录下创建。

mkdir /data
chown -R elsearch:elsearch /data/
su - elsearch 切换用户
mkdir -p es/data
mkdir -p es/logs

4. 修改ES中的配置,修改后的配置文件,稍候会指出为什么要修改这些配置。





5. 运行es,sh /usr/local/es/elasticsearch-5.5.2/bin/elasticsearch ,这是前台启动,如果需要后台启动,在后面加上 -d

    运行时,可能会出现以下问题。

            [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
                解决办法: vi /etc/security/limits.conf ,添加或者修改
                    * hard nofile 65536
                    * soft nofile 65536
            [2]: max number of threads [1024] for user [elastic] is too low, increase to at least [2048]
                解决办法: vi /etc/security/limits.d/90-nproc.conf  ,注意这里*号是必须的
                    *          soft    nproc     1024
                    *          soft    nproc     2048
            [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
                解决办法:  vi /etc/sysctl.conf
                    添加 vm.max_map_count = 262144
                    执行 sudo sysctl -p /etc/sysctl.conf  让修改立即生效
            [4] ERROR: [1] bootstrap checks failed
                [1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters                     at your own risk
                问题原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导                    致 检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899
                解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
                bootstrap.memory_lock: false

                bootstrap.system_call_filter: false

       7. 验证。curl http://192.168.17.135:9200 ,如果连接成功会有一个json字符串显示出来,浏览器输入也可以。如果还是存在问题,请检查以上配置是否都已经修改。

    

    第三步,安装head插件

   1.  下载head插件,将下载好的插件配置上传到linux中,注意不要放在es目录下,与es目录同级即可。解压

unzip elasticsearch-head-master

    2.  head 插件是node.js实现的,因此需要安装nodejs

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs

    安装完成,验证是否安装成功:

[elastic@localhost es]$ node -v 
v8.11.1
[elastic@localhost es]$ npm -v
5.6.0

    3.  进入elasticsearch-head-master目录,安装grunt

npm install grunt --save-dev
npm install     

    4. 修改配置文件,cd 进入elasticsearch-head-master 文件夹下,执行命令vim Gruntfile.js文件:增加hostname属性,设置为*;如图:

    

    5. 修改head插件的连接地址,vim _site/app.js 文件:修改head的连接地址:,如图所示:在js文件的最下面,我是找了蛮久,ip地址改为你的es所在服务器的ip

    

6. 修改配置,elasticsearch.yml,添加

http.cors.enabled: true
http.cors.allow-origin: "*"
    这个配置主要是允许插件访问。

7. 在elasticsearch-head-master 下执行,npm run start 命令,启动。

    

    这是就可以在浏览器中访问es了,注意端口是9100.成功结果如下:

    

    

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值