| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 【ES实战】ES-Hadoop中的配置项说明 -> 正文阅读 |
|
[大数据]【ES实战】ES-Hadoop中的配置项说明 |
文章目录Configuration 配置elasticsearch-hadoop 行为可以通过以下属性进行自定义,通常通过在目标作业的 Hadoop 配置中设置它们。 但是,其中一些可以通过其他方式指定,具体取决于所使用的库(请参阅相关部分)。
必要配置
Elasticsearch 资源位置,读取和写入数据的位置。 需要 / 格式(相对于 Elasticsearch 主机/端口(见下文))。
用于读取(但不写入)数据的 Elasticsearch 资源。 在同一作业中向不同的 Elasticsearch 索引读取和写入数据时很有用。 通常自动设置(需要手动配置的 Map/Reduce 模块除外)。
用于写入(但不读取)数据的 Elasticsearch 资源。 通常用于动态资源写入或将数据写入和读取同一作业中的不同 Elasticsearch 索引时。 通常自动设置(需要手动配置的 Map/Reduce 模块除外)。 请注意,在上述资源设置中指定多个索引 and/or 类型仅允许读取。 仅通过使用动态资源(如下所述)支持为写入指定多个索引。 使用 Dynamic/multi resource writes在使用动态资源写入时,需要config [action.auto_create_index] to [true] 对于写入,elasticsearch-hadoop 允许在运行时使用模式(通过使用 { 例如,假设以下文档集(为了便于阅读,此处以 JSON 格式描述 - 随意将其转换为实际的 Java 对象):
要根据它们的
这将导致 Formatting dynamic/multi resource writes使用动态/多写入时,还可以指定字段返回值的格式。 开箱即用,elasticsearch-hadoop 为日期/时间戳字段提供格式,这对于在同一索引下的特定时间范围内自动分组基于时间的数据(例如日志)很有用。 通过使用 Java SimpleDataFormat 语法,可以以一种区域设置敏感的方式格式化和解析日期。 例如,假设数据包含
基本配置Network
要连接的 Elasticsearch 节点列表。 远程使用 Elasticsearch 时,请务必设置此选项。 请注意,该列表不必包含 Elasticsearch 集群中的每个节点; 默认情况下,这些是由 elasticsearch-hadoop 自动发现的(见下文)。 每个节点还可以单独指定其 HTTP/REST 端口(例如 mynode:9600)。
从 用于连接到 Elasticsearch 的默认 HTTP/REST 端口 - 此设置应用于 es.nodes 中未指定任何端口的节点。
添加到对 Elasticsearch 发出的所有请求的前缀。 在集群在特定路径下代理/路由的环境中很有用。 例如,如果集群位于 Querying
保存用于从指定
换句话说,
Operation
输入是否已经是 JSON 格式(默认)。 有关直接使用 JSON 的更多详细信息,请参阅每个集成的相应部分。
elasticsearch-hadoop 应该执行的写操作 - 可以是以下任何一种:
连接器的输出是否应为 JSON 格式(默认)。 启用后,文档将以原始 JSON 格式返回(从 Elasticsearch 返回)。 有关直接使用 JSON 的更多详细信息,请参阅每个集成的相应部分。
索引或创建文档时应作为目标的现有 Elasticsearch Ingest 管道的名称。 仅在执行 Mapping (when writing to Elasticsearch)
包含文档 ID 的文档字段/属性名称。
包含文档父级的文档字段/属性名称。 要指定常量,请使用
包含文档连接字段的文档字段/属性名称。 不接受常量。 文档上的联接字段必须包含作为字符串的父关系名称,或者包含子关系名称及其父关系 id 的对象。 如果在使用此设置时识别到子文档,如果在
包含文档路由的文档字段/属性名称。 要指定常量,请使用
包含文档版本的文档字段/属性名称。 要指定常量,请使用
表示使用的 版本控制类型。 如果
包含文档生存时间的文档字段/属性名称。 要指定常量,请使用
包含文档时间戳的文档字段/属性名称。 要指定常量,请使用
要包含在发送到 Elasticsearch 的文档中的字段/属性。 对于从实体中提取所需的数据很有用。 语法类似于 Elasticsearch include/exclude。 可以使用逗号指定多个值。 默认情况下,未指定任何值,这意味着包含所有属性/字段。
要在发送到 Elasticsearch 的文档中排除的字段/属性。 对于从实体中消除不需要的数据很有用。 语法类似于 Elasticsearch include/exclude。 可以使用逗号指定多个值。 默认情况下,未指定任何值,这意味着不排除任何属性/字段。
使用上面的配置,每个条目将只有其顶级字段,以 Field information (when reading from Elasticsearch)
Whether to create a rich 是否为 Elasticsearch 中的
从 Elasticsearch 读取文档时解析和考虑的字段/属性。 默认情况下为空,意味着所有字段都被考虑。 将此属性与 caution 一起使用,因为它可能会产生副作用。 通常用于某些返回的文档不适合预期映射的情况。
从 Elasticsearch 读取文档时丢弃的字段/属性。 默认情况下为空意味着不排除任何字段。 将此属性与 caution 一起使用,因为它可能会产生令人讨厌的副作用。 通常用于某些返回的文档不适合预期映射的情况。
应被视为数组/列表的字段/属性。 由于 Elasticsearch 可以将一个或多个值映射到一个字段,elasticsearch-hadoop 无法从映射中确定是实例化一个值还是数组类型(取决于库类型)。 当遇到多个值时,elasticsearch-hadoop 将自动使用数组/列表类型,但在严格的映射场景(如 Spark SQL)中,这可能会导致意外的架构更改。 语法类似于 Elasticsearch include/exclude。 可以使用逗号指定多个值。 默认情况下,未指定任何值,这意味着不包含任何属性/字段。
不应被视为数组/列表的字段/属性。 类似于上面的 Metadata (when reading from Elasticsearch)
是否在结果中包含文档元数据(例如 id 和版本)(默认)。
放置元数据信息的字段。 当
是否在返回的元数据中包含文档版本。 仅在启用 Update settings (when writing to Elasticsearch)一种使用
用于更新文档的内联脚本。
用于更新文档的文件脚本的名称。 文件脚本在 6.x 中被删除,因此,如果对 6.x 及更高版本的集群使用此属性将引发错误。
用于更新文档的存储脚本的标识符。
脚本语言。 默认情况下,没有指定应用节点配置的值。
脚本参数(如果有)。 使用值的文档(当前读取)字段/属性。 要指定常量,请使用
以
在发生冲突时重试文档更新的次数。 在并发环境中很有用。 高级配置Index
在将数据写入 Elasticsearch 或失败时,elasticsearch-hadoop 是否应该创建索引(如果它缺失)。
elasticsearch-hadoop 是否允许读取不存在的索引(并返回空数据集)(并抛出异常)
elasticsearch-hadoop 是否会将空字段视为
为了帮助发现从 Hadoop 查询数据时可能出现的错误(这会导致返回不正确的数据),elasticsearch-hadoop 可以执行验证发现缺失的字段和潜在的拼写错误。 可能的值为:** 默认 (
执行滚动查询时用于搜索操作的分片首选项的值。 如果留空,连接器将自动感知何时使用
通常,当使用允许指定某种形式的架构(例如 Hive 或 Cascading)的集成时,连接器将自动从架构中提取字段名称,并仅从 Elasticsearch 请求这些字段以节省带宽。 当使用不利用任何数据模式(例如普通 MR 和 Spark)的集成时,此属性允许您指定要从 Elasticsearch 返回的以逗号分隔的字段名称字符串。
在执行从 Elasticsearch 读取的作业时,如果为读取提供的资源包含一个索引,该索引缺少分片导致集群处于
从支持滚动切片(Elasticsearch v5.0.0 及更高版本)的 Elasticsearch 集群中读取数据时,此参数会建议连接器每个输入分区的最大文档数应该是多少。 连接器将采样并估计每个分片上要读取的文档数量,并使用此属性提供的值将每个分片划分为输入切片。 此属性是建议,而不是保证。 每个分区的最终文档数不能保证低于这个数字,而是会接近这个数字。 如果您从不支持滚动切片的 Elasticsearch 集群(Elasticsearch 低于 v5.0.0 的任何版本)中读取,此属性将被自动忽略。
默认情况下,当此参数为 true 时,使用切片分区(Elasticsearch v5.0.0 及更高版本的标准行为)。 这可能会导致索引的预读阶段显着放缓。 在某些情况下,准备时间可能比检索数据所需的时间长得多。 此选项允许您禁用此行为并使用分片分区(对于 5.0.0 之前的 Elasticsearch)。 [6.5.0] 在 6.5.0 中已弃用。此设置在 7.0.0 中被删除,因为 Network
Whether to discover the nodes within the Elasticsearch cluster or only to use the ones given in 是发现 Elasticsearch 集群中的节点,还是仅使用
Whether to use Elasticsearch client nodes (or load-balancers). When enabled, elasticsearch-hadoop will route all its requests (after nodes discovery, if enabled) through the client nodes within the cluster. Note this typically significantly reduces the node parallelism and thus it is disabled by default. Enabling it also disables 是否使用 Elasticsearch 客户端节点(或 load-balancers)。 启用后,elasticsearch-hadoop 将通过集群内的 client 节点路由所有其请求(在节点发现之后,如果启用)。 请注意,这通常会显着降低节点并行度,因此默认情况下它是禁用的。 启用它还会禁用
Whether to use Elasticsearch data nodes only. When enabled, elasticsearch-hadoop will route all its requests (after nodes discovery, if enabled) through the data nodes within the cluster. The purpose of this configuration setting is to avoid overwhelming non-data nodes as these tend to be “smaller” nodes. This is enabled by default. 是否仅使用 Elasticsearch 数据节点。 启用后,elasticsearch-hadoop 将通过集群内的 data 节点路由所有其请求(在节点发现之后,如果启用)。 此配置设置的目的是避免压倒非数据节点,因为这些节点往往是“较小的”节点。 这是默认启用的。
Whether to use Elasticsearch ingest nodes only. When enabled, elasticsearch-hadoop will route all of its requests (after nodes discovery, if enabled) through the ingest nodes within the cluster. The purpose of this configuration setting is to avoid incurring the cost of forwarding data meant for a pipeline from non-ingest nodes; Really only useful when writing data to an Ingest Pipeline (see 是否仅使用 Elasticsearch 摄取节点。 启用后,elasticsearch-hadoop 将通过集群内的 ingest 节点路由 all 其请求(在发现节点后,如果启用)。 此配置设置的目的是避免产生从非摄取节点转发用于管道的数据的成本; 仅在将数据写入 Ingest Pipeline 时才真正有用(请参阅上面的
Whether the connector is used against an Elasticsearch instance in a cloud/restricted environment over the WAN, such as Amazon Web Services. In this mode, the connector disables discovery and only connects through the declared 连接器是否用于 WAN 上云/受限环境中的 Elasticsearch 实例,例如 Amazon Web Services。 在这种模式下,连接器禁用发现,并且在所有操作(包括读取和写入)期间仅通过声明的
Whether the connector should resolve the nodes hostnames to IP addresses or not. By default it is 连接器是否应将节点主机名解析为 IP 地址。 默认情况下,它是
Timeout for HTTP/REST connections to Elasticsearch. 与 Elasticsearch 的 HTTP/REST 连接超时。
Number of retries for establishing a (broken) http connection. The retries are applied for each conversation with an Elasticsearch node. Once the retries are depleted, the connection will automatically be re-reouted to the next available Elasticsearch node (based on the declaration of 建立(断开的)http 连接的重试次数。 使用 Elasticsearch 节点对每个 conversation 应用重试。 一旦重试次数用尽,连接将自动重新路由到下一个可用的 Elasticsearch 节点(基于
The maximum duration of result scrolls between query requests. 结果在查询请求之间滚动的最大持续时间。
Number of results/items returned by each individual per request. 每个请求返回的结果/项目数。
Number of total results/items returned by each individual scroll. A negative value indicates that all documents that match should be returned. Do note that this applies per scroll which is typically bound to one of the job tasks. Thus the total number of documents returned is 每个单独滚动返回的 total 结果/项目数。 负值表示应返回所有匹配的文档。 请注意,这适用于通常绑定到其中一项工作任务的每个滚动。 因此返回的文档总数是
The lead to task timeout before elasticsearch-hadoop informs Hadoop the task is still running to prevent task restart. 在 elasticsearch-hadoop 通知 Hadoop 任务仍在运行之前导致任务超时,以防止任务重启。 Setting HTTP Request Headers
通过使用 例如,这里用户正在设置
Secure Settings
安全设置密钥库文件的位置(通常是 URL,没有前缀,它被解释为类路径条目)。 有关详细信息,请参阅 安全设置。 Basic Authentication
SSL
Enable SSL
key store (if used) location (typically a URL, without a prefix it is interpreted as a classpath entry)
Securable. key store password
key store type. PK12 is a common, alternative format
trust store location (typically a URL, without a prefix it is interpreted as a classpath entry)
Securable. trust store password
Whether or not to allow self signed certificates
SSL protocol to be used Proxy
Http proxy host name
Http proxy port
Http proxy user name
Securable. Http proxy password
Whether the use the system Http proxy properties (namely
Https proxy host name
Https proxy port
Https proxy user name
Securable. Https proxy password
Whether the use the system Https proxy properties (namely
Http proxy host name
Http proxy port
Http proxy user name
Securable. Http proxy password
Whether the use the system Socks proxy properties (namely
Serialization
使用 Elasticsearch bulk API 进行批量写入的大小(以字节为单位)。 请注意,批量大小是按每个任务实例分配的。 始终乘以 Hadoop 作业中的任务数,以获得运行时达到 Elasticsearch 的总批量大小。
使用 Elasticsearch bulk API 进行批量写入的大小(以条目为单位) - (0 禁用它)。
批量更新完成后是否调用索引刷新。 请注意,仅在执行了整个写入(意味着多次批量更新)之后才会调用它。
在 Elasticsearch 过载并且数据被拒绝的情况下,给定批次的重试次数。 请注意,仅重试被拒绝的数据。 如果执行重试后仍有数据被拒绝,则 Hadoop 作业将被取消(并失败)。 负值表示无限重试; 设置此值时要小心,因为它可能会产生不必要的副作用。
由批量拒绝引起的批量写入重试之间的等待时间。
用于将 JSON 转换为对象的
用于将对象转换为 JSON 的 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/16 0:17:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |