Link Search Menu Expand Document Documentation Menu

Windows

以下章节描述了如何从 zip 归档文件在 Windows 上安装 OpenSearch。

通常来说,从 zip 归档文件安装 OpenSearch 可以分为几个步骤:

  1. 下载并解压 OpenSearch。
  2. (可选)测试 OpenSearch。
    • 在应用任何自定义配置之前,确认 OpenSearch 能够运行。
    • 这可以在没有任何安全设置(无密码、无证书)的情况下完成,或者使用一个可以通过打包脚本应用的演示安全配置来完成。
  3. 为您的环境配置 OpenSearch。
    • 将基本设置应用于 OpenSearch,并在您的环境中开始使用它。

Windows OpenSearch 归档文件是一个自包含的目录,其中包含运行 OpenSearch 所需的一切,包括集成的 Java 开发工具包 (JDK)。如果您有自己的 Java 安装并设置了环境变量 JAVA_HOME,那么如果未设置 OPENSEARCH_JAVA_HOME 环境变量,OpenSearch 将使用该安装。要了解如何设置 OPENSEARCH_JAVA_HOME 环境变量,请参阅步骤 3:在您的环境中设置 OpenSearch

先决条件

确保您已安装 zip 实用工具。

步骤 1:下载并解压 OpenSearch

执行以下步骤以在 Windows 上安装 OpenSearch。

  1. 下载 opensearch-3.1.0-windows-x64.zip 归档文件。
  2. 要提取归档文件内容,右键单击并选择 全部提取

步骤 2:(可选)测试 OpenSearch

在进行任何配置之前,您应该测试您的 OpenSearch 安装。否则,很难确定未来的问题是由于安装问题还是您在安装后应用的自定义设置造成的。在此阶段,有两种快速测试 OpenSearch 的方法:

  1. (启用安全)使用 Windows 归档文件中包含的批处理脚本应用通用配置。
  2. (禁用安全)在应用您自己的自定义安全设置之前,手动禁用安全插件并测试实例。

该批处理脚本将为您的 OpenSearch 实例应用通用配置。此配置定义了一些环境变量,并应用了自签名 TLS 证书。或者,您可以选择自行配置这些设置。

如果您只想验证服务是否已正确配置,并且您打算自行配置安全设置,那么您可能希望禁用安全插件,并在没有加密或身份验证的情况下启动服务。

默认配置(带有演示证书和默认密码用户)的 OpenSearch 节点不适用于生产环境。如果您计划在生产环境中使用该节点,您至少应该将演示 TLS 证书替换为您自己的 TLS 证书,并更新内部用户和密码列表。请参阅安全配置,获取更多指导,以确保您的节点根据您的安全要求进行配置。

选项 1:启用安全设置测试 OpenSearch

  1. 从命令提示符或 PowerShell 运行演示批处理脚本。

    1. 通过在任务栏上开始旁边的搜索框中输入 cmd 打开命令提示符,或输入 powershell 打开 PowerShell。
    2. 切换到 OpenSearch 安装的顶级目录。
      cd \path\to\opensearch-3.1.0
      

    3. 运行批处理脚本。对于 OpenSearch 2.12 或更高版本,使用以下命令指定自定义管理员密码:
      > set OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password>
      

      .\opensearch-windows-install.bat
      

  2. 打开一个新的命令提示符并向服务器发送请求,以验证 OpenSearch 是否正在运行。请注意使用 --insecure 标志,这是必需的,因为 TLS 证书是自签名的。

    • 向端口 9200 发送请求
       curl.exe -X GET https://:9200 -u "admin:<custom-admin-password>" --insecure
      

      您应该会收到如下响应:

       {
          "name" : "hostname-here",
          "cluster_name" : "opensearch",
          "cluster_uuid" : "7Nqtr0LrQTOveFcBb7Kufw",
          "version" : {
             "distribution" : "opensearch",
             "number" : <version>,
             "build_type" : <build-type>,
             "build_hash" : <build-hash>,
             "build_date" : <build-date>,
             "build_snapshot" : false,
             "lucene_version" : <lucene-version>,
             "minimum_wire_compatibility_version" : "7.10.0",
             "minimum_index_compatibility_version" : "7.0.0"
          },
          "tagline" : "The OpenSearch Project: https://opensearch.org.cn/"
       }
      
    • 查询插件端点
       curl.exe -X GET https://:9200/_cat/plugins?v -u "admin:<custom-admin-password>" --insecure
      

      响应应如下所示:

       hostname opensearch-alerting                  3.1.0
       hostname opensearch-anomaly-detection         3.1.0
       hostname opensearch-asynchronous-search       3.1.0
       hostname opensearch-cross-cluster-replication 3.1.0
       hostname opensearch-geospatial                3.1.0
       hostname opensearch-index-management          3.1.0
       hostname opensearch-job-scheduler             3.1.0
       hostname opensearch-knn                       3.1.0
       hostname opensearch-ml                        3.1.0
       hostname opensearch-neural-search             3.1.0
       hostname opensearch-notifications             3.1.0
       hostname opensearch-notifications-core        3.1.0
       hostname opensearch-observability             3.1.0
       hostname opensearch-reports-scheduler         3.1.0
       hostname opensearch-security                  3.1.0
       hostname opensearch-security-analytics        3.1.0
       hostname opensearch-sql                       3.1.0
      

选项 2:禁用安全设置测试 OpenSearch

  1. 打开 opensearch-3.1.0\config 文件夹。
  2. 用文本编辑器打开 opensearch.yml 文件。
  3. 添加以下行以禁用安全插件:
    plugins.security.disabled: true
    

  4. 保存更改并关闭文件。
  5. 导航到 OpenSearch 安装的顶级目录并打开 opensearch-3.1.0 文件夹。
  6. 双击 opensearch-windows-install.bat 文件运行默认设置。这将打开一个命令提示符窗口,其中运行着一个 OpenSearch 实例。
  7. 打开一个新的命令提示符并向服务器发送请求,以验证 OpenSearch 是否正在运行。由于安全插件已被禁用,您将使用 HTTP 而不是 HTTPS 发送命令。
    • 向端口 9200 发送请求
       curl.exe -X GET http://:9200
      

      您应该会收到如下响应:

       {
          "name" : "hostname-here",
          "cluster_name" : "opensearch",
          "cluster_uuid" : "7Nqtr0LrQTOveFcBb7Kufw",
          "version" : {
             "distribution" : "opensearch",
             "number" : "2.4.0",
             "build_type" : "zip",
             "build_hash" : "77ef9e304dd6ee95a600720a387a9735bbcf7bc9",
             "build_date" : "2022-11-05T05:50:15.404072800Z",
             "build_snapshot" : false,
             "lucene_version" : "9.4.1",
             "minimum_wire_compatibility_version" : "7.10.0",
             "minimum_index_compatibility_version" : "7.0.0"
          },
          "tagline" : "The OpenSearch Project: https://opensearch.org.cn/"
       }
      
    • 查询插件端点
       curl.exe -X GET http://:9200/_cat/plugins?v
      

      响应应如下所示:

       hostname opensearch-alerting                  3.1.0
       hostname opensearch-anomaly-detection         3.1.0
       hostname opensearch-asynchronous-search       3.1.0
       hostname opensearch-cross-cluster-replication 3.1.0
       hostname opensearch-geospatial                3.1.0
       hostname opensearch-index-management          3.1.0
       hostname opensearch-job-scheduler             3.1.0
       hostname opensearch-knn                       3.1.0
       hostname opensearch-ml                        3.1.0
       hostname opensearch-neural-search             3.1.0
       hostname opensearch-notifications             3.1.0
       hostname opensearch-notifications-core        3.1.0
       hostname opensearch-observability             3.1.0
       hostname opensearch-reports-scheduler         3.1.0
       hostname opensearch-security                  3.1.0
       hostname opensearch-security-analytics        3.1.0
       hostname opensearch-sql                       3.1.0
      

要停止 OpenSearch,请在命令提示符或 PowerShell 中按 Ctrl+C,或者直接关闭命令提示符或 PowerShell 窗口。

步骤 3:在您的环境中设置 OpenSearch

没有 OpenSearch 使用经验的用户可能需要一份推荐设置列表才能开始使用该服务。默认情况下,OpenSearch 不绑定到网络接口,无法被外部主机访问。此外,如果您通过调用 opensearch-windows-install.bat 运行了安全演示脚本,安全设置要么未定义(全新安装),要么由默认用户名和密码填充。以下建议将使用户能够将 OpenSearch 绑定到网络接口。

以下推荐设置将允许您:

  • 将 OpenSearch 绑定到主机上的 IP 或网络接口。
  • 设置初始和最大 JVM 堆大小。
  • 定义一个指向捆绑 JDK 的环境变量。

如果您运行了安全演示脚本,那么您将需要手动重新配置已修改的设置。在继续之前,请参阅安全配置以获取指导。

在修改任何配置文件之前,最好先保存一个备份副本。备份文件可用于恢复因配置错误引起的任何问题。

  1. 打开 opensearch-3.1.0\config 文件夹。
  2. 用文本编辑器打开 opensearch.yml 文件。
  3. 添加以下行:
    # Bind OpenSearch to the correct network interface. Use 0.0.0.0
    # to include all available interfaces or specify an IP address
    # assigned to a specific interface.
    network.host: 0.0.0.0
    
    # Unless you have already configured a cluster, you should set
    # discovery.type to single-node, or the bootstrap checks will
    # fail when you try to start the service.
    discovery.type: single-node
    
    # If you previously disabled the Security plugin in opensearch.yml,
    # be sure to re-enable it. Otherwise you can skip this setting.
    plugins.security.disabled: false
    

  4. 保存更改并关闭文件。
  5. 指定初始和最大 JVM 堆大小。
    1. 打开 opensearch-3.1.0\config 文件夹。
    2. 用文本编辑器打开 jvm.options 文件。
    3. 修改初始和最大堆大小的值。作为起点,您应该将这些值设置为可用系统内存的一半。对于专用主机,此值可以根据您的工作流要求增加。
      例如,如果主机有 8 GB 内存,则您可能希望将初始和最大堆大小设置为 4 GB:
       -Xms4g
       -Xmx4g
      

    4. 保存更改并关闭文件。
  6. 指定包含的 JDK 的位置。
    1. 在任务栏上开始旁边的搜索框中,输入 edit environment variables for your accountedit the system environment variables。要编辑系统环境变量,您需要管理员权限。用户环境变量优先于系统环境变量。
    2. 选择编辑您的账户环境变量编辑系统环境变量
    3. 如果出现系统属性对话框,请在高级选项卡中选择环境变量
    4. 用户变量系统变量下,选择新建
    5. 变量名中,输入 OPENSEARCH_JAVA_HOME
    6. 变量值中,输入 \path\to\opensearch-3.1.0\jdk
    7. 选择确定关闭所有对话框。

插件兼容性

性能分析器插件在 Windows 上不可用。所有其他 OpenSearch 插件,包括 k-NN 插件,均可用。有关插件的完整列表,请参阅可用插件