Solr集群資料遷移至Elasticsearch

2021-10-08 06:51:30 字數 2885 閱讀 4172

elasticsearch是一款非常強大的搜尋引擎,可以讓你在海量的資料中快速找到想要的內容。例如,**搜尋:可以幫助您找到相應的**倉庫,還可以實現**級的搜尋及高亮顯示;網上shopping:可以幫助您推薦商品。

除了大資料搜尋,elasticsearch結合logstash和beats,還被廣泛應用在大資料實時分析領域,例如日誌分析、指標監控、資訊保安等。幫助您探索海量的結構化和非結構化的資料,按需建立視覺化報表、對監控資料設定報警閾值,甚至使用機器學習技術,自動識別異常狀況、及時發出警報。

本文以阿里雲elasticsearch為例,為您演示通過第三方社群提供的solr-to-es工具,將solr節點中的文件遷移到阿里雲elasticsearch(簡稱es)中的方法。

阿里雲elasticsearch相容開源elasticsearch的功能,以及security、machine learning、graph、apm等商業功能,致力於資料分析、資料搜尋等場景服務。支援5.5.3、6.3.2、6.7.0、6.8.0和7.4.0等版本,並提供了商業外掛程式x-pack服務。在開源elasticsearch的基礎上提供企業級許可權管控、安全監控告警、自動報表生成等功能。阿里雲elasticsearch為您提供1個月的免費試用活動,單擊此處即可免費試用。

建立阿里雲es例項,要求版本為6.x,本文使用6.3.2 版本,詳情請參見建立阿里雲elasticsearch例項。

開啟目標阿里雲es的自動建立索引功能,詳情請參見開啟自動建立索引。

建立阿里雲ecs例項,本文使用centos 7.3版本,詳情請參見步驟一:建立ecs例項。

說明:ecs例項需要與阿里雲es例項在同一區域和可用區,以及同一專有網路vpc(virtual private cloud)下。

在ecs上安裝solr,本文使用5.0.0版本的solr,詳情請參見solr官方文件。

在ecs上安裝python,要求3.0及以上版本,本文使用python 3.6.2。

在ecs上安裝pysolr,要求3.3.3及以上,4.0以下版本。

進入setup.py所在的目錄,執行python setup.py install命令,安裝solr-to-es工具。

安裝成功後,參考以下命令進行文件遷移。

python __main__.py :8983/solr//select http://:@:9200
引數

說明solr集群的完整訪問位址。例如,

遷移文件對應的solrcore的名稱。

阿里雲es的訪問使用者名稱,預設為elastic。

阿里雲es的訪問密碼,在建立例項時設定。

阿里雲es例項的內網或外網訪問位址。可在例項的基本資訊頁面獲取,詳情請參見檢視例項的基本資訊。

待寫入的solr文件對應的索引名稱。

對應索引的型別名稱。

說明:如果您使用的是其他版本的solr-to-es工具,也可以嘗試使用如下命令進行文件遷移,引數詳情請參見solr-to-es。

solr-to-es [-h] [--solr-query solr_query] [--solr-fields comma_sep_fields]

[--rows-per-page rows_per_page] [--es-timeout es_timeout]

solr_url elasticsearch_url elasticsearch_index doc_type

本案例使用以上命令會輸出-bash: solr-to-es.py: command not found的錯誤。

通過以下命令,查詢名稱為my_core的solrcore的所有文件,寫入到阿里雲es例項中。對應的索引為elasticsearch_index,索引型別為doc_type

在solr環境中,進入solr-to-es-master/solr_to_es資料夾下。

執行以下命令。

python __main__.py '' 'http://elastic:替換密碼@es-cn-so4lwf40ubsrf****.public.elasticsearch.aliyuncs.com:9200' elasticsearch_index doc_type
引數

說明qsolr的查詢語法,必選,可以使用運算子。*%3a*表示查詢所有文件。

wt返回的資料型別,支援json、xml、python、ruby、csv等格式。

indent返回結果是否需要格式化展示,預設為false

其他引數說明請參見表 1。

登入目標阿里雲es例項的kibana控制台。

登入控制台的具體操作步驟請參見登入kibana控制台。

單擊左側導航欄的dev tools(開發工具),在console中執行以下命令,檢視阿里雲es集群服務中是否已成功建立elasticsearch_index索引。

get _cat/indices?v

執行以下命令,檢視遷移成功的文件詳情。

get /elasticsearch_index/doc_type/_search
查詢成功後,返回如下結果。

,

"hits" : },}

]}}

HBase資料遷移至Hive

背景 需要將hbase中表xyz 列簇cf1,列val 遷移至hive 1.建立hive和hbase的對映關係 1.1 執行hive shell進入hive命令列模式,執行如下指令碼 create external table hbase table 1 key int,value string s...

集群資料遷移

靜態遷移方案 必須在hbase集群停掉的情況下進行 hadoop distcp 動態遷移方案 三種 replication備份方案 修改hbase site.xml配置,增加hbase.replication屬性,增加表屬性replication scope屬性 add peer copytable...

Oracle資料遷移至HBase操作記錄

近期需要把oracle資料庫中的十幾張表t級別的資料遷移至hbase中,過程中遇到了許多苦難和疑惑,在此記錄一下希望能幫到一些有同樣需求的兄弟。首先,是根據oracle的資料規劃hbase的表和表結構。從業務上看,十幾張表大概可以分為兩大部分 剛開始的計畫是將所有表都匯入hbase中的一張大表,但是...