linux安装elasticsearch-6.3.0,linux安装es6


一、安装es

Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库--无论是开源还是私有。

但是 Lucene 仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理。Lucene 非常 复杂。

Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。

然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容:

  • 一个分布式的实时文档存储,每个字段 可以被索引与搜索
  • 一个分布式实时分析搜索引擎
  • 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

Elasticsearch 将所有的功能打包成一个单独的服务,这样你可以通过程序与它提供的简单的 RESTful API 进行通信, 可以使用自己喜欢的编程语言充当 web 客户端,甚至可以使用命令行(去充当这个客户端)。

就 Elasticsearch 而言,起步很简单。对于初学者来说,它预设了一些适当的默认值,并隐藏了复杂的搜索理论知识。 它 开箱即用 。只需最少的理解,你很快就能具有生产力。

随着你知识的积累,你可以利用 Elasticsearch 更多的高级特性,它的整个引擎是可配置并且灵活的。 从众多高级特性中,挑选恰当去修饰的 Elasticsearch,使它能解决你本地遇到的问题。


前提条件:我的压缩包是放在usr/local下的,解压后也是在这个目录,若在linux中已安装jdk就可以不用看jdk的安装

vim   编辑文件
Esc+:+wq      退出并保存当前文件
Esc+:+q!     退出不保存当前编辑文件
ctrl+c              退出当前编译


firewall-cmd --state                          #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
systemctl start firewalld.service             开启防火墙
yum install firewalld                         启动firewalld服务
firewall-cmd --query-port=8080/tcp            查看8080端口有没有开启
firewall-cmd --add-port=8080/tcp --permanent  将8080端口开启
firewall-cmd --reload                         开启后重启



1. 去官网下载ES(下载地址:https://www.elastic.co/cn/downloads/elasticsearch

2. jdk1.8安装

#检查当前系统是否有jdk

java -version

rpm -qa|grep java

#移除当前系统安装的jdk

rpm -e xxx

#解压jdk8

tar -zxvf jdk-8u112-linux-x64.tar.gz -C /usr/local/

ln -s /usr/local/jdk1.8.0_112 jdk

#profile文件中添加环境变量

vim /etc/profile

```

export JAVA_HOME=/usr/local/jdk

export JRE_HOME=${JAVA_HOME}/jre  

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

export PATH=${JAVA_HOME}/bin:$PATH

```

source /etc/profile

3. 放到服务器上,并解压(如果一台服务器需要配置多个实例,需要几个就拷贝几个)

   tar -zxvf elasticsearch-6.3.0.tar.gz -C /usr/local/

4. elasticsearch.yml配置

  vim config/elasticsearch.yml

linux安装elasticsearch-6.3.0,linux安装es6

# 大小写敏感,使用缩进表示层级关系,缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 表示注释,从这个字符一 直到行尾,都会被解析器忽略。

 

# cluster.name可以确定你的集群名称,当你的elasticsearch集群在同一个网段中elasticsearch会自动的找到具有相同cluster.nameelasticsearch服务.

# 所以当同一个网段具有多个elasticsearch集群时cluster.name就成为同一个集群的标识.

cluster.name: elasticsearch

 

#################################### Node #####################################

# https://www.elastic.co/guide/en/elasticsearch/reference/5.1/modules-node.html#master-node

# 节点名称同理,可自动生成也可手动配置. 同一个集群节点名称不能重复

node.name: node-1

 

# 允许一个节点是否可以成为一个master节点,es是默认集群中的第一台机器为master,如果这台机器停止就会重新选举master.

node.master: true 

 

# 允许该节点存储数据(默认开启

node.data: true 

# 默认情况下,多个节点可以在同一个安装路径启动,如果你想让你的es只启动一个节点,可以进行如下设置

node.max_local_storage_nodes: 1 

#################################### Paths ####################################

# 建议数据和日志的保存路径自己定义在es外边的位置,以便后期如果升级es之类的,数据和日志还在

# 数据存储位置

path.data: /usr/local/elasticserch-6.3.0/data

 

# 日志文件的路径

path.logs: /usr/local/elasticserch-6.3.0/logs

################################### Memory ####################################

# JVM开始写入交换空间时(swappingElasticSearch性能会低下,你应该保证它不会写入交换空间

# 设置这个属性为true来锁定内存

 bootstrap.mlockall: true 

 

# 注意:内存也不是越大越好,一般64位机器,最大分配内存别才超过32G

############################## Network And HTTP ###############################

 network.host: 192.168.192.128    #绑定监听IP

 

# 设置节点间交互的tcp端口,默认是9300

 transport.tcp.port: 9300  

 

# 设置对外服务的http端口,默认为9200

 http.port: 9200 

################################## Discovery ##################################

# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点.默认为1,对于大的集群来说,可以设置大一点的值(2-4)

# discovery.zen.minimum_master_nodes: 1

# 这是一个集群中的主节点的初始列表,当节点(主节点或者数据节点)启动时使用这个列表进行探测(只需要配置有资格成为master的节点就行了)

 discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]

 

#禁用swap

sudo swapoff -a

linux安装elasticsearch-6.3.0,linux安装es6

 

#修改linux内核参数

sudo vim /etc/security/limits.conf

linux安装elasticsearch-6.3.0,linux安装es6

#添加如下内容:

* soft nofile 65536

* hard nofile 131072

* soft memlock unlimited

* hard memlock unlimited

linux安装elasticsearch-6.3.0,linux安装es6

 

#修改虚拟内存空间及swap使用率

sudo vim /etc/sysctl.conf

linux安装elasticsearch-6.3.0,linux安装es6

vm.max_map_count=655360

vm.swappiness=1

linux安装elasticsearch-6.3.0,linux安装es6

 

sudo sysctl -p

 linux安装elasticsearch-6.3.0,linux安装es6

#修改创建本地线程数

sudo vim /etc/security/limits.d/20-nproc.conf

linux安装elasticsearch-6.3.0,linux安装es6

#添加如下内容:

* hard nproc 4096

 linux安装elasticsearch-6.3.0,linux安装es6

--启动

ES不能用root用户启动,否则会启动报错

①添加es用户   

adduser es

②给es用户赋予操作文件夹的权限

chown -R es:es /usr/local/elasticserch-6.3.0

③切换到es用户,启动es

su es

④将9200端口打开,再启动

/usr/local/elasticserch-6.3.0/bin/elasticsearch

linux安装elasticsearch-6.3.0,linux安装es6


访问:

linux安装elasticsearch-6.3.0,linux安装es6

若启动报运行时错误,就将/usr/local/elasticsearch-6.3.0/config/jvm.optinots中Xms值改小点

linux安装elasticsearch-6.3.0,linux安装es6


----------------------------------------------------------------------------------------------------------------

一、安装kibana

下载kibana:
    https://www.elastic.co/downloads/kibana

上传kibana-6.2.4-linux-x86_64.tar.gz

tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz -C /usr/local/

vim config/kibana.yml

linux安装elasticsearch-6.3.0,linux安装es6

```

server.port: 5601

server.host: "192.168.192.128"

elasticsearch.url: "http://192.168.192.128:9200"

```

 

启动:

/usr/local/kibana-6.3.0-linux-x86_64/bin/kibana

二、x-pack的安装(用于设置用户名和密码)

es6.3kibana6.3版本,x-pack在你安装eskibana时就默认安装了,要开启只需要修改相应的配置就行了。

在上述步骤,启动了eskibana之后,此时通过浏览器访问eskibana是不需要登陆的,

进入kibana---Management--License Management有个免费使用30天的,点击开启(如

下图)

linux安装elasticsearch-6.3.0,linux安装es6

linux安装elasticsearch-6.3.0,linux安装es6


1. 配置证书

bin/elasticsearch-certutil ca   # 默认直接点击进行下一步,密码也可以不输

bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12   # 默认直接点击进行下一步,密码也可以不输

# 这时在es目录下会生成elastic-certificates.p12elastic-stack-ca.p12

mkdir config/certs/

mv elastic-certificates.p12 config/certs/

# 多个节点不用重新生成,cp过去就行了

然后修改elasticsearch.yml文件:

xpack.security.enabled: true  #开启x-pack验证

    

xpack.security.transport.ssl.enabled: true  #开启ssl

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

 

重启es前可以先设置elastic的密码

bin/elasticsearch-keystore add bootstrap.password  #设置内置用户elastic的密码(会提示输入密码,这个就是elastic用户的密码)

 

重新启动es,设置内置用户密码

https://www.elastic.co/guide/en/elastic-stack-overview/current/built-in-users.html#set-built-in-user-passwords

bin/elasticsearch-setup-passwords interactive  #可以自定义设置elastickibana等这些用户的密码

 

此时由于es开启了x-pcak验证,kibana需要设置连接的es用户、密码

方式一:vim kibana/config/kibana.yum  

填入前面设置的用户及密码

#elasticsearch.username: "user"

#elasticsearch.password: "pass"

方式二(建议):使用keystore,这种方式会在kibana/data下生成一个kibana.keystore文件,该文件是加密的(https://www.elastic.co/guide/en/kibana/current/secure-settings.html)

bin/kibana-keystore create

bin/kibana-keystore add elasticsearch.username

bin/kibana-keystore add elasticsearch.password

(建议就使用kibana用户及对应的密码)

然后重新启动kibana,访问kibana时会提示输入用户名密码了