Elasticsearch 入门(安装、调试)

 

最近看了下elasticsearch(后面我们叫他es,是不是很熟悉),这个软件是用来做搜索的,我也是个小白,不太清楚现在普遍用的是什么,我自己研究了下,记下来,有一些坑。

1.安装 java环境

    这里是需要java环境的,因此,首先要安装java环境

    1.1 下载java  jdk,直接将下载好的jdk-8u151-linux-x64.rpm 安装包 ;上传到自己创建好的JAVA文件下;cd 命令进入到JAVA文件下使用rpm 命令进行安装 rpm -ivh jdk-8u131-linux-x64.rpm

    1.2 安装完成后执行 java -version 命令查看安装是否成功

     

    1.3 配置环境变量,执行命令 vi /etc/profile;然后进入编辑模式,在文件的最后添加下面的配置,如图

      JAVA_HOME=/usr/javajdk1.8.0_151
      JRE_HOME=/usr/java/jdk1.8.0_151/jre
      CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
      PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

      修改完配置后,使用Esc 键退出,输入:wq 保存并退出  

      1.4 执行命令 source /etc/profile 使用环境变量生效

这个时候我们就能开始安装es了

2 安装es

    2.1 下载、安装

     下载ES安装包elasticsearch-5.6.3.zip 在usr 目录下创建了es文件夹,将安装包上传到里面,解压 unzip elasticsearch-5.6.3.zip cd 进入 elasticsearch-5.6.3 文件里面 (5.6.3   这个是版本号,可以随便选择

      

     2.2 创建ES用户和组(创建elsearch用户组及elsearch用户,这是第一个坑,root是不能最直接运行es的),因为使用root用户执行ES程序,将会出现错误;所以这里需要创建单独的用户去执行ES 文件;命令如下:

      命令一:groupadd elsearch

      命令二:useradd elsearch -g elsearch

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

      2.3 修改host 文件,执行命令 vi /etc/hosts ,如图

      Elasticsearch 入门(安装、调试)

      2.4 创建ES数据文件和日志文件,直接在root用户根目录一下创建就可以了

      执行命令:mkdir /data

      命令二:chown -R elsearch:elsearch /data/

      命令三:su - elsearch 切换用户

      命令四:mkdir -p es/data

      命令五:mkdir -p es/logs

     2.5 修改ES配置文件,使用cd命令进入到config 文件下,执行 vi elasticsearch.yml 命令,如图所示,本人没有配置集群,只是简单的配置了一下;详细说明可以参考官网;

Elasticsearch 入门(安装、调试)

                

到此,es就安装配置好了,接下来就是访问

    

执行ES文件,进入到bin 目录下执行 ./elasticsearch 命令就可以了,执行 ./elasticesrarch -d 是后台运行   

      如果没有什么问题话,就可以安全生成了;然后执行curl 'http://自己配置的IP地址:9200/' 命令,就出现下面的结果

      Elasticsearch 入门(安装、调试)

3 问题

 3.1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是说你的进程不够用了

                  解决方案: 切到root 用户:进入到security目录下的limits.conf;执行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的参数值:

                                    * soft nofile 65536

                                    * hard nofile 131072

                                    * soft nproc 2048

                                   * hard nproc 4096

                               前面的*符号必须带上,然后重新启动就可以了。执行完成后可以使用命令 ulimit -n 查看进程数      

  3.2.[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]  需要修改系统变量的最大值了

                      解决方案:切换到root用户修改配置sysctl.conf  增加配置值: vm.max_map_count=655360

           执行命令 sysctl -p   这样就可以了,然后重新启动ES服务 就可以了

 

4  安装中文分词插件。这里使用的是 ik

    4.1 

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

 这个简单,这样就可以了,关键是版本选择,与我们es版本一定要一致,不然会报错。

 

参考资料:

1.大神博客http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

2.阮一峰老师文章http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

3.ik官网https://github.com/medcl/elasticsearch-analysis-ik/