安装集群es和head,kinaba以及测试

1安装elasticsearch集群

1.1三台机器都统一用户为es

172.31.100.114

172.31.100.113

172.31.100.112


114已经创建好

以下是112和113的情况



1.2  112和113都下载Elasticsearch并解压Elasticsearch到/opt/elasticsearch/

tar -zxf elasticsearch-6.2.4.tar.gz -C /opt/elasticsearch/

并且进到elasticsearch-6.2.4下更改用户权限

chown -R es:bigdata .


1.3三台机器都修改配置

vim /elasticsearch-6.2.4/config/elasticsearch.yml


1.4三台机器都修改 Linux下/etc/security/limits.conf文件设置

vim /etc/security/limits.conf

* soft nofile 262144

* hard nofile 262144

es soft memlock unlimited

es hard memlock unlimited


1.5  112和113修改 Linux下/etc/sysctl.conf文件设置


1.6启动三台机器的elasticsearch

一定要在es用户下且在elasticsearch的按照目录下

后台启动

bin/elasticsearch  -d


2.elasticsearch-head安装

elasticsearch-head要更新数据,只要在114那台机器下的elasticsearch-head目录下重新npm install即可



3.完成的head界面

在安装目录启动grunt server,不要在root用户启动

在浏览器输入网址http://172.31.100.114:9100/



4.kibana安装

4.1下载https://www.elastic.co/cn/downloads/kibana 版本要和es版本相同 


4.2解压到114的/opt/modules中


4.3配置

# vim config/kibana.yml

elasticsearch.url: "http://192.168.10.173:9200" # kibana监控哪台es机器

server.host: "192.168.10.173" # kibana运行在哪台机器


4.4运行

bin/kibana


浏览器输入http://172.31.100.114:5601进入界面



5.测试工具esrally

在172.31.100.111上安装

参考:https://segmentfault.com/a/1190000011174694

5.1安装环境要求

•Python 3.4+ 和 pip3

5.1.1安装python3

安装目录在/opt/esrally/python

1.安装bzip2-1.0.6.tar.gz

下载bzip2-1.0.6.tar.gz

tar -xf bzip2-1.0.6.tar.gz

cd bzip2-1.0.6

64位系统需要加上-fPIC编译选项

vi Makefile

CFLAGS=-fPIC -Wall -Winline -O2 -g $(BIGFILES)

make 

sudo make install

2安装Python-3.4.1

(1)下载解压。

$ wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz

$ tar zxvf Python-3.4.1.tgz

(2)进入解压后的目录,执行安装配置

$ ./configure

或指定安装目录

$ ./configure --prefix=/opt/python3

(3)Build

$ make

(4)Install

$ make install

(5)安装后建立一个链接,这样我们可以用python3直接运行程序,和python2区别开来。

$ ln -s /opt/python3/bin/python3 /usr/bin/python3



•JDK 8

配置cdh时已经安装

•git 1.9+

5.1.2安装git 1.9

安装目录在/opt/esrally/git

第一步,安装依赖包。

在开始编译安装git之前,首先应该安装好必要的依赖包,省得在安装过程中出现各种问题。

#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

第二步,下载并编译git。

你可以从kernel.org上下载自己需要的版本,或者直接像我这样下载1.9.0版本。

切换到src目录,下载并解压git源码。

wget https://www.kernel.org/pub/software/scm/git/git-1.9.0.tar.gz

tar xzf git-1.9.0.tar.gz

进入到解压出的git目录,执行编译。

#cd git-1.9.0

# make prefix=/usr/local/git all

# make prefix=/usr/local/git install

# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

# source /etc/bashrc

第三步,完成。

# git --version


5.2esrally安装

pip3 install esrally


5.3设置esrally环境

esrally configure


6.测试

esrally --track=geonames --target-hosts=172.31.100.112:9200,172.31.100.113:9200,172.31.100.114:9200 --pipeline=benchmark-only

说明:track是测试数据包,--target-hosts是测试主机,pipeline=benchmark-only是加压测试





















8基于libcurl的与es进行通信(C++代码)


Elasticsearch可以通过http报文和json语句来进行增删查改,可以通过libcurl构造语句,去发送到es集群进行操作。参考

https://blog.csdn.net/xsdxs/article/details/72849796

https://stackoverflow.com/questions/25887453/how-to-use-libcurl-in-c-to-send-post-to-elasticsearch



实现一个简便的esclient()函数,方便读写

#include

#include

#include

#include

#include


using namespace std;

/*

说明

对es进行增删查改,主要是通过构建http报文去实现的,libcurl可以实现这些功能。


函数esclient(const string &_http, const string &_json, const string &_command)说明:

_http:你要操作的位置,

如果需要更新数据,在位置之后加_updata;例:esclient("http://172.31.100.114:9200/customer/external/2/_updata/"," {\"doc\": { \"name\": \"eee\" }}","updata");

如果需要匹配查询或批量查询批量删除,在位置之后加_search;例:esclient("http://172.31.100.114:9200/bank/_search","","search");


_json:要操作的json语句,要插入数据,查询数据,更新数据,匹配删除数据等操作需要加json语句


_command:要删除到id的数据,或者索引必须交delete关键字,要查询到id的数据必须加get关键字


使用环境:必须安装libcurl,编译需要加-lcurl

*/

size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)

{

    strncat((char *)stream, (char *)ptr, size*nmemb);

    return size * nmemb;


}


int esclient(const string &_http, const string &_json, const string &_command)

{

CURL *curl;

CURLcode res;

struct curl_slist* headers = NULL;

curl = curl_easy_init();

curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);

curl_easy_setopt(curl, CURLOPT_URL, _http.c_str());

headers=curl_slist_append(headers, "Content-Type:application/json");

curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

char out[40960]={0};

curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);

curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out);

if(_command=="delete")

{

curl_easy_setopt(curl,  CURLOPT_CUSTOMREQUEST, "DELETE");

}

else if(_command=="get")

{

curl_easy_setopt(curl,  CURLOPT_CUSTOMREQUEST, "GET");

}

else

{

curl_easy_setopt(curl,  CURLOPT_CUSTOMREQUEST, "POST");

}

if(!_json.empty())

{

curl_easy_setopt(curl,CURLOPT_POSTFIELDS,_json.c_str());

curl_easy_setopt(curl,CURLOPT_POSTFIELDSIZE,_json.length());

}

res = curl_easy_perform(curl);

printf("%s\n",out);

curl_easy_cleanup(curl);

return res;

}


int main(void)

{

esclient("http://172.31.100.114:9200/customer/external/1","","get"); //查询单条数据

esclient("http://172.31.100.114:9200/bank/_search","","search"); //批量查询数据,但是只返回10条,如需其他要求,加json语句

esclient("http://172.31.100.114:9200/customer/external/3/"," { \"name\": \"hhh\" }","add"); //增加一条数据

esclient("http://172.31.100.114:9200/customer/external/2/_updata/"," {\"doc\": { \"name\": \"eee\" }}","updata"); //更新某条数据

esclient("http://172.31.100.114:9200/ccc","","delete"); //删除索引

esclient("http://172.31.100.114:9200/customer/external/_delete_by_query"," {\"query\":{ \"match\":{\"name\": \"hhh\" }}}",""); //匹配删除数据

}


运行结果:

图1是查询单条语句的结果

图2是批量查询的结果

图3是以上程序运行前的图

图4是以上程序运行后的图

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容