中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Python 批量寫入 Elasticsearch 腳本
來源:易賢網 閱讀:5273 次 日期:2015-05-04 14:38:07
溫馨提示:易賢網小編為您整理了“Python 批量寫入 Elasticsearch 腳本”,方便廣大網友查閱!

Elasticsearch 官方和社區提供了各種各樣的客戶端庫,在之前的博客中,我陸陸續續提到和演示過 Perl 的,Javascript 的,Ruby 的。上周寫了一版 Python 的,考慮到好像很難找到現成的示例,如何用 python 批量寫數據進 Elasticsearch,今天一并貼上來。

#!/usr/bin/env pypy

#coding:utf-8

import re

import sys

import time

import datetime

import logging

from elasticsearch import Elasticsearch

from elasticsearch import helpers

from elasticsearch import ConnectionTimeout

es = Elasticsearch(['192.168.0.2', '192.168.0.3'], sniff_on_start=True, sniff_on_connection_fail=True, max_retries=3, retry_on_timeout=True)

logging.basicConfig()

logging.getLogger('elasticsearch').setLevel(logging.WARN)

logging.getLogger('urllib3').setLevel(logging.WARN)

def parse_www(logline):

try:

time_local, request, http_user_agent, staTus, remote_addr, http_referer, request_time, body_bytes_sent, http_x_forwarded_proto, http_x_forwarded_for, http_host, http_cookie, upstream_response_time = logline.split('`')

try:

upstream_response_time = float(upstream_response_time)

except:

upstream_response_time = None

method, uri, verb = request.split(' ')

arg = {}

try:

url_path, url_args = uri.split('?')

for args in url_args.split('&'):

k, v = args.split('=')

arg[k] = v

except:

url_path = uri

# Why %z do not implement?

date = datetime.datetime.strptime(time_local, '[%d/%b/%Y:%H:%M:%S +0800]')

ret = {

"@timestamp": date.strftime('%FT%T+0800'),

"host": "127.0.0.1",

"method": method.lstrip('"'),

"url_path": url_path,

"url_args": arg,

"verb": verb.rstrip('"'),

"http_user_agent": http_user_agent,

"status": int(staTus),

"remote_addr": remote_addr.strip('[]'),

"http_referer": http_referer,

"request_time": float(request_time),

"body_bytes_sent": int(body_bytes_sent),

"http_x_forwarded_proto": http_x_forwarded_proto,

"http_x_forwarded_for": http_x_forwarded_for,

"http_host": http_host,

"http_cookie": http_cookie,

"upstream_response_time": upstream_response_time

}

return {"_index":"logstash-mweibo-www-"+date.strftime('%Y.%m.%d'), "_type":"nginx","_source":ret}

except:

return {"_index":"logstash-mweibo-www-"+datetime.datetime.now().strftime('%Y.%m.%d'), "_type":"nginx","_source":{"message":logline}}

def get_log():

start_time = time.time()

log_buffer = []

while True:

try:

line = sys.stdin.readline()

except:

break

if not line:

helpers.bulk(es, log_buffer)

del log_buffer[0:len(log_buffer)]

break

if line:

ret = parse_www(line.rstrip())

log_buffer.append(ret)

while ( len(log_buffer) > 2000 and len(log_buffer) % 2000 == 0 ):

try:

helpers.bulk(es, log_buffer)

except ConnectionTimeout:

print("try again")

continue

del log_buffer[0:len(log_buffer)]

break

else:

if (time.time() - startime > timeout ):

helpers.bulk(es, log_buffer)

start_time = time.time()

del log_buffer[0:len(log_buffer)]

time.sleep(1)

if __name__ == '__main__':

get_log()

和 Perl、Ruby 的客戶端不同,Python 的客戶端只支持兩種 transport 方式,urllib3 或者 thrift。也就是說,木有像事件驅動啊之類的辦法。

測試一下,這個腳本如果不發送數據,一秒處理日志條數在15k,發送數據,一秒只有2k。確實比較讓人失望,于是決定換成 pypy 試試——我司不少日志處理腳本都是用 pypy 運行的。

服務器上使用 pypy ,是通過 EPEL 安裝的,之前都只用核心模塊,這次需要安裝 elasticsearch 模塊。所以需要先給 pypy 加上 pip:

wget

pypy get-pip.py

網上大多說之前還要下載一個叫 distribute_setup.py 的腳本來運行,實測不需要,而且這個腳本的下載鏈接也失效了。

然后通過 pip 安裝 elasticsearch 包即可:

/usr/lib64/pypy-2.0.2/bin/pip install elasticsearch

測試,pypy 比 python 處理日志速度快一倍,寫 ES 速度快一半。不過 3300eps 依然很慢就是了。

測試中碰到的其他問題

可以看到腳本里已經設置了多次重試和超時重連,不過依然會收到寫入超時和失敗的返回,原來 Elasticsearch 默認對每個 node 做 segment merge 的時候,有磁盤保護措施,速度上限限制在 20MB/s。這在壓測的時候就容易觸發。

[2015-01-10 09:41:51,273][INFO ][index.engine.internal ] [node1][logstash-2015.01.10][2] now throttling indexing: numMergesInFlight=6,maxNumMerges=5

修改配置重啟即可:

indices.store.throttle.type:merge

indices.store.throttle.max_bytes_per_sec:500mb

關于這個問題,ES 也有討論:Should we lower the default merge IO throttle rate?。或許未來會有更靈活的策略。

更多 ES 性能測試和優化建議,參

更多信息請查看IT技術專欄

更多信息請查看技術文章
易賢網手機網站地址:Python 批量寫入 Elasticsearch 腳本
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲日本久久| 欧美日韩一区二区三区在线观看免| 黄色成人av网| 亚洲男人的天堂在线aⅴ视频| 亚洲一区二区高清视频| 久久久精品日韩欧美| 欧美激情在线观看| 欧美不卡视频| 久久深夜福利免费观看| 欧美中文字幕在线视频| 激情成人av| 中日韩高清电影网| 免费h精品视频在线播放| 国产精品第一区| 雨宫琴音一区二区在线| 久久精品道一区二区三区| 国产精品你懂得| 亚洲尤物视频在线| 国产精品美女999| 中文在线一区| 欧美午夜一区| 亚洲男人第一网站| 欧美日韩国产精品| 亚洲精品免费观看| 欧美色区777第一页| 亚洲精品1区| 欧美国产日韩精品| 亚洲激情网址| 免费亚洲婷婷| 亚洲欧洲一区二区天堂久久| 久久综合狠狠综合久久激情| 欧美日韩国产成人高清视频| 久久久久亚洲综合| 国产欧美日本一区视频| 国产精品国产三级国产aⅴ9色| 免费成人黄色av| 欧美一区二区私人影院日本| 日韩视频永久免费观看| 999在线观看精品免费不卡网站| 99精品国产一区二区青青牛奶 | 亚洲精品一区二区三区樱花| 欧美成人dvd在线视频| 最新成人在线| 国产精品高潮在线| 欧美综合激情网| 亚洲国产精选| 国产精品国内视频| 久久久91精品国产一区二区三区| 1000精品久久久久久久久| 欧美精品18videos性欧美| 亚洲在线免费视频| 影音先锋日韩精品| 国产精品成人播放| 久久久青草婷婷精品综合日韩| 亚洲久久一区二区| 国产亚洲一区二区三区在线观看| 欧美大片在线观看| 欧美一区二区日韩一区二区| 最新亚洲激情| 国产精品日韩久久久| 免费av成人在线| 亚洲欧美一区二区三区久久| **欧美日韩vr在线| 国产乱码精品一区二区三区不卡 | 国产精品久久国产精麻豆99网站| 欧美一区二区三区日韩| 日韩西西人体444www| 国模精品一区二区三区| 国产一区二区看久久| 欧美激情综合色| 欧美在线观看视频| 一区二区三区www| 狠狠色狠狠色综合日日tαg| 国产精品第2页| 国产在线精品一区二区中文| 性伦欧美刺激片在线观看| 亚洲国产精品久久久久秋霞影院| 久久黄色影院| 激情伊人五月天久久综合| 久久综合九色99| 尤物精品在线| 欧美四级在线观看| 香蕉免费一区二区三区在线观看| 国产亚洲一区在线播放| 一区二区三区在线观看欧美| 久久久久九九九九| 亚洲欧美国产不卡| 一区二区国产精品| 黄色成人在线| 国产午夜精品麻豆| 国产精品美女久久久免费| 欧美二区在线| 免费观看在线综合| 久久漫画官网| 久久久人成影片一区二区三区| 亚洲一区二区三区午夜| 99riav1国产精品视频| 亚洲精品免费在线观看| 亚洲国产精品第一区二区三区| 精品不卡一区| 一区在线影院| 在线色欧美三级视频| 国语自产精品视频在线看一大j8| 国产欧美成人| 国产欧美日韩在线视频| 国产精品自在欧美一区| 国产日韩欧美一区在线| 国产视频在线一区二区| 国产美女诱惑一区二区| 国产欧美日韩视频一区二区三区| 国产精品久久久一区麻豆最新章节| 欧美三级小说| 国产精品日本精品| 国产女主播视频一区二区| 国产一区二区精品久久| 韩国三级在线一区| 亚洲电影免费观看高清完整版在线| 亚洲高清一区二| 日韩亚洲一区在线播放| 亚洲午夜精品久久久久久app| 中文欧美日韩| 午夜一区不卡| 久久精品日韩欧美| 欧美91大片| 欧美日韩精品一区二区在线播放 | 国产日韩欧美三级| 国产午夜精品久久久久久免费视| 国产一区二区视频在线观看| 国产日韩三区| 尤妮丝一区二区裸体视频| 最新69国产成人精品视频免费| 在线日韩欧美| 99精品免费网| 亚洲欧美国产毛片在线| 久久精品国产77777蜜臀| 欧美v国产在线一区二区三区| 欧美日韩国产综合久久| 国产伦精品一区二区三区视频黑人 | 久久日韩粉嫩一区二区三区| 免费高清在线一区| 欧美涩涩视频| 国产亚洲精品久久久久动| 亚洲高清免费视频| 亚洲午夜黄色| 久久婷婷人人澡人人喊人人爽| 欧美激情按摩| 国产女精品视频网站免费| 亚洲成人原创| 日韩视频在线一区| 欧美一区二区三区的| 欧美成人精品h版在线观看| 欧美三级电影大全| 激情自拍一区| 亚洲性色视频| 免费在线播放第一区高清av| 国产精品久久久久久久久久妞妞| 依依成人综合视频| 亚洲在线观看免费视频| 老色批av在线精品| 国产精品香蕉在线观看| 亚洲国产欧美在线人成| 午夜精品成人在线视频| 欧美精品免费看| 精品91在线| 性欧美1819性猛交| 欧美日韩中文字幕在线| 依依成人综合视频| 欧美一区二区三区视频免费| 欧美日韩视频免费播放| 在线观看成人av电影| 小处雏高清一区二区三区| 欧美日韩一二三四五区| 亚洲国产精品久久久久| 久久狠狠久久综合桃花| 国产精品免费在线 | 香港成人在线视频| 欧美日韩精品免费观看视一区二区| 狠狠色综合色综合网络| 性欧美办公室18xxxxhd| 欧美系列一区| 99成人在线| 欧美激情a∨在线视频播放| 在线观看欧美亚洲| 欧美在线视频播放| 国产精品久久91| 一区二区三区精品在线| 欧美理论在线播放| 亚洲人成网站999久久久综合| 久久女同互慰一区二区三区| 国产欧美日韩一级| 午夜精品久久久久久久久久久久久| 欧美日韩一区在线观看视频| 亚洲精品一区二区三区福利| 裸体女人亚洲精品一区| 狠狠88综合久久久久综合网| 欧美在线视频一区二区三区| 国产美女精品视频免费观看| 亚洲女人天堂成人av在线| 国产精品天天摸av网| 亚洲综合导航|