|NO.Z.00003|——————————|Deployment|——|Hadoop&ElasticSearch集中式日志分析系统.v03|——|Elasticsearch.v03|ElasticSearch集群部署.V1|

一、Elasticsearch 集群环境准备
### --- hadoop01~03修改系统配置:修改/etc/sysctl.conf

~~~     # 修改/etc/sysctl.conf
[root@hadoop01 ~]# vim /etc/sysctl.conf
~~~在文件末尾添加如下参数
vm.max_map_count=655360
~~~     # 执行sysctl -p 让其生效

[root@hadoop01 ~]# sysctl -p
### --- 修改/etc/security/limits.conf

~~~     # 修改linux系统对文件描述符的限制级别
[root@hadoop01 ~]# vim /etc/security/limits.conf
~~~     # 在文件末尾添加如下参数
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
### --- 准备工作:创建es用户

~~~     # hadoop01~03创建es用户(必须),因为es不能用root用户启动
[root@hadoop01 ~]# useradd es
[root@hadoop01 ~]# passwd es
New password:123456
~~~     # hadoop01~03使用root用户执行visudo然后为es用户添加权限

[root@hadoop01 ~]# vim /etc/sudoers
~~~     # 第101行添加如下内容
es ALL=(ALL) ALL
### --- 使用root用户创建工作目录

~~~     # hadoop01~03创建es环境目录
[root@hadoop01 ~]# mkdir -p /opt/yanqi/servers/es
[root@hadoop01 ~]# mkdir -p /opt/yanqi/servers/es/data/es
[root@hadoop01 ~]# mkdir -p /opt/yanqi/servers/es/logs/es
[root@hadoop01 ~]# chown -R es /opt/yanqi/servers/es
[root@hadoop01 ~]# chown -R es /opt/yanqi/servers/es/data/es
[root@hadoop01 ~]# chown -R es /opt/yanqi/servers/es/logs/es
二、elasticsearch分布式部署:Hadoop01
### --- 分布式安装部署:# 使用es用户连接服务器

~~~     # hadoop01解压版本包
[es@hadoop01 software]$ tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz -C ../servers/es/
~~~     # 修改版本包名称   
[es@hadoop01 ~]$ mv /opt/yanqi/servers/es/elasticsearch-7.3.0/ /opt/yanqi/servers/es/elasticsearch
### --- 修改配置文件:elasticsearch.yml配置文件说明:

~~~     # hadoop01下修改es配置文件参数:
[es@hadoop01 ~]$ vim /opt/yanqi/servers/es/elasticsearch/config/elasticsearch.yml
 ~~~    第17行:集群名字
cluster.name: myes
 ~~~    第23行:集群中当前的节点
node.name: hadoop01
 ~~~    第33行:数据目录
path.data: /opt/yanqi/servers/es/data/es
 ~~~    第37行:日志目录
path.logs: /opt/yanqi/servers/es/logs/es
 ~~~    第55/59行:当前主机的ip地址:ECS使用内网地址
network.host: hadoop01
http.port: 9200
 ~~~    第72行:初始化一个新的集群时需要此配置来选举master:ECS使用内网地址
cluster.initial_master_nodes: ["hadoop01","hadoop02","hadoop03"]
 ~~~    第68行:写入候选主节点的设备地址
discovery.seed_hosts: ["hadoop01","hadoop02","hadoop03"]
 ~~~    第89/90行:行尾添加: 跨域,适用于所有域名
http.cors.enabled: true
http.cors.allow-origin: "*"
### --- 安装包分发到其他两台机器上

~~~     # hadoop01节点发送es版本包到其它主机
[es@hadoop01 ~]$ cd /opt/yanqi/servers/es/
[es@hadoop01 es]$ scp -r elasticsearch/ hadoop02:$PWD
[es@hadoop01 es]$ scp -r elasticsearch/ hadoop03:$PWD
三、elasticsearch分布式部署:Hadoop02/hadoop03
### --- hadoop02主机修改elasticsearch.yaml

~~~     # hadoop02主机修改elasticsearch.yaml配置文件
[es@hadoop02 ~]$ vim /opt/yanqi/servers/es/elasticsearch/config/elasticsearch.yml
 ~~~    第17行:集群名字
cluster.name: myes
 ~~~    第23行:集群中当前的节点
node.name: hadoop02
 ~~~    第33行:数据目录
path.data: /opt/yanqi/servers/es/data/es
 ~~~    第37行:日志目录
path.logs: /opt/yanqi/servers/es/logs/es
 ~~~    第55/59行:当前主机的ip地址
network.host: hadoop02
http.port: 9200
 ~~~    第72行:初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["hadoop01","hadoop02","hadoop03"]
 ~~~    第68行:写入候选主节点的设备地址
discovery.seed_hosts: ["hadoop01","hadoop02","hadoop03"]
 ~~~    第89/90行:行尾添加: 跨域,适用于所有域名
http.cors.enabled: true
http.cors.allow-origin: "*"
### --- hadoop03主机修改elasticsearch.yaml

~~~     # hadoop03主机修改elasticsearch.yaml配置文件
[es@hadoop03 ~]$ vim /opt/yanqi/servers/es/elasticsearch/config/elasticsearch.yml
 ~~~    第17行:集群名字
 17 cluster.name: myes
 ~~~    第23行:集群中当前的节点
 23 node.name: hadoop03
 ~~~    第33行:数据目录
 33 path.data: /opt/yanqi/servers/es/data/es
 ~~~    第37行:日志目录
 37 path.logs: /opt/yanqi/servers/es/logs/es
 ~~~    第55/59行:当前主机的ip地址
 55 network.host: hadoop03
 59 http.port: 9200
 ~~~    第72行:初始化一个新的集群时需要此配置来选举master
 72 cluster.initial_master_nodes: ["hadoop01","hadoop02","hadoop03"]
 ~~~    第68行:写入候选主节点的设备地址
 68 discovery.seed_hosts: ["hadoop01","hadoop02","hadoop03"]
 ~~~    第89/90行:行尾添加: 跨域,适用于所有域名
 89 http.cors.enabled: true
 90 http.cors.allow-origin: "*"
四、修改jvm内存参数大小
### --- hadoop01~03修改jvm内存大小

[es@hadoop01 ~]$ vim /opt/yanqi/servers/es/elasticsearch/config/jvm.options
 ~~~    第22~23行:修改内存
-Xms2g
-Xmx2g

五、启动es服务
### --- 启动es服务

~~~     # hadoop01~03:后台启动es服务,要发现错误的话,去/opt/yanqi/servers/logs/es目录下查看。
[es@hadoop01 ~]$ nohup /opt/yanqi/servers/es/elasticsearch/bin/elasticsearch >/dev/null 2>&1 &
~~~     # 查看es服务进程
[es@hadoop01 ~]$ jps
1500 Elasticsearch
 
[es@hadoop01 ~]$ ps -ef | grep 1500
es        1500  1279  8 14:49 pts/1    00:00:37 /opt/yanqi/servers/jdk1.8.0_231/bin/java -Xms512m -Xmx512m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch-7630453916949373570 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -Dio.netty.allocator.type=unpooled -XX:MaxDirectMemorySize=268435456 -Des.path.home=/opt/yanqi/servers/es/elasticsearch -Des.path.conf=/opt/yanqi/servers/es/elasticsearch/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /opt/yanqi/servers/es/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch
es        1570  1500  0 14:49 pts/1    00:00:00 /opt/yanqi/servers/es/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
### --- 访问es服务

~~~     # http://hadoop01:9200/?pretty  ;pretty:格式化的,漂亮的。
~~~     # UI.输出参数
{
  "name" : "hadoop01",
  "cluster_name" : "myes",
  "cluster_uuid" : "dkCOn-auSUCJH42iBUSO1w",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
~~~     # http://hadoop02:9200/?pretty  ;pretty:格式化的,漂亮的。
~~~     # UI.输出参数

{
  "name" : "hadoop02",
  "cluster_name" : "myes",
  "cluster_uuid" : "dkCOn-auSUCJH42iBUSO1w",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
~~~     # http://hadoop03:9200/?pretty  ;pretty:格式化的,漂亮的。
~~~     # UI.输出参数

{
  "name" : "hadoop03",
  "cluster_name" : "myes",
  "cluster_uuid" : "dkCOn-auSUCJH42iBUSO1w",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

附录一:elasticsearch.yml配置文件说明:
配置项 作用
cluster.name 集群名称,相同名称为一个集群
node.name  节点名称,集群模式下每个节点名称唯一
node.master 当前节点是否可以被选举为master节点,是:true、否:false
node.data 当前节点是否用于存储数据,是:true、否:false
path.data 索引数据存放的位置
path.logs 日志文件存放的位置
bootstrap.memory_lock 需求锁住物理内存,是:true、否:false
network.host 监听地址,用于访问该es
http.port es对外提供的http端口,默认 9200
transport.port 节点选举的通信端口 默认是9300
discovery.seed_hosts es7.x 之后新增的配置,
写入候选主节点的设备地址,在开启服务后可以被选为主节点
cluster.initial_master_nodes es7.x 之后新增的配置,
初始化一个新的集群时需要此配置来选举master
http.cors.enabled 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.allow-origin "" 表示支持所有域名

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(18)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示