elasticsearch-01.elasticsearch集群安装

elsaticsearch 集群搭建

一,ElasticSearch优缺点

1.优点

  • 集群配置简单
  • 无缝扩展或者移除节点
  • 隐藏分布式系统复杂性,对用户透明(对分片和搜索的处理等)
  • 集群健康状态监控
  • 全文索引

2.缺点

  • 硬件资源要求高(分片复制占磁盘,聚合和排序操作吃内存,I/O)
  • 可靠性(Out of memory问题)
  • 灵活性问题(Mapping不可变,变需重建整个索引,与倒排索引有关)
  • 分页问题(与分片有关系)
  • 中文切词问题
  • 权限管理不完善
  • 安全性(收费插件)

二,集群搭建

1.概念介绍

  • cluster:集群
  • node:节点
  • shards:分片,包含主分片和复制分片

2.压缩包下载

  • 前往网址下载合适的版本,上传到服务器中
  • 执行以下命令,解压压缩包
    unzip elasticsearch-6.2.4.zip

3.集群安装

  • 确保服务器中已安装1.8版本以上的jdk
  • 由于elasticsearch不能以root账户启动,故需要创建新的用户和用户组(root账户下操作)
    分别执行以下命令,创建用户和用户组
    groupadd es
    useradd es -g es -p cb888
  • 执行给用户分配elasticsearch文件夹执行权限(root账户下操作)
    【elasticsearch/】为elasticsearch解压后的文件夹,请按实际情况修改
    chown -R es:es elasticsearch/
  • 修改linux文件句柄数限制(root账户下操作)
    vi /etc/security/limits.conf
    在文件末尾增加以下两行,退出保存即可
    es hard nofile 65536
    es soft nofile 65536
  • 设置vm.max_map_count(root账户下操作)
    vi /etc/sysctl.conf
    增加以下行:
    vm.max_map_count=262144
    执行以下命令,使配置生效:
    sysctl -p
  • 执行以下命令,开启9200和9300两个端口的访问权限(root账户下操作)
    firewall-cmd --zone=public --add-port=9200/tcp --permanent;firewall-cmd --reload;
    firewall-cmd --zone=public --add-port=9300/tcp --permanent;firewall-cmd --reload;
  • 配置elasticsearch配置文件elasticsearch.yml
    vi /var/elasticsearcd/config/elasticsearch.yml
    修改以下属性:

    
    #同一个集群内的所有节点配置成一样
    
    cluster.name: my-application 
    node.name: node-103 #同一个集群内不能重复
    node.attr.rack: master-103
    path.data: /path/to/data #数据保存路径
    path.logs: /path/to/logs #日志文件保存路径
    network.host: 10.0.0.103 #本节点ip地址
    http.port: 9200 #对外开放的端口
    
    #集群中其他ip地址,用来广播集群信息,如果端口不是9200,需要在ip后指定端口(只需配置除自己外的其他节点信息)
    
    discovery.zen.ping.unicast.hosts: ["10.0.0.102", "10.0.0.103"]
    discovery.zen.minimum_master_nodes: 2 #最小有选举master节点的node数,计算公式master节点数/2+1
  • 启动集群所有节点
    执行命令

    su es

    切换到es用户,

    进入elasticsearch文件夹下的bin目录,
    执行

    ./elasticsearch

    即可,如果要后台运行,请运行

    ./elasticsearch -d
  • 验证集群状态
    访问集群中的任一节点,如http://10.0.0.103:9200/_cluster/health?pretty
    如出现以下类似信息,则说明集群启动成功:

    {
    "cluster_name" : "my-application",
    "status" : "green",
    "timed_out" : false,
    "number_of_nodes" : 2,
    "number_of_data_nodes" : 2,
    "active_primary_shards" : 0,
    "active_shards" : 0,
    "relocating_shards" : 0,
    "initializing_shards" : 0,
    "unassigned_shards" : 0,
    "delayed_unassigned_shards" : 0,
    "number_of_pending_tasks" : 0,
    "number_of_in_flight_fetch" : 0,
    "task_max_waiting_in_queue_millis" : 0,
    "active_shards_percent_as_number" : 100.0
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
elasticsearch-7.12.0-py2.py3-none-any.whl 是 Elasticsearch 的 Python 客户端库的一个安装文件。Elasticsearch 是一个开源的实时分布式搜索和分析引擎,用于处理大规模数据集。它提供了一个简单可扩展的 RESTful API 接口,允许用户进行高效的数据搜索、分析以及存储。 这个安装文件的命名规则是根据 Python 的支持版本以及可运行平台来命名的。-py2.py3 表示可以同时兼容 Python 2 和 Python 3 版本的代码。-none-any 表示它是一个纯 Python 代码的库,不依赖于特定的操作系统或平台。 通过安装 elasticsearch-7.12.0-py2.py3-none-any.whl,您可以轻松地在您的 Python 环境中使用 Elasticsearch。这个库提供了许多功能,包括连接到 Elasticsearch 实例、执行索引、搜索和分析操作,以及管理和维护 Elasticsearch 的集群和节点。您可以使用这个库来构建各种应用,如全文搜索引擎、实时日志分析等。 要安装 elasticsearch-7.12.0-py2.py3-none-any.whl,您可以使用 pip 工具,在命令行中运行以下命令: ``` pip install elasticsearch-7.12.0-py2.py3-none-any.whl ``` 安装成功后,您就可以在您的 Python 代码中导入 elasticsearch 模块,并开始使用 Elasticsearch 的功能了。 总结:elasticsearch-7.12.0-py2.py3-none-any.whl 是 Elasticsearch 的 Python 客户端库的安装文件,用于连接、操作和管理 Elasticsearch 实例。通过安装这个库,您可以在您的 Python 项目中轻松使用 Elasticsearch 的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值