设为首页 收藏本站
查看: 1620|回复: 0

[经验分享] centos7安装elasticsearch-5.0.0

[复制链接]
累计签到:19 天
连续签到:1 天
发表于 2017-7-19 16:50:09 | 显示全部楼层 |阅读模式
1、初始环境
centos7   内核高于3.5
jdk8
创建用户(用户名无要求)、密码,该软件不能在root用户下运行。
集群配置:
192.168.99.117-119,分别为node1、node2 、node3
useradd xiaoge  -d  /home/xiaoge  -s /bin/bash
passwd xiaoge

系统参数要求:

[iyunv@master ~]cat /etc/sysctl.conf
fs.file-max=65536
vm.max_map_count=262144
[iyunv@master ~]]# sysctl -p
vm.max_map_count = 262144
[iyunv@master ~]# cat  /etc/security/limits.conf
xiaoge hard nofile 65536
xiaoge soft nofile 65536
2、操作步骤
node1配置:(其他集群主机相同)
解压:
tar -zxvf elasticsearch-5.0.0.tar.gz -C /usr/local/
修改配之文件:
cd  /usr/loca/elasticsearch-5.0.0
vi elasticsearch.yml
cluster.name: ES_cluster
node.name: node-1  //(其他主机配置node-2、node-3)
path.data: /usr/local/elasticsearch-5.0.0/data
path.logs: /usr/local/elasticsearch-5.0.0/logs
bootstrap.memory_lock: true
network.host: 192.168.99.117 //(绑定地址)
http.port: 9200 //(绑定端口)
discovery.zen.ping.unicast.hosts: ["192.168.99.117", "192.168.99.118","192.168.99.119"]
//集群配置
discovery.zen.minimum_master_nodes: 2
# 增加新的参数,这样head插件可以访问eshttp.cors.enabled: truehttp.cors.allow-origin: "*"


2、运行elasticsearch :
配置jvm。
[iyunv@master config]# pwd
/usr/local/elasticsearch-5.0.0/config
[iyunv@master config]# cat  jvm.options
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms512m
-Xmx512m
若想让es后台运行,则
[xiaoge@master bin]$ ./elasticsearch -d &
2.关闭elasticsearch:
前台运行:可以通过”CTRL+C”组合键来停止运行
后台运行,可以通过”kill -9 进程号”停止.也可以通过REST API接口:
curl -XPOST http://主机IP:9200/_cluster/nodes/_shutdown
来关闭整个集群,
通过:curl -XPOST http://主机IP:9200/_cluster/nodes/节点标示符(如es-node1)/_shutdown
来关闭单个节点
3、插件及其安装(5.0版本后不再支持head插件,需要单独安装)
BigDesk Plugin : 对集群中es状态进行监控。
Elasticsearch Head Plugin: 对ES进行各种操作,如查询、删除、浏览索引等。
1.安装head插件
进入到节点elasticsearch-node1/bin路径,并安装插件。
第一步:通过git拉取,或者单独下载
yum -y install git
git clone git://github.com/mobz/elasticsearch-head.git
下载后,修改下777权限(简单粗暴),因为是独立启动head的,所以随便放一个位置就行了,参考:
/home/xiaoge
第二步,安装node
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)
去官网下载nodejs,https://nodejs.org/en/download/
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/72e68ed25c93417796bdbe23217d7a29/clipboard.png
下载下来的jar包是xz格式的,一般的linux可能不识别,还需要安装xz.
yum -y install xz
xz -d node*.tar.xztar -xvf node*.tar

[iyunv@master ~]# cat  /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_92
export NODE_HOME=/opt/node-v6.10.2-linux-x64
export PATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/bin:$HOME/bin
[iyunv@master ~]# source /etc/profile

第三步,安装grunt
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。因此需要安装一下grunt:
npm install grunt-cli -g
npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
打开elasticsearch-head目录下的package.json文件,找到license位置,修改为上面这个网站上存在Identifier,就可以了。如图所示,把原来的Apache内容修改为Apache-2.0
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/9a2ab2752f4a4837be6375953d722478/clipboard.png
在elasticsearch-head目录下node_modules/grunt下如果没有grunt二进制程序,需要执行
cd elasticsearch-head
npm install grunt --save
/usr/local/elasticsearch-head/node_modules/grunt/bin/grunt server
或者
cd elasticsearch-head
grunt server &

C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/682efd9c8d9f4105a68e9f478890a0cf/clipboard.png

安装 kibana 5.0
wget https://artifacts.elastic.co/dow ... .0-linux-x86.tar.gz
tar -zxvf kibana-5.0.0-linux-x86.tar.gz
mv  kibana-5.0.0-linux-x86.tar.gz  /usr/local/
cd  /usr/local/kibana-5.0.0-linux-x86/
[iyunv@node1 kibana-5.0.0-linux-x86]# cat  config/kibana.yml | grep -v '^#'
server.port: 5601
server.host: "192.168.99.118"
server.name: "kibana_server"
elasticsearch.url: "http://192.168.99.118:9200"


[iyunv@node1 kibana-5.0.0-linux-x86]# ./bin/kibana &
[2] 5011
[iyunv@node1 kibana-5.0.0-linux-x86]# ./bin/kibana: /usr/local/kibana-5.0.0-linux-x86/bin/../node/bin/node: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
./bin/kibana: line 24: /usr/local/kibana-5.0.0-linux-x86/bin/../node/bin/node: Success
[2]+  Exit 126                ./bin/kibana
解决办法:
[iyunv@node1 kibana-5.0.0-linux-x86]# yum install ld-linux.so.2

[iyunv@node1 kibana-5.0.0-linux-x86]# ./bin/kibana &
[2] 7062
[iyunv@node1 kibana-5.0.0-linux-x86]# ./bin/../node/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
[2]+  Exit 127                ./bin/kibana
解决办法:
yum install libstdc++.so.6

kibana 5.0 已经集成了各插件实现了常用和重要的功能,Marvel 和 sense 已不再需要安装了,kibana 中的 Dev Tools 实现了这样的功能。
哪些插件有用,参考官方文档: https://www.elastic.co/downloads
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/1284bffa461249daa7b206ec4fee0f28/clipboard.png

把输出直接传输到elasticsearch:

input {
        file {
                path =>  "/var/log/messages"
        }
}


output {
        file {
                path => "/tmp/log-%{+YYYY-MM-dd}.messages.gz"
                gzip => true
        }

        elasticsearch {
                host => ["192.168.10.206"]
                protocol => "http"
                index => "system-message-%{+YYYY.MM.dd}"
        }
}



#############logstash配置,日志文件输入到redis,redis输入到elasticsearch数据库
在使用logstash前,需要对它有一定的了解。logstash的组件其实很简单,主要包括input、filter、output、codec四个部分。
  • input 用于读取内容,常用的有stdin(直接从控制台输入)、file(读取文件)等,另外还提供了对接redis、kafka等的插件
  • filter 用于对输入的文本进行处理,常用的有grok(基于正则表达式提取字段)、kv(解析键值对形式的数据)、csv、xml等,另外还提供了了一个ruby插件,这个插件如果会用的话,几乎是万能的。
  • output 用于把fitler得到的内容输出到指定的接收端,常用的自然是elasticsearch(对接ES)、file(输出到文件)、stdout(直接输出到控制台)
  • codec 它用于格式化对应的内容,可以再Input和output插件中使用,比如在output的stdout中使用rubydebug以json的形式输出到控制台

以下日志流程为nginx日志---->redis--->elasticsearch
[xiaoge@master logstash-5.3.0]$ pwd
/usr/local/logstash-5.3.0
[xiaoge@master logstash-5.3.0]$ cat config/file2redis.conf
input {
        file {
                type => "nginx_access log"
                path => ["/usr/local/nginx/logs/access.log"]
             }
      }

filter {
    grok {
        match => {
            "message" => "%{NOTSPACE:url}\s*%{NOTSPACE:date}\s*%{NOTSPACE:pvs}\s*%{NOTSPACE:uvs}\s*%{NOTSPACE:ips}\s*%{NOTSPACE:mems}\s*%{NOTSPACE:new_guests}\s*%{NOTSPACE:quits}\s*%{NOTSPACE:outs}\s*%{NOTSPACE:stay_time}"
        }
    }
}
output {
       stdout {
               codec => rubydebug
               }
       redis {
                host => "192.168.99.119"
                port => 6379
                data_type => "list"
                key => "f1-nginx-json-log"
        }
}

#####启动日志服务
[xiaoge@master logstash-5.3.0]$ ./bin/logstash -f config/file2redis.conf --verbose

[xiaoge@master logstash-5.3.0]$ cat config/redis2es.conf

input {
        redis {
        data_type => "list"
        key => "f1-nginx-json-log"
        host => "192.168.99.119"
        port => 6379
         }
     }
output {
        stdout{
                codec => rubydebug
                }
        elasticsearch {
                hosts => ["192.168.99.117:9200"]
                index => "nginx117-%{+YYYY.MM.dd}"  #######elasticsearch库的创建名称,如果对应不上不能创建。
                }
        }
[xiaoge@master logstash-5.3.0]$ ./bin/logstash -f config/redis2es.conf --verbose

###打开kibana,management -->Index Patterns -->Add New
http://192.168.99.119:5601
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/4f3573b21c0f4919a9bed46467b99b94/clipboard.png

C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/1fd4e647e6fc459d8907a7083510d1e1/clipboard.png
或者用*匹配
C:/Users/Administrator/AppData/Local/YNote/data/qq41E380972A3128D92AECC7E981CEFD76/ca3cb935d32b4e029eb91871115cf442/clipboard.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-394850-1-1.html 上篇帖子: centos7安装mesos_marathon_zookeeper 下篇帖子: Docker
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表