elastic 集群安装

Elastic Search 安装和配置

1.下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.3.tar.gz

2.解压

 tar -vxf elasticsearch-6.5.3.tar.gz

3.启动

cd /usr/elasticsearch-6.5.3/

4.开启端口

firewall-cmd --permanent --add-port=9200/tcp

sudo firewall-cmd --reload

5.启动

sh ./bin/elasticsearch 

 

ElasticSearch后台启动命令

sh ./bin/elasticsearch -d

 

a.启动报错

java.lang.RuntimeException: can not run elasticsearch as root

这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑, 

建议创建一个单独的用户用来运行ElasticSearch

解决办法

1.创建elsearch用户组及elsearch用户

groupadd elsearch

useradd elsearch -g elsearch -p elasticsearch

#chown -R [用户]:[所属组] 目录

chown -R elsearch:elsearch  elasticsearch-6.5.3/

#切换账户

su elsearch

2.异常描述为不能以root权限运行Elasticsearch.解决办法是运行时加上参数: in/elasticsearch -Des.insecure.allow.root=true

3.修改bin/elasticsearch,加上ES_JAVA_OPTS属性:ES_JAVA_OPTS="-Des.insecure.allow.root=true"

b.外网不能访问

修改config/elasticsearch.yml 保证外网可以访问

添加 network.host: 0.0.0.0 表示所有用户可访问

c.max_map_count过小

错误“max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144]”,max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,系统默认是65530,修改成262144。解决方法是修改/etc/sysctl.conf配置文件,添加vm.max_map_count=262144

vi /etc/sysctl.conf

d. max file descriptors过小

错误“max file descriptors [65535] for elasticsearchprocess is too low, increase to at least [65536]”,maxfile descriptors为最大文件描述符,设置其大于65536即可。解决方法是修改/etc/security/limits.conf文件,添加“* -  nofile 65536 * - memlock unlimited”,“*”表示给所有用户起作用

vi /etc/security/limits.conf

e. failed to obtain node locks

删除data目录下的数据

 

 

 

 

 

继承head插件

1.下载

 wget https://github.com/mobz/elasticsearch-head/archive/master.zip

2.解压

 yum install -y unzip zip

unzip master.zip

3.下载node.js

 wget https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-x64.tar.xz

4.解压

tar -xvf node-v10.14.2-linux-x64.tar.xz

5.修改配置文件

修改 /etc/profile

export NODE_HOME=/usr/node-v10.14.2-linux-x64

export PATH=$PATH:$NODE_HOME/bin

export NODE_PATH=$NODE_HOME/lib/node_modules

刷新

source /etc/profile

6.执行

cd elasticsearch-head-master

npm install 

安装过程中出现错误 phantomjs-prebuilt@2.1.14 install: `node install.js`

#忽略脚本继续进行安装

npm install phantomjs-prebuilt@2.1.14 --ignore-scripts

最终安装成功!成功后当前目录多了一个node_modules文件夹。。

7编辑

vi Gruntfile.js

 

修改es配置文件

cd /usr/elasticsearch-6.5.3/config

#Centos6不支持SecComp,而elasticsearch-6.1.2默认bootstrap.system_call_filter为true进行检测

bootstrap.system_call_filter: false

#允许跨域不然elasticsearch head不能访问

http.cors.enabled: true

http.cors.allow-origin: "*"

 

 

 

 

 

 

启动

cd /usr/elasticsearch-head-master

npm run start

cd /usr/elasticsearch-6.5.3/

su elsearch

sh ./bin/elasticsearch 

 

 

 

 

 

 

 

配置 Elastic Search 集群

 

es 数据                      #elasticsearch-cluster/elasticsearch-6.5.2/data

es 程序日志                #/usr/elasticsearch-cluster/elasticsearch-6.5.2/logs

es gc 日志                   # /usr/elasticsearch-cluster/elasticsearch-6.5.2/logs

es heap dump 路径      # /usr/elasticsearch-cluster/elasticsearch-6.5.2/es_heap_dump

es java io 临时路径           # /usr/elasticsearch-cluster/elasticsearch-6.5.2/es_java_io

1、内存配置

-Xms400m

-Xmx400m

 

从节点1

cluster.name: es_cluster

node.name: slave1

node.master: true

node.master: true

http.port: 8200

transport.tcp.port: 9302

path.data: /usr/elasticsearch-cluster/elasticsearch-6.5.2/data

path.logs: /usr/elasticsearch-cluster/elasticsearch-6.5.2/logs

discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

discovery.zen.minimum_master_nodes: 2

discovery.zen.ping_timeout: 120s

client.transport.ping_timeout: 60s

 

从节点2

cluster.name: es_cluster

node.name: slave2

node.master: true

path.data: /usr/elasticsearch-cluster/elasticsearch-6.5.1/data

path.logs: /usr/elasticsearch-cluster/elasticsearch-6.5.1/logs

discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

http.port: 7200

transport.tcp.port: 9301

discovery.zen.minimum_master_nodes: 2

discovery.zen.ping_timeout: 120s

client.transport.ping_timeout: 60s

 

 

解释:

1.1:http.cors.enabled: true 允许跨域访问,为了配合elasticsearch-head可视化ES界面

      http.cors.allow-origin: "*" 允许所有地址跨域访问

1.2:network.host: 0.0.0.0 此项配置为了主机能访问虚拟机

1.3:cluster.name: pionner 非常重要,配置集群名称,所有节点必须一样,否则节点发现不了集群

1.4:node.master: true 表名此节点允许成为主节点

node.name: slave1 节点名称

1.5:http.port: 8200 节点在web上发布端口号,默认是9200,由于单机多节点配置,建议指定一个

transport.tcp.port: 9301 节点通信端口,由于ES各节点之间互相访问,默认9300,单机多节点建议指定

1.6:discovery.zen.ping_timeout: 120s 设置集群中自动发现其他节点时ping的超时时间,默认3s,网络比较差可以提高此 值,以防止发现其他节点时出错,发生脑裂。

client.transport.ping_timeout: 60s

1.7: discovery.zen.minimum_master_nodes: 2  规则为n/2+1,告诉该节点,其他可以作为主节点的个数

1.8:discovery.zen.ping.unicast.hosts: ["192.168.0.110:9300","192.168.0.110:9302"] 其他节点的地址端口号,注意端口号为 节点通信端口,不要配置成web发布端口了

转载于:https://www.cnblogs.com/xyj179/p/10201957.html

### 关于Elasticsearch集群安装完成后的配置 当单个Elasticsearch节点安装完毕后,该节点会自动形成一个名为“elasticsearch”的新单节点集群[^1]。为了使这个节点成为更大集群的一部分,需修改位于 `$ES_HOME/config/elasticsearch.yml` 的配置文件中的设置来指定集群名称和其他必要的参数[^2]。 #### 修改集群名称 要让多个节点组成同一个集群,必须确保它们共享相同的 `cluster.name` 设置。默认情况下,此值被设为 "elasticsearch";如果希望创建自定义命名的空间,则应编辑上述提到的YAML文件并更改该项: ```yaml cluster.name: my_custom_cluster_name ``` #### 设定节点角色 对于多节点环境来说,可以分配特定的角色给各个成员以优化性能表现。比如通过如下方式指明某台机器仅作为数据存储单元而不参与协调请求处理工作: ```yaml node.master: false node.data: true ``` 以上两行分别控制着当前实例是否有资格竞选为主控服务器以及是否负责保存索引文档资料。 ### 验证集群状态的方法 一旦完成了基本设定之后,可以通过RESTful API接口查询整个系统的健康状况概览信息。具体命令如下所示,在这里假设目标地址为本地主机且监听端口保持不变(9200): ```bash curl -X GET "localhost:9200/_cat/health?v=true" ``` 这条指令将会返回有关集群整体运行情况的关键指标,包括但不限于活动分片数量、未分配副本数目等重要细节。 另外一种常用手段就是利用Kibana图形界面工具来进行更直观的状态监测与管理操作。只需启动对应的服务进程,并访问浏览器内的相应URL即可轻松实现这一目的。 ### 解决常见问题指南 有时可能会遇到某些棘手的技术难题阻碍正常使用体验。下面列举了一些典型场景及其对应的解决方案: - **无法加入预期集群**:确认所有参与者均采用一致性的网络标识符(`network.host`) 和版本号(version),并且防火墙策略允许TCP通信发生在预期内部IP范围之间。 - **磁盘空间不足警告**:调整JVM堆大小限制或是增加物理硬盘容量均可有效缓解此类报警现象的发生频率。同时建议定期清理无用日志记录减少不必要的资源占用率。 - **慢查询响应时间过长**:考虑启用缓存机制提高命中概率从而加快检索速度;或者重新评估映射结构设计思路使之更加贴合实际业务需求特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值