十.ES集群环境搭建
    1.将安装包分发到其他服务器上面
    2.修改elasticsearch.yml
    node1.baiqi.cn 服务器使用baiqi用户来修改配置文件

    1. mkdir -p /usr/local/es/elasticsearch-7.6.1/log
    2. mkdir -p /usr/local/es/elasticsearch-7.6.1/data
    3. cd /usr/local/es/elasticsearch-7.6.1/config
    4. rm -rf elasticsearch.yml
    5. vim elasticsearch.yml
    6. cluster.name: baiqi-es
    7. node.name: node1.baiqi.cn
    8. path.data: /usr/local/es/elasticsearch-7.6.1/data
    9. path.logs: /usr/local/es/elasticsearch-7.6.1/log
    10. network.host: node1.baiqi.cn
    11. http.port: 9200
    12. discovery.seed_hosts: ["IP1", "IP2", "IP3"]
    13. cluster.initial_master_nodes: ["节点1名称", "节点2名称", "节点3名称"]
    14. bootstrap.system_call_filter: false
    15. bootstrap.memory_lock: false
    16. http.cors.enabled: true
    17. http.cors.allow-origin: "*"

    3.修改jvm.option
    修改jvm.option配置文件,调整jvm堆内存大小
    node1.baiqi.cn使用baiqi用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整。

    1. cd /usr/local/es/elasticsearch-7.6.1/config
    2. vim jvm.options
    3. -Xms2g
    4. -Xmx2g

    4.node2与node3修改es配置文件
    node2.baiqi.cn与node3.baiqi.cn也需要修改es配置文件
    node2.baiqi.cn使用baiqi用户执行以下命令修改es配置文件

    1. mkdir -p /usr/local/es/elasticsearch-7.6.1/log
    2. mkdir -p /usr/local/es/elasticsearch-7.6.1/data
    3. cd /usr/local/es/elasticsearch-7.6.1/config
    4. vim elasticsearch.yml
    5. cluster.name: baiqi-es
    6. node.name: node2.baiqi.cn
    7. path.data: /usr/local/es/elasticsearch-7.6.1/data
    8. path.logs: /usr/local/es/elasticsearch-7.6.1/log
    9. network.host: node2.baiqi.cn
    10. http.port: 9200
    11. discovery.seed_hosts: ["IP1", "IP2", "IP3"]
    12. cluster.initial_master_nodes: ["节点1名称", "节点2名称", "节点3名称"]
    13. bootstrap.system_call_filter: false
    14. bootstrap.memory_lock: false
    15. http.cors.enabled: true
    16. http.cors.allow-origin: "*"

    node3.baiqi.cn使用baiqi用户执行以下命令修改配置文件

    1. mkdir -p /usr/local/es/elasticsearch-7.6.1/log
    2. mkdir -p /usr/local/es/elasticsearch-7.6.1/data
    3. cd /usr/local/es/elasticsearch-7.6.1/config
    4. vim elasticsearch.yml
    5. cluster.name: baiqi-es
    6. node.name: node3.baiqi.cn
    7. path.data: /usr/local/es/elasticsearch-7.6.1/data
    8. path.logs: /usr/local/es/elasticsearch-7.6.1/log
    9. network.host: node3.baiqi.cn
    10. http.port: 9200
    11. discovery.seed_hosts: ["IP1", "IP2", "IP3"]
    12. cluster.initial_master_nodes: ["节点1名称", "节点2名称", "节点3名称"]
    13. bootstrap.system_call_filter: false
    14. bootstrap.memory_lock: false
    15. http.cors.enabled: true
    16. http.cors.allow-origin: "*"

    查看集群状态:

    1. GET _cat/nodes?v
    2. GET _cat/health?v

    十一.Elasticsearch-head插件
    由于es服务启动之后,访问界面比较丑陋,为了更好的查看索引库当中的信息,我们可以通过安装elasticsearch-head这个插件来实现,这个插件可以更方便快捷的看到es的管理界面
    elasticsearch-head这个插件是es提供的一个用于图形化界面查看的一个插件工具,可以安装上这个插件之后,通过这个插件来实现我们通过浏览器查看es当中的数据
    安装elasticsearch-head这个插件这里提供两种方式进行安装,第一种方式就是自己下载源码包进行编译,耗时比较长,网络较差的情况下,基本上不可能安装成功。
    第二种方式就是直接使用我已经编译好的安装包,进行修改配置即可
    要安装elasticsearch-head插件,需要先安装Node.js
    1 安装nodejs
    Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js 不是一个 JavaScript 框架,不同于CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
    1.1 下载安装包
    node1.baiqi.cn机器执行以下命令下载安装包,然后进行解压

    1. cd /usr/local/es
    2. wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz
    3. tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /usr/local/es/

    1.2 创建软连接
    node1.baiqi.cn执行以下命令创建软连接

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

    1.3 修改环境变量
    node1.baiqi.cn服务器添加环境变量

    1. vi /etc/profile
    2. export NODE_HOME=/usr/local/es/node-v8.1.0-linux-x64
    3. export PATH=:$PATH:$NODE_HOME/bin

    修改完环境变量使用source生效
    source /etc/profile
    1.4 验证安装成功
    node1.baiqi.cn执行以下命令验证安装生效
    node -v
    npm -v
    2 **本地安装
    2.1 上传压缩包到/usr/local/es路径下去
    将我们的压缩包 elasticsearch-head-compile-after.tar.gz 上传到服务器的/usr/local/es 路径下面去
    2.2 解压安装包
    在服务器中执行以下命令解压安装包
    cd /usr/local/es/
    tar -zxvf elasticsearch-head-compile-after.tar.gz -C /usr/local/es/
    2.3 node1.baiqi.cn机器修改Gruntfile.js**
    修改Gruntfile.js这个文件
    cd /usr/local/es/elasticsearch-head
    vim Gruntfile.js
    找到代码中的93行:hostname: ‘192.168.100.100’, 修改为:node1.baiqi.cn

    1. connect: {
    2. server: {
    3. options: {
    4. hostname: 'node1.baiqi.cn',
    5. port: 9100,
    6. base: '.',
    7. keepalive: true
    8. }
    9. }
    10. }

    2.4 node1机器修改app.js
    第一台机器修改app.js
    cd /usr/local/es/elasticsearch-head/_site
    vim app.js
    在Vim中输入「:4354」,定位到第4354行,修改 http://localhost:9200为http://node1.baiqi.cn:9200
    2.5 启动head服务
    node1.baiqi.cn启动elasticsearch-head插件
    cd /usr/local/es/elasticsearch-head/node_modules/grunt/bin/
    进程前台启动命令
    ./grunt server
    进程后台启动命令
    nohup ./grunt server >/dev/null 2>&1 &

    1. Running "connect:server" (connect) taskWaiting forever...Started connect web server on http://192.168.52.100:9100
    2. 如何停止:elasticsearch-head进程
    3. 执行以下命令找到elasticsearch-head的插件进程,然后使用kill -9 杀死进程即可
    4. netstat -nltp | grep 9100
    5. kill -9 8328

    image.png
    2.6** 访问elasticsearch-head界面**
    打开Google Chrome访问
    http://ip:9100/
    注意:搭建es集群,启动三个es节点,访问elasticsearch-head时只显示一个master
    解决方案:进到节点2、3的/elasticsearch-7.6.1/data/目录下删除nodes文件,之后重启节点2、3的es进程即可