zoukankan      html  css  js  c++  java
  • 部署ELK

    1.搭建客户机Nginx

    ls[root@nginx ~]# hostname

    nginx

    [root@nginx ~]# cat /etc/redhat-release

    CentOS release 6.5 (Final)

    [root@nginx ~]# uname -r

    2.6.32-431.el6.x86_64

    [root@nginx ~]# /etc/init.d/iptables stop

    iptables:将链设置为政策 ACCEPT:filter                    [确定]

    iptables:清除防火墙规则:                                 [确定]

    iptables:正在卸载模块:                                   [确定]

    [root@nginx ~]# setenforce 0

    setenforce: SELinux is disabled

    [root@nginx ~]# chkconfig iptables off

    [root@nginx ~]# tar xf nginx-1.13.12.tar.gz -C /usr/src/

    [root@nginx ~]# useradd -M -s /sbin/nologin nginx

    [root@nginx ~]# cd /usr/src/nginx-1.13.12/

    [root@nginx nginx-1.13.12]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install

    [root@nginx nginx-1.13.12]# cp -p /usr/local/nginx/sbin/* /usr/local/sbin/

    [root@nginx nginx-1.13.12]# nginx

    [root@nginx nginx-1.13.12]# netstat -anpt|grep nginx

    tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5605/nginx

    2部署客户机Apache:

    [root@Apache ~]# hostname

    Apache

    [root@Apache ~]# cat /etc/redhat-release

    CentOS release 6.5 (Final)

    [root@Apache ~]# uname -r

    2.6.32-431.el6.x86_64

    [root@Apache ~]# /etc/init.d/iptables stop

    [root@Apache ~]# setenforce 0

    [root@Apache ~]# tar xf apr-1.5.1.tar.gz -C /usr/src/

    [root@Apache ~]# tar xf apr-util-1.5.1.tar.gz -C /usr/src/

    [root@Apache ~]# tar xf  httpd-2.4.33.tar.gz  -C /usr/src/

    [root@Apache ~]# cd /usr/src/apr-1.5.1/

    [root@Apache apr-1.5.1]# ./configure prefix=/usr/local/apr && make && make install

    [root@Apache apr-1.5.1]# cd ../apr-util-1.5.1/

    [root@Apache apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ && make && make install

    [root@Apache apr-util-1.5.1]# cd ../httpd-2.4.33/

    [root@Apache httpd-2.4.33]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-header --enable-charset-lite --enable-cgi --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ && make && make install

    [root@Apache httpd-2.4.33]# ln -s /usr/local/httpd/bin/* /usr/local/sbin/

    [root@Apache httpd-2.4.33]# apachectl start

    AH00557: httpd: apr_sockaddr_info_get() failed for Apache

    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

    [root@Apache httpd-2.4.33]# netstat -anpt|grep httpd

    tcp        0      0 :::80                       :::*                        LISTEN      34117/httpd 

    3.部署Elasticserch(Logstash、Kibana三台都需要安装JDK)

    1.查看系统环境:

    [root@Elasticserch ~]# hostname

    Elasticserch

    [root@Elasticserch ~]# cat /etc/redhat-release

    CentOS release 6.5 (Final)

    [root@Elasticserch ~]# uname -r

    2.6.32-431.el6.x86_64

    [root@Elasticserch ~]# /etc/init.d/iptables stop         

    [root@Elasticserch ~]# setenforce 0

    2.安装JDK环境:

    [root@Elasticserch ~]# tar xf jdk-8u161-linux-x64.tar.gz

    [root@Elasticserch ~]# mv jdk1.8.0_161/ /usr/local/java

    [root@Elasticserch ~]# vim /etc/profile.d/java.sh

    export JAVA_HOME=/usr/local/java

    export PATH=$PATH:$JAVA_HOME/bin

    [root@Elasticserch ~]# source /etc/profile

    [root@Elasticserch ~]# java -version

    java version "1.8.0_161"

    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)

    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

    3.安装Elasticserch节点:

    [root@Elasticserch ~]# tar xf elasticsearch-6.2.4.tar.gz

    [root@Elasticserch ~]# mv elasticsearch-6.2.4 /usr/local/elasticsearch

    [root@Elasticserch ~]# cd /usr/local/elasticsearch/

    [root@Elasticserch elasticsearch]# cd config/

    [root@Elasticserch config]# cp elasticsearch.yml{,.default}     #备份配置文件,防止修改错误

    4.修改配置文件:

    [root@Elasticserch config]# vim elasticsearch.yml

    cluster.name: my-es-cluster           #集群的名称

    node.name: node-1                 #节点的名称

    path.data: /usr/local/elasticsearch/data   #数据路径

    path.logs: /usr/local/ elasticsearch /logs    #日志路径

    bootstrap.memory_lock: false          #这行去掉注释把ture改成false,不改会造成服务启动报错

    bootstrap.system_call_filter: false      #添加这行,否则启动会报错。

    配置上述两行的原因:
    这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

    network.host: 192.168.200.132          # elasticsearch主机地址

    http.port: 9200                        #端口号

    discovery.zen.ping.unicast.hosts: ["node-1"]  #启动新节点通过主机列表发现。

    discovery.zen.minimum_master_nodes: 1    #总节点数

    [root@elasticsearch ~]# vim /etc/security/limits.d/90-nproc.conf

    *          soft    nproc     4096   #默认1024,改成4096

    [root@elasticsearch ~]# vim /etc/sysctl.conf

    #末尾追加否则服务会报错。

    vm.max_map_count=655360

    [root@elasticsearch ~]# sysctl -p   #使上述配置生效

    3.创建elasticsearch运行的用户:

    [root@Elasticserch config]# useradd elasticsearch

    [root@Elasticserch config]# chown -R elasticsearch.elasticsearch /usr/local/elasticsearch/

    4.修改文件句柄数:

    [root@Elasticserch config]# vim /etc/security/limits.conf

    #添加下面内容:

    *               soft    nofile           65536

    *               hard    nofile           65536

    *               soft    nproc           65536

    *               hard    nproc           65536

    5.切换用户启动服务

    [root@Elasticserch config]# su - elasticsearch

    [elasticsearch@Elasticserch ~]$ cd /usr/local/elasticsearch/

    [elasticsearch@elasticsearch elasticsearch]$ bin/elasticsearch &

    注:如果启动错误请看下上述配置过程黄色标记的部分是否有配置错误或者没有配置。

     

    6.查看服务是否启动成功

    [root@elasticsearch ~]# netstat -anpt

    Active Internet connections (servers and established)

    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  

    tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      970/rpcbind        

    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1150/sshd          

    tcp        0      0 0.0.0.0:56600               0.0.0.0:*                   LISTEN      988/rpc.statd      

    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1226/master        

    tcp        0     64 192.168.200.132:22          192.168.200.2:62459         ESTABLISHED 1301/sshd          

    tcp        0      0 :::111                      :::*                        LISTEN      970/rpcbind        

    tcp        0      0 ::ffff:192.168.200.132:9200 :::*                        LISTEN      3990/java          

    tcp        0      0 ::ffff:192.168.200.132:9300 :::*                        LISTEN      3990/java          

    tcp        0      0 :::52916                    :::*                        LISTEN      988/rpc.statd      

    tcp        0      0 :::22                       :::*                        LISTEN      1150/sshd           

    tcp        0      0 ::1:25                      :::*                        LISTEN      1226/master      

    7.简单测试下:

    [root@elasticsearch ~]# curl http://192.168.200.132:9200

    {

      "name" : "node-1",

      "cluster_name" : "my-es-cluster",

      "cluster_uuid" : "tMW5tRXMTwO0g1i9BAp0rg",

      "version" : {

        "number" : "6.2.4",

        "build_hash" : "ccec39f",

        "build_date" : "2018-04-12T20:37:28.497551Z",

        "build_snapshot" : false,

        "lucene_version" : "7.2.1",

        "minimum_wire_compatibility_version" : "5.6.0",

        "minimum_index_compatibility_version" : "5.0.0"

      },

      "tagline" : "You Know, for Search"

    }

    说明服务正常。

    8.安装head插件:

    [root@Elasticserch ~]# vim /usr/local/elasticsearch/config/elasticsearch.yml

    # 增加参数,使head插件可以访问es

    http.cors.enabled: true

    http.cors.allow-origin: "*"

    下载head插件

    wget https://github.com/mobz/elasticsearch-head/archive/master.zip

    安装node

    配置下环境变量,编辑/etc/profile添加

    [root@Elasticserch ~]# vim /etc/profile.d/node.sh

    export NODE_HOME=/root/node-v4.4.7-linux-x64

    export PATH=$PATH:$NODE_HOME/bin

    export DODE_PATH=$NODE_HOME/lib/node_modules

    [root@Elasticserch ~]# . /etc/profile

    安装grunt

    grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动

    [root@Elasticserch ~]# unzip master.zip

    [root@Elasticserch ~]# cd elasticsearch-head-master/

    [root@Elasticserch elasticsearch-head-master]# npm install -g grunt-cli         # 执行后会生成node_modules文件夹

    [root@Elasticserch elasticsearch-head-master]# grunt -version

    grunt-cli v1.2.0

    [root@Elasticserch elasticsearch-head-master]# vim Gruntfile.js

                   connect: {

                            server: {

                                    options: {

                                            port: 9100,

                                            base: '.',

                                            keepalive: true

                                            hostname: '*'             #添加这行

    [root@Elasticserch elasticsearch-head-master]# vim _site/app.js

    (function( app, i18n ) {

     

            var ui = app.ns("ui");

            var services = app.ns("services");

     

            app.App = ui.AbstractWidget.extend({

                    defaults: {

                            base_uri: null

                    },

                    init: function(parent) {

                            this._super();

                            this.prefs = services.Preferences.instance();

                            this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.200.130:9200";            #改成es地址

    运行head

    [root@Elasticserch elasticsearch-head-master]# grunt server &

    重启es

    报错解决方法:

    npm config set strict-ssl false

    npm config set registry http://registry.cnpmjs.org

    npm info underscore

    npm --registry http://registry.cnpmjs.org info underscore

    编辑 ~/.npmrc 加入下面内容

    registry = http://registry.cnpmjs.org

  • 相关阅读:
    用户和用户组管理
    浏览器从输入URL到页面加载显示完成全过程解析
    easyui form提交和formdata提交记录,查看FormData对象内部的值
    Hybrid App中原生页面 VS H5页面(分享)
    ui-router .state参数配置
    利用webpack手动构建vue工程
    使用json对象要注意的地方
    js中使用0 “” null undefined {}需要注意
    已知宽高和未知宽高的div块的水平垂直居中
    jquery easyui datagrid 空白条处理 自适应宽高 格式化函数formmater 初始化时会报错 cannot read property 'width'||'length' of null|undefined
  • 原文地址:https://www.cnblogs.com/momenglin/p/10744769.html
Copyright © 2011-2022 走看看