ES入门创建

Linux 安装 Elasticsearch 详情步骤已及解决方案

第一步:环境

         Linux系统 Java 1.8  elasticsearch-6.3.2

第二步:下载

2.1 JDK的下载可以去官网上直接下载,尽量使用jdk8 ,jdk7不支持,jdk9暂时有错误。

2.2 ES 去官网直接下载。

第三步:安装

         3.1安装JDK环境

          a.前提:查看该系统是否安装过Java 环境,如果安装过将其卸载安装最新的版本,更换Java 的版本也可以这样去操作。

     b.执行rpm –qa|grep jdk查看安装jdk版本,如果没有输出则没有安装过jdk

     c.使用rpm -e –nodeps java-1.8卸载jdk,再使用rpm –qa|grep jdk查看安装jdk版本是否卸载。

     d. 直接将下载好的jdk-8u151-linux-x64.rpm 安装包 ;上传到自己创建好的JAVA文件下;cd 命令进入到JAVA文件下使用rpm 命令进行安装 rpm -ivh jdk-8u131-linux-x64.rpm 安装完成后执行 java -version 命令查看安装是否成功

     e:查看安装目录

                   which java 查询java目录

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

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

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

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

      end: 验证环境变量是否生效,分别执行下面的命令echo $JAVA_HOME  echo $CLASSPATH  echo $PATH  

 

 

 

 

3.2安装ES

    1:下载elasticsearch-5.6.3.zip,在usr目录下创建es文件,进入esunzip elasticsearch-6.3.2.zip解压文件,cd进入elasticsearch-6.3.2文件

2:创建用户和组(创建elasearchs组,及elasearch用户),因为不能直接使用root用户执行ES程序。

  groupadd  elasearchs增加用户组。

useradd  elasearch –g elasearchs 增加用户到用户组。

chown –R elasearchs /usr/es/ elasticsearch-6.3.2 增加用户组权限。

3.创建ES数据文件和日志文件,直接在root 用户根目录创建即可

   mkdir /data 创建文件夹data

   chown –R elasearchs /data给用户组增加权限

   su – elasearchs 切换用户

   进入 /data

   创建文件 mkdir es/data, mkdir es/logs

4.修改ES配置文件,使用cd 进入到/usr/es/ elasticsearch-6.3.2/config下,执行vi elasticsearch.yml 命令,如图所示

https://images2017.cnblogs.com/blog/441878/201711/441878-20171109115845341-497037332.png

       

     6. 执行ES文件,进入到bin 目录下执行 ./elasticsearch 命令就可以了,执行 ./elasticesrarch -d 是后台运行, 如果没有什么问题话,就可以安全生成了;然后执行curl 'http://自己配置的IP地址:9200/' 命令,就出现下面的结果。

https://images2017.cnblogs.com/blog/441878/201711/441878-20171109120238513-1995609032.png

第四步:问题

 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 查看进程数      

                    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服务 就可以了

5部:安装head插件

 

  1. 下载head安装包,下载地址:https://github.com/mobz/elasticsearch-head/archive/master.zip 这是接从git 上下载下来,解压到虚拟机(我是解压到es文件夹下与es并列。)

  1. 执行插件head 需要先执行node.js 所以先安装 node.js
  2. curl –sL https://rpm.nodesource.com/setup_8.x | bash -

yum install –y node.js

执行完后,可以使用命令node –v 验证是否安装成功,同时npm也安装成功了

     npm –v 可验证是否安装成功。

  1. 安装grunt 由于插件执行文件由grunt命令来执行完成 所以要先安装

由于grunt是对具体项目操作 所以对header项目内进行安装

进入elasticsearch-head-master 目录

   执行 npm install grunt –save-dev 安装环境

        npm install grunt 安装grunt

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

  1. 修改 vi _site/app.js文件 修改head的连接地址

  1. grunt server &  执行完成后就OK

 注意下面使用的端口号,不在是9200 而是head 插件中的 9100

输入192.168.147.21:9100

 

看到上面的出现的健康值了吗,说明的连接还是有问题的,解决方案是修改 cd 命令进入到elasticsearch-5.6.3 /config 文件中 vi elasticsearch.yml

  文件下添加

        http.cors.enabled: true
        http.cors.allow-origin: "*"

 

切换到elasearch 用户执行进入ES bin下执行./elasticsearch 成功起来就可以了,执行结果就是这样的

第四步:集群(在同一台机器配置集群会出现,elasearch-head访问问题,因为http.port: 不能同时为9200)

重复上面安装操作(如果是一台机器只重复es安装,将es文件下elasticsearch-5.6.3复制到自己创建文件下(/usr/es02),修改配置文件节点及http.port: 9200即可,给elasearch增加es02权限。)

修改下vi elasticsearch.yml文件

 

 

 

修改节点:node.name: JSJ-ES01

增加交互端口:transport.tcp.port: 9300

增加集群连接集:discovery.zen.ping.unicast.hosts: ["192.168.147.21:9301","192.168.147.21:9300"],

增加最小主节点:discovery.zen.minimum_master_nodes: 1    为n/2+1

action.auto_create_index: false

问题:部署集群时问题 

    1.部署集群时可以使用伪集群配置展示效果,使每个文件配置transport.tcp.port和http.port不相同.

     2.transport.tcp.port集群时不同机器使用相同端口默认9300,因为java配置使用集群配置方便读取,当然可以使用不同

     transport.tcp.port主要用于集群各不同机器之间交互访问和Java访问.

      3.http.port配置集群时一般为了elasticsearch-head-master插件访问,也使用相同端口默认9200,这个配置主要时为了elasticsearch-head-master插件对集群的访问.

 

 

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值