Elasticsearch安装

一、环境准备
Elasticsearch是采用java开发的,运行在JDK上,所以需要先安装JDK,本文档以elasticsearch 6.7.1 为例讲解,JDK为oracle官方的JDK1.8。 下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


下载jdk1.8, 解压安装
tar -xzvf jdk-8u211-linux-x64.tar.gz -C /home/data/
mv jdk-8u211-linux-x64 jdk1.8.0
配置环境变量
vi /etc/profile
在最后面添加如下配置
# java setting
export JAVA_HOME=/home/data/jdk1.8.0
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

生效环境变量设置
source /etc/profile

测试jdk安装,输入下述命令后有对应的版本信息打印出来代表安装成功。
java -version

二、下载安装
Elasticsearch 官方下载地址 https://www.elastic.co/downloads/past-releases

选择对应的版本 6.7.1 然后点Download按钮进入下载页面


选择LINUX版本下载,最终下载的文件为elasticsearch-6.7.1.tar.gz


将安装包elasticsearch-6.7.1.tar.gz 复制到linux的/home/data/目录下

解压缩安装
tar -zxvf elasticsearch-6.7.1.tar.gz
cd elasticsearch-6.7.1/config/
更改配置文件 elasticsearch.yml 
#群集名称
cluster.name: test-cluster
#节点名称
node.name: node-1
#数据存放目录
path.data: /home/data/elastic/data
#日志存放目录
path.logs: /home/data/elastic/logs
#网络主机
network.host: 0.0.0.0
#HTTP服务端口
http.port: 9200
# 内部通信端口
transport.tcp.port: 9300
# 内部通信数据启用压缩
transport.tcp.compress: true
# 群集服务器列表
discovery.zen.ping.unicast.hosts: ["192.168.1.189:9300"]


创建elasticsearch 群组和用户
groupadd elasticsearch
useradd -g elasticsearch elasticsearch

创建数据文件目录及日志文件目录
mkdir -p /home/data/elastic/data
mkdir -p /home/data/elastic/logs

将elasticsearch程序目录、数据目录、日志目录的权限赋给elasticsearch用户
chown -R elasticsearch /home/data/elasticsearch-6.7.1
chown -R elasticsearch /home/data/elastic/data
chown -R elasticsearch /home/data/elastic/logs

修改操作系统参数
vi /etc/sysctl.conf
# 虚拟内存大小
vm.max_map_count=655360

生效设置
sysctl -p

vi /etc/security/limits.conf
* hard nofile 65536
* soft nofile 131072
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

重启服务器

运行elasticsearch
切换成elasticsearch用户
su elasticsearch
nohup /home/data/elasticsearch-6.7.1/bin/elasticsearch -d & 

PS查看elasticsearch进程是否存在,存在则代表运行成功
ps -axu|grep elasticsearch
或者jps查看

附1:设置elasticsearch开机启动
编写es.sh脚本
vi /home/data/shell/es.sh  #内容如下:
#!/bin/bash
su - elasticsearch <<EOF
nohup /home/data/elastic/elasticsearch-node1/bin/elasticsearch -d &
exit;
EOF

赋予脚本可执行权限
chmod +x /home/data/shell/es.sh
打开/etc/rc.d/rc.local文件,在末尾增加如下内容:
/home/data/shell/es.sh
在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local

重启服务器前先验证 es.sh 
直接输入脚本完整路径
/home/data/shell/es.sh
如正常启动了elasticsearch这代表没问题;
如果碰到 -bash: /home/data/shell/es.sh: /bin/bash^M: bad interpreter: No such file or directory 此类错误,则需要安装脚本转换小工具,将dos脚本转换成unix脚本
yum install -y dos2unix   #安装dos2unix
dos2unix /home/data/shell/es.sh  #执行转换命令
然后再测试脚本。

脚本OK好重启服务器即可。

附2:shell脚本的绝对路径启动方法
以elasticsearch为例:
/home/data/elasticsearch-6.7.1/bin/elasticsearch
按回车键,如果无法出现输入光标,则代表该程序为绑定当前会话方式运行,当前会话一旦退出则该程序的进程就会随之终止。
此时,可以按Ctrl+z键暂停程序,然后输入bg+回车,则可以让当前程序切换到后台执行,这时再退出会话就不会终止该程序的进程。另外,bg后如果要让该程序再回到绑定会话执行,则输入fg+回车即可。

三、运行测试
HTTP测试地址 http://192.168.1.189:9200/

安装kibana,下载对应版本号的kibana
tar -zxvf kibana-6.7.1-linux-x86_64.tar.gz
mv kibana-6.7.1-linux-x86_64 kibana-6.7.1
修改配置档 kibana.yml
vi /home/data/kibana-6.7.1/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
server.name: "node-1"
elasticsearch.hosts: ["http://localhost:9200"]

运行
nohup /home/data/kibana-6.7.1/bin/kibana &

kibana测试地址 http://192.168.1.189:5601/

进入DevTools
创建索引
PUT pst
{
    "settings": {
        "number_of_shards": 15,
        "number_of_replicas": 0
    },
    "mappings": {
        "position": {
            "properties": {
                "did": {
                    "type": "keyword",
                    "index": true,
                    "store": true
                },
                "m": {
                    "type": "keyword",
                    "index": true,
                    "store": true
                },
                "j": {
                    "type": "half_float",
                    "index": false,
                    "store": false
                },
                "w": {
                    "type": "half_float",
                    "index": false,
                    "store": false
                },
                "uid": {
                    "type": "long",
                    "index": false,
                    "store": false
                },
                "dt": {
                    "type": "date",
                    "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
                    "index": true,
                    "store": true
                },
                "h": {
                    "type": "keyword",
                    "index": false,
                    "store": false
                }
            }
        }
    }
}

四、插件安装

https://github.com/medcl/elasticsearch-analysis-ik

附 kibana设置登录认证
kibana 本身没有用户名密码的设置,可以使用 nginx 来实现。
1. 生成密码文件
// 安装工具包
yum install httpd-tools

// 生成密码,用户名 admin
htpasswd -c /usr/local/nginx/.htpasswd admin

# 提示输入2遍密码
New password:
Re-type new password:
Adding password for user admin

2.nginx 配置
location / {
    # 设置 auth
    auth_basic "kibana login auth";
    auth_basic_user_file /usr/local/nginx/.htpasswd;

    # 转发到 kibana
    proxy_pass http://localhost:5601;
    proxy_redirect off;
}

重新加载:
nginx -s reload

3. 测试
访问 nginx 地址,就会弹出认证窗口:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值