zoukankan      html  css  js  c++  java
  • es的集群搭建

    一、创建普通用户

    注意:ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数数据文件以及安装包等

    创建一个es专门的用户(必须

    使用root用户在三台机器执行以下命令

    useradd es 
    mkdir -p /export/servers/es
    chown -R es /export/servers/es
    passwd es
    

    二、为普通用户es添加sudo权限

    为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作

    三台机器使用root用户执行visudo命令然后为es用户添加权限

    visudo
    
    es      ALL=(ALL)       ALL

    三、下载并上传压缩包,然后解压

    将es的安装包下载并上传到hadoop01服务器的/home/es路径下,然后进行解压

    使用es用户来执行以下操作(断开连接linux的工具,然后重新使用es用户连接上三台linux服务器

    hadoop01服务器使用es用户执行以下命令

    cd /home/es/
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz
    tar -zxf elasticsearch-6.7.0.tar.gz -C /export/servers/es/
    

    四、修改配置文件

      修改elasticserch.yml

       hadoop01服务器使用es用户来修改配置文件

    cd /export/servers/es/elasticsearch-6.7.0/config
    mkdir -p /export/servers/es/elasticsearch-6.7.0/logs
    mkdir -p /export/servers/es/elasticsearch-6.7.0/datas
    rm -rf elasticsearch.yml
    vim elasticsearch.yml
    
    
    
    cluster.name: myes
    node.name: hadoop01
    path.data: /export/servers/es/elasticsearch-6.7.0/datas
    path.logs: /export/servers/es/elasticsearch-6.7.0/logs
    network.host: 192.168.100.201
    http.port: 9200
    discovery.zen.ping.unicast.hosts: ["hadoop01", "hadoop02", "hadoop03"]
    bootstrap.system_call_filter: false
    bootstrap.memory_lock: false
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    修改jvm.option

    修改jvm.option配置文件,调整jvm堆内存大小

    hadoop01使用es用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整

    cd /export/servers/es/elasticsearch-6.7.0/config
    vim jvm.options
    
    -Xms2g
    -Xmx2g
    

    五、将安装包分发到其他服务器上面

    cd /export/servers/es/
    scp -r elasticsearch-6.7.0/ hadoop02:$PWD
    scp -r elasticsearch-6.7.0/ hadoop03:$PWD
    

    六、hadoop02和hadoop03修改es配置文件

    cd /export/servers/es/elasticsearch-6.7.0/config
    vim elasticsearch.yml
    
    
    cluster.name: myes
    node.name: hadoop02
    path.data: /export/servers/es/elasticsearch-6.7.0/datas
    path.logs: /export/servers/es/elasticsearch-6.7.0/logs
    network.host: 192.168.100.202
    http.port: 9200
    discovery.zen.ping.unicast.hosts: ["hadoop01", "hadoop02", "hadoop03"]
    bootstrap.system_call_filter: false
    bootstrap.memory_lock: false
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    
    
    03上修改
    
    cd /export/servers/es/elasticsearch-6.0.0/config/
    vim elasticsearch.yml
    cluster.name: myes
    node.name: hadoop03
    path.data: /export/servers/es/elasticsearch-6.7.0/datas
    path.logs: /export/servers/es/elasticsearch-6.7.0/logs
    network.host: 192.168.100.203
    http.port: 9200
    discovery.zen.ping.unicast.hosts: ["hadoop01", "hadoop02", "hadoop03"]
    bootstrap.system_call_filter: false
    bootstrap.memory_lock: false
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    七、修改系统配置,解决启动时候的问题

    由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚

    解决启动问题一:普通用户打开文件的最大数限制

    问题错误信息描述:

    max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

    ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

    三台机器使用es用户执行以下命令解除打开文件数据的限制

    sudo vi /etc/security/limits.conf

    添加如下内容: 注意*不要去掉了

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

    解决启动问题二:普通用户启动线程数限制

    问题错误信息描述

    max number of threads [1024] for user [es] likely too low, increase to at least [4096]

    修改普通用户可以创建的最大线程数

    max number of threads [1024] for user [es] likely too low, increase to at least [4096]
    原因:无法创建本地线程问题,用户最大可创建线程数太小
    解决方案:修改90-nproc.conf 配置文件。

    三台机器使用es用户执行以下命令修改配置文件

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

    找到如下内容:

    * soft nproc 1024
    #修改为
    * soft nproc 4096
    

    解决启动问题三:普通用户调大虚拟内存

    错误信息描述:

    max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    调大系统的虚拟内存

    原因:最大虚拟内存太小

    每次启动机器都手动执行下。

    三台机器执行以下命令,注意每次启动ES之前都要执行

    sudo  sysctl -w vm.max_map_count=262144 

    备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效
    需要保存、退出、重新登录xshell才可生效。

    八、启动ES服务

    三台机器使用es用户执行以下命令启动es服务

    nohup /export/servers/es/elasticsearch-6.7.0/bin/elasticsearch 2>&1 &

    启动成功之后jsp即可看到es的服务进程,并且访问页面

    http://hadoop01:9200/?pretty

    能够看到es启动之后的一些信息

    注意:如果哪一台机器服务启动失败,那么就到哪一台机器的这个路径下面去查看错误日志

    /export/servers/es/elasticsearch-6.7.0/logs

    hadoop01 安装 elasticsearch-head插件

    1、下载node安装包并解压

    cd /home/es
    wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz
    tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /export/servers/es/
    

    2、创建软连接

    sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
    sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node
    

    3、修改环境变量

    sudo vim /etc/profile
    
    export NODE_HOME=/export/servers/es/node-v8.1.0-linux-x64
    export PATH=:$PATH:$NODE_HOME/bin
    
    source /etc/profile
    
    

    4、验证安装成功

    node -v
    npm -v
    

    5、上传压缩包到/home/es并解压

    cd /home/es/
    tar -zxvf elasticsearch-head-compile-after.tar.gz -C /export/servers/es/
    

    6、hadoop01机器修改Gruntfile.js

    cd /export/servers/es/elasticsearch-head
    vim Gruntfile.js
    -- 添加一行: hostname: '192.168.100.100',
    
    
    
    connect: {
                            server: {
                                  options: {
                                         hostname: '192.168.100.100',
                                         port: 9100,
                                         base: '.',cd
                                         keepalive: true
                                    }
                            }
                    }
    

    7、hadoop01机器修改app.js

    cd /export/servers/es/elasticsearch-head/_site
    vim app.js
    更改前:http://localhost:9200
    更改后:http://hadoop01:9200
    
    停止
    netstat -nltp | grep 9100
    kill -9 进程号
    

    8、启动head

    cd /export/servers/es/elasticsearch-head/node_modules/grunt/bin/
    进程前台启动命令
    ./grunt server
    进程后台启动命令
    nohup ./grunt server >/dev/null 2>&1 &
    

    9、访问

    http://192.168.100.201:9100/

    安装kiban

    1、下载资源上传服务器并解压

    cd /home/es
    在线下载
    wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-linux-x86_64.tar.gz
    tar -zxf kibana-6.7.0-linux-x86_64.tar.gz -C /export/servers/es/
    

    2、修改配置文件

    cd /export/servers/es/kibana-6.7.0-linux-x86_64/config/
    vi kibana.yml
    
    server.host: "hadoop01"
    elasticsearch.hosts: ["http://hadoop01:9200"]
    

    3、启动服务

    cd /export/servers/es/kibana-6.7.0-linux-x86_64
    nohup bin/kibana >/dev/null 2>&1 &
    
    
    停止
    ps -ef | grep node
    kill掉

    4、访问

    http://hadoop01:5601

    安装分词器

    1、安装

    cd /home/es
    wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.0/elasticsearch-analysis-ik-6.7.0.zip
    # 将ik分词器的插件,上传到/home/es目录下 
    cd /home/es 
    mkdir  /export/servers/es/elasticsearch-6.7.0/plugins/analysis-ik/
    unzip elasticsearch-analysis-ik-6.7.0.zip -d /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/
    
    
    分发
    cd /export/servers/es/elasticsearch-6.7.0/plugins
    scp -r analysis-ik/ hadoop02:$PWD
    scp -r analysis-ik/ hadoop03:$PWD
    
    
    重启es服务
    1、kill掉
    2、nohup /export/servers/es/elasticsearch-6.7.0/bin/elasticsearch >/dev/null 2>&1 &

    2、安装tomcat

    cd /home/es
    tar -zxvf apache-tomcat-8.5.34.tar.gz -C /export/servers/es/
    
    tomcat当中添加配置hot.dic
    cd /export/servers/es/apache-tomcat-8.5.34/webapps/ROOT/
    vi hot.dic   写入想对应的内容
    
    
    # 启动tomcat
    /export/servers/es/apache-tomcat-8.5.34/bin/startup.sh 
    浏览器访问
    wget http://hadoop01:8080/hot.dic
    

    3、三台机器修改配置文件

    cd /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/config
    vim IKAnalyzer.cfg.xml
    
      <!--用户可以在这里配置远程扩展字典 -->
            <entry key="remote_ext_dict">http://hadoop01:8080/hot.dic</entry>
    
    
    cd /export/servers/es/elasticsearch-6.7.0/plugins/analysis-ik/config
    sudo scp IKAnalyzer.cfg.xml  hadoop02:$PWD
    sudo scp IKAnalyzer.cfg.xml  hadoop03:$PWD
    

    4、三台机器修改JDK权限

    第一台机器执行以下命令修改jdk的权限问题
    #修改JDK安全设置
    cd /export/servers/jdk1.8.0_141/jre/lib/security
    sudo vim java.policy
    添加以下四行配置
     permission java.net.SocketPermission "192.168.100.201:8080","accept";
     permission java.net.SocketPermission "192.168.100.201:8080","listen";
     permission java.net.SocketPermission "192.168.100.201:8080","resolve";
     permission java.net.SocketPermission "192.168.100.201:8080","connect";
    
    修改完成之后拷贝到第二台和第三台机器
    node01执行以下命令拷贝到第二台和第三台
    cd /export/servers/jdk1.8.0_141/jre/lib/security
    sudo scp java.policy  hadoop02:$PWD
    sudo scp java.policy  hadoop03:$PWD
    

    5、三台机器重新启动es

    cd /export/servers/es/elasticsearch-6.0.0/
    nohup bin/elasticsearch >/dev/null 2>&1 &
    
  • 相关阅读:
    linux查看java jdk安装路径和设置环境变量
    linq where in 排序
    Console程序后台运行
    winform中文本框,软键盘跟随
    winform 应用log4net做日志记录到mysql
    c# 单实例运行
    Sql Server数据库监听 c#代码
    winform程序开机自动启动
    c# 连接mysql配置config,不用装net connector
    winform 不规则窗体无锯齿demo
  • 原文地址:https://www.cnblogs.com/haojia/p/12386209.html
Copyright © 2011-2022 走看看