溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

安裝和使用 Elasticsearch

發(fā)布時(shí)間:2020-09-06 10:29:25 來源:網(wǎng)絡(luò) 閱讀:1271 作者:lilinji 欄目:關(guān)系型數(shù)據(jù)庫

安裝和使用 Elasticsearch

Elasticsearch 是開源搜索平臺(tái)的新成員,實(shí)時(shí)數(shù)據(jù)分析的神器,發(fā)展迅猛,基于 Lucene、RESTful、分布式、面向云計(jì)算設(shè)計(jì)、實(shí)時(shí)搜索、全文搜索、穩(wěn)定、高可靠、可擴(kuò)展、安裝+使用方便,介紹都說的很好聽,好不好用拿出來遛一遛。

做了個(gè)簡(jiǎn)單測(cè)試,在兩臺(tái)完全一樣的虛擬機(jī)上,2000萬條左右數(shù)據(jù),Elasticsearch 插入數(shù)據(jù)速度比 MongoDB 慢很多(可以忍受),但是搜索/查詢速度快10倍以上,這只是單機(jī)情況,多機(jī)集群情況下 Elasticsearch 表現(xiàn)更好一些。以下安裝步驟在 Ubuntu Server14.04 LTS 上完成。

安裝 Elasticsearch

升級(jí)系統(tǒng)后安裝 Oracle Java 7,既然 Elasticsearch 官方推薦使用 Oracle JDK 7 就不要嘗試 JDK 8 和 OpenJDK 了:

$ sudo apt-get update

$ sudo apt-get upgrade

 

$ sudo apt-get installsoftware-properties-common

$ sudo add-apt-repositoryppa:webupd8team/java

$ sudo apt-get update

 

$ sudo apt-get installoracle-java7-installer

加入 Elasticsearch 官方源后安裝 elasticsearch:

$ wget -O -http://packages.elasticsearch.org/GPG-KEY-elasticsearch | apt-key add -

$ sudo echo "debhttp://packages.elasticsearch.org/elasticsearch/1.1/debian stable main">> /etc/apt/sources.list

 

$ sudo apt-get update

$ sudo apt-get install elasticsearch

加入到系統(tǒng)啟動(dòng)文件并啟動(dòng)elasticsearch 服務(wù),用 curl 測(cè)試一下安裝是否成功:

$ sudo update-rc.d elasticsearch defaults95 1

 

$ sudo /etc/init.d/elasticsearch start

 

$ curl -X GET 'http://localhost:9200'

{

 "status" : 200,

 "name" : "Fer-de-Lance",

 "version" : {

   "number" : "1.1.1",

   "build_hash" :"f1585f096d3f3985e73456debdc1a0745f512bbc",

   "build_timestamp" : "2014-04-16T14:27:12Z",

   "build_snapshot" : false,

   "lucene_version" : "4.7"

 },

 "tagline" : "You Know, for Search"

}

Elasticsearch 的集群和數(shù)據(jù)管理界面 Marvel 非常贊,可惜只對(duì)開發(fā)環(huán)境免費(fèi),如果這個(gè)工具也免費(fèi)就無敵了,安裝很簡(jiǎn)單,完成后重啟服務(wù)訪問 http://192.168.2.172:9200/_plugin/marvel/ 就可以看到界面:

安裝和使用 Elasticsearch

$ sudo/usr/share/elasticsearch/bin/plugin -i elasticsearch/marvel/latest

 

$ sudo /etc/init.d/elasticsearch restart

 *Stopping Elasticsearch Server                                           [ OK]

 *Starting Elasticsearch Server                                           [ OK]


安裝 Python 客戶端驅(qū)動(dòng)

和 MongoDB 一樣,我們一般用程序和 Elasticsearch交互,Elasticsearch 也支持多種語言的客戶端驅(qū)動(dòng),這里僅安裝 Python 驅(qū)動(dòng),其他語言可以參考官方文檔。

$ sudo apt-get install python-pip

$ sudo pip install elasticsearch

寫個(gè)簡(jiǎn)單程序把 gene_info.txt 的數(shù)據(jù)導(dǎo)入到 Elasticsearch:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

 

import os, os.path, sys, re

import csv, time, string

from datetime import datetime

from elasticsearch import Elasticsearch

 

def import_to_db():

   data = csv.reader(open('gene_info.txt', 'rb'), delimiter='\t')

   data.next()

 

   es = Elasticsearch()

   for row in data:

       doc = {

            'tax_id': row[0],

            'GeneID': row[1],

            'Symbol': row[2],

            'LocusTag': row[3],

            'Synonyms': row[4],

            'dbXrefs': row[5],

            'chromosome': row[6],

            'map_location': row[7],

            'description': row[8],

            'type_of_gene': row[9],

           'Symbol_from_nomenclature_authority': row[10],

           'Full_name_from_nomenclature_authority': row[11],

           'Nomenclature_status':row[12],

            'Other_designations': row[13],

            'Modification_date': row[14]

       }

       res = es.index(index="gene", doc_type='gene_info', body=doc)

 

def main():

   import_to_db()

 

if __name__ == "__main__":

   main()

Kibana 是一個(gè)功能強(qiáng)大的數(shù)據(jù)顯示客戶端,通過插件方式和 Elasticsearch 集成在一起,安裝很容易,下載解壓就可以了,然后重啟 Elasticsearch 服務(wù)訪問http://192.168.2.172:9200/_plugin/kibana/ 就能看到界面:

$ wgethttps://download.elasticsearch.org/kibana/kibana/kibana-3.0.1.tar.gz

$ tar zxvf kibana-3.0.1.tar.gz

$ sudo mv kibana-3.0.1/usr/share/elasticsearch/plugins/_site

$ sudo /etc/init.d/elasticsearch restart

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI