Elasticsearch入门

  • 使用root用户创建一个专门的用户es,并创建文件夹
 useradd es 
    mkdir -p /export/servers/es
    mkdir -p /export/data/es
    mkdir -p /export/logs/es
    chown -R es /export/servers/es
    chown -R es /export/data/es
    chown -R es /export/logs/es
    passwd es
  • 添加权限
visudo

在这里插入图片描述
三台虚拟机做同样的操作,操作完毕断开连接,使用es用户重新创建连接

  • 下载安装包
su es
cd ~
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
tar -zxvf elasticsearch-6.0.0.tar.gz -C /export/servers/es/
  • 修改配置文件
cd /export/servers/es/elasticsearch-6.0.0/config
rm elasticsearch.yml
vi elasticsearch.yml
# 集群名字
cluster.name: myes
# # 集群中当前的节点
node.name: node01
# # 数据目录
path.data: /export/data/es
# # 日志目录
path.logs: /export/logs/es
# # 当前主机的ip地址
network.host: 192.168.72.100
http.port: 9200
# # 集群上的节点信息
discovery.zen.ping.unicast.hosts: ["node01","node02","node03"]
# # linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# # 是否支持跨域
http.cors.enabled: true
# # *表示支持所有域名
http.cors.allow-origin: "*"
  • 将安装包分发至其他服务器
cd /export/servers/es
scp -r elasticsearch-6.0.0/ node02:$PWD
scp -r elasticsearch-6.0.0/ node02:$PWD
  • 修改另外两台服务器的配置文件
cd /export/servers/es/elasticsearch-6.0.0/config
vim elasticsearch.yml
cluster.name: myes
node.name: node02 
path.data: /export/data/es
path.logs: /export/logs/es
network.host: 192.168.72.110
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01","node02","node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"
cluster.name: myes
node.name: node03
path.data: /export/data/es
path.logs: /export/logs/es
network.host: 192.168.52.120
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node01","node02","node03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"

更多配置在:https://blog.csdn.net/an74520/article/details/8219814

  • 修改三台服务器的内存大小
cd /export/servers/es/elasticsearch-6.0.0/config
vi jvm.options 
-Xms2g
-Xmx2g

在这里插入图片描述
elasticsearch这个服务比较耗内存

  • 三个重要配置:

问题一:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

sudo vi /etc/security/limits.conf

添加下边内容,连同“ * ”

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

问题二:max number of threads [1024] for user [es] likely too low, increase to at least [4096]
修改普通用户可以创建的最大线程数
max number of threads [1024] for user [es] likely too low, increase to at least [4096]
原因:无法创建本地线程问题,用户最大可创建线程数太小
解决方案:修改90-nproc.conf 配置文件。

sudo vi /etc/security/limits.d/90-nproc.conf

找到如下内容:

* soft nproc 1024

#修改为

* soft nproc 4096

问题三:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
调大系统的虚拟内存
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
原因:最大虚拟内存太小
每次启动机器都手动执行下。

sudo  sysctl -w vm.max_map_count=262144

以上三个问题的操作完成后需要重新连接才生效

  • 启动es服务
调大系统的虚拟内存:
sudo  sysctl -w vm.max_map_count=262144
启动:
nohup /export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >/dev/null 2>&1 &
  • 访问es
http://node01:9200/?pretty

启动后只能看见一个简单的页面
在这里插入图片描述
想要有一个好看的界面,所以安装一个插件elasticsearch-head,这个插件安装需要node.js的环境

安装Node.js

Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境
安装步骤参考:https://www.cnblogs.com/kevingrace/p/8990169.html

  • 下载安装包
cd /home/es
wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz
  • 解压安装
cd /home/es 
tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /export/servers/es/
  • 创建软连接
sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
sudo ln -s /export/servers/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node
  • 修改环境变量
sudo vim /etc/profile
export NODE_HOME=/export/servers/es/node-v8.1.0-linux-x64
export PATH=:$PATH:$NODE_HOME/bin

加载资源文件

source /etc/profile
  • 验证安装成功
node -v
npm –v

在这里插入图片描述
安装elasticsearch-head插件

  • 上传压缩包

elasticsearch-head-compile-after.tar.gz

  • 解压

    cd /home/es/
    tar -zxvf elasticsearch-head-compile-after.tar.gz -C /export/servers/es/

  • 修改Gruntfile.js这个文件

cd /export/servers/es/elasticsearch-head
vim Gruntfile.js
connect: {
                        server: {
                              options: {
                                     hostname: 'localhost',
                                     port: 9100,
                                     base: '.',
                                     keepalive: travelue
                                }
                        }
                }

将localhost改为自己的主机名

  • 修改app.js
cd /export/servers/es/elasticsearch-head/_site
vim app.js

在这里插入图片描述
localhost改为node01

  • 重启es服务

断开服务

kill -9   端口号

然后启动

nohup /export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >/dev/null 2>&1 &
  • 启动head服务
cd /export/servers/es/elasticsearch-head/node_modules/grunt/bin/

前台启动:

./grunt server

后台启动

nohup ./grunt server >/dev/null 2>&1 &

在这里插入图片描述

  • 访问elasticsearch-head界面
http://192.168.52.100:9100/

安装Kibana

  • 下载资源:
cd /home/es
在线下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-linux-x86_64.tar.gz
  • 解压文件
cd /home/es
tar -zxvf kibana-6.0.0-linux-x86_64.tar.gz -C /export/servers/es/
  • 修改配置文件
cd /export/servers/es/kibana-6.0.0-linux-x86_64/config
vi kibana.yml
server.host: "node01"
elasticsearch.url: "http://node01:9200"
  • 启动服务
cd /export/servers/es/kibana-6.0.0-linux-x86_64
nohup bin/kibana >/dev/null 2>&1 &
  • 访问
http://192.168.52.100:5601

在这里插入图片描述

安装IK分词器

下载
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.2/elasticsearch-analysis-ik-6.0.0.zip

cd /export/servers/es
unzip elasticsearch-analysis-ik-6.0.0.zip -d /export/servers/es/elasticsearch-6.0.0/plugins/

改名字

mv elasticsearch analysis-ik

发送到其他服务器

cd /export/servers/es/elasticsearch-6.0.0/plugins
scp -r analysis-ik/ node02:$PWD
scp -r analysis-ik/ node03:$PWD

重启es

在这里插入图片描述

ik分词配置文件为:IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <entry key="remote_ext_dict">http://node03:8080/hot.dic</entry>
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

发送到其他服务器

cd /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/config
sudo scp IKAnalyzer.cfg.xml  node02:$PWD
sudo scp IKAnalyzer.cfg.xml  node03:$PWD

修改JDK权限

cd /export/servers/jdk1.8.0_141/jre/lib/security
sudo vim java.policy
permission java.net.SocketPermission "192.168.52.120:8080","accept";
 permission java.net.SocketPermission "192.168.52.120:8080","listen";
 permission java.net.SocketPermission "192.168.52.120:8080","resolve";
 permission java.net.SocketPermission "192.168.52.120:8080","connect";

发送到另外服务器

cd /export/servers/jdk1.8.0_141/jre/lib/security
sudo scp java.policy  node02:$PWD
sudo scp java.policy  node03:$PWD

重启es

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值