环境:

系统:centos7.3

版本:elasticsearch6.2.3

head版本:https://codeload.github.com/mobz/elasticsearch-head/zip/master  (这个就是下面说的head目录,把解压后的文件夹命名为head,但也不是强制性的要求)

首先下载elasticsearch

下载地址 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.zip

解压到某个普通用户家目录下(解压目录没有硬性要求,但是必须把解压的文件夹所有者改为普通用户,因为开启服务时我们需要用普通用户才能启动服务,root用户不行)

然后执行该解压目录下的bin下的elasticsearch文件

可能会报错,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],修改

解决:

切换到root用户

执行命令:

sysctl -w vm.max_map_count=262144

查看结果:

sysctl -a|grep vm.max_map_count

显示:

vm.max_map_count = 262144

上述方法修改之后,如果重启虚拟机将失效,所以:

解决办法:

在   /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

即可永久修改

上面这种问题我还遇到过其他的,快速解决的方法是ulimit -a查看全部属性

比如说,他提示文件数太小,就是open files哪里,直接使用ulimit -n 2048就能直接设置为该值,其中-n是括号里面的那个n,如果想改processes那个,就该用-u

访问localhost:9200,效果如下,这是Firefox浏览器,我用360极速浏览器,发现没有东西显示出来

但是如果我们从外面访问,会无法访问

解决方法

vim ./config/elasticsearch.yml

在最后增加一行,network.host:0.0.0.0,或者在原文找到network.host修改其值

下载node

去官网下载nodejs,https://nodejs.org/en/download/

下载好之后,解压./configure;make;make install

查看node是否安装成功

node -v

顺便看一下npm

npm -v

安装grunt

npm install -g cnpm --registry=https://registry.npm.taobao.org

npm install -g grunt-cli --registry=https://registry.npm.taobao.org

检测是否成功安装grunt

grunt -version

编辑文件head/Gruntfile.js

connect: {
server: {
options: {
port: 9100,
hostname: '*', #这里改为*
base: '.',
keepalive: true
}
}
}

编辑head/_site/app.js

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

把上面的localhost改为服务器ip

运行head

npm install

grunt server

执行上面两条命令后,提示已连接localhost:9100

如果不出意外的话,连接那里是灰色的,还需要进行额外的配置

vim $ES_HOME$/config/elasticsearch.yml

# 增加如下字段
http.cors.enabled: true
http.cors.allow-origin: "*"
 
修改完成后重启es和head即可,即9100和9200端口应用
 
现在我们在加上一个logstash
下载地址 https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz
运行时只需要执行命令bin/logstash -f logstash.conf ,但是我们先不运行,因为我们还需要进行其他配置。比如说,我们现在尝试用logstash连接mysql,并同步到elasticsearch
首先我们需要下载mysql连接工具https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
在logstash解压目录下的bin目录新建logstash.conf文件,内容如下(#后面的内容是我注释的,只做解释作用,复制时最好删除)
input {
jdbc {
jdbc_driver_library => "/usr/local/elasticsearch/plugins/logstash/mysql-connector-java-5.1.44-bin.jar" #解压后的mysql连接文件路径
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://192.168.0.200:3306/vegent?characterEncoding=UTF-8&useSSL=false" #ip需要更改为自己的ip,vegent是数据库名?
jdbc_user => "test"      #数据库用户名
jdbc_password => "test"    #数据库test用户密码
statement => "SELECT * FROM vegent" #数据库表
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
schedule => "* * * * *"
}
} filter {
json {
source => "message"
remove_field => ["message"]
}
} output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => "192.168.0.200" #这个也要改为自己的ip
index => "vegent"        #不知道这个又是什么鬼,跟上面的vegent保持一致吧
}
}

现在执行bin/logstash -f logstash.conf  

可以看到,有数据出来了

参考文档

https://blog.csdn.net/mergerly/article/details/53412417

https://www.cnblogs.com/eleven24/p/7733052.html

centos7 部署elasticsearch的更多相关文章

  1. 云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

    文章转载自:https://mp.weixin.qq.com/s/iPfh9Mkwxf5lieiqt6ltxQ 服务器是命令行模式登录,没法以浏览器方式访问.而官方推荐的快捷部署方式,在kibana ...

  2. Centos7部署elasticsearch并且安装ik分词以及插件kibana

    第一步 下载对应的安装包 elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch ik分词下载:https://gith ...

  3. Elasticsearch学习总结 (Centos7下Elasticsearch集群部署记录)

    一.  ElasticSearch简单介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticse ...

  4. centos7下部署elasticSearch集群

    OS:Centos7x虚拟机 1H2Gjdk:1.8elasticsearch:5.6.0 单节点配置请参考:centos7下elasticSearch安装配置 配置master节点 # 在配置文件的 ...

  5. centos7 部署 ELK 日志系统

    =============================================== 2017/12/24_第3次修改                       ccb_warlock 更 ...

  6. CentOS7 部署 ElasticSearch7.0.1 集群

    环境 主机名 IP 操作系统 ES 版本 test1 192.168.1.2 CentOS7.5 7.0.1 test2 192.168.1.3 CentOS7.5 7.0.1 test3 192.1 ...

  7. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

  8. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  9. Docker部署Elasticsearch集群

    http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...

随机推荐

  1. Sql Server 中 根据列名查询表名

    已知列名 ELEMENT_ID ,查询所属表名称 Select O.name objectName, C.name ColumnName from sys.columns C inner join s ...

  2. xshell无法在小键盘输入数字

    自从很久之前用小键盘输入数字后出现奇怪的字母并换行后就不用小键盘,今天脑抽又用小键盘写数字,并决定解决问题. 原因分析: 当xshell终端类型不是"VT220"或者"A ...

  3. ON 子句和 WHERE 子句的不同

    原文: https://www.cnblogs.com/zjfjava/p/6041445.html 即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学 ...

  4. SQL-27 给出每个员工每年薪水涨幅超过5000的员工编号emp_no、薪水变更开始日期from_date以及薪水涨幅值salary_growth,并按照salary_growth逆序排列。 提示:在sqlite中获取datetime时间对应的年份函数为strftime('%Y', to_date)

    题目描述 给出每个员工每年薪水涨幅超过5000的员工编号emp_no.薪水变更开始日期from_date以及薪水涨幅值salary_growth,并按照salary_growth逆序排列. 提示:在s ...

  5. Jmeter响应中中文乱码怎么解决

    在jmeter的bin目录下有一个jmeter.properties的文件,打开它,搜索sampleresult.default.encoding,把它的注释打开,也就是把最前面的#去掉,改成samp ...

  6. GNU C的定义长度为0的数组

    在标准C和C++中,长度为0的数组是被禁止使用的.不过在GNU C中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,长度为0的数组是没有什么意义的,不过在 ...

  7. poj1062(分区间迪杰斯特拉,内含测试数据,一直wa的同学可以进来看看)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 54946   Accepted: 16518 Descripti ...

  8. <YaRN><Official doc><RM REST API's>

    Overview ... YARN Architecture The fundamental idea of YARN is to split up the functionalities of re ...

  9. mysql随机查询记录的高效率方法

    mysql使用rand随机查询记录的高效率方法 一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了. 但是真 ...

  10. 使用Redis做为MySQL的缓存

    OS: Ubuntu 16.04.4 x64 更新并安装必要的工具 apt update && apt upgrade -y && apt dist-upgrade - ...