java for windows_Elasticsearch - 各平台配置elasticsearch环境

about

本篇介绍如何在各平台安装Elasticsearch。

注意,无论在什么平台安装使用Elasticsearch,都必须提前准备好JAVA环境,各平台安装Java环境点我

Windows

win10 + Elasticsearch

必须注意的是:安装路径不允许有中文及空格和非法字符,尤其是中文

download

打开elasticsearch官网。选择downloads。

741b2d0bdb8e226451de33ebb84cbf81.bmp

选择elasticsearch,并单击Download。

1fb206d67b612d274ac217f944eaede4.bmp

这里我们不选择最新版,而是选择靠前的版本,下拉选择past releases并单击。

cb29c4da45864781bd30eab202bda469.bmp

选择对应产品与版本(选择6.5.4)。然后选择Download。

62d06585440bdf1358cbf1ef2b77beae.bmp

选择WINDOWS,就会自动执行下载。

22bb8eb9e8818f593f3b1060080583e6.bmp

下载到本地的为elasticsearch的zip包。

d4b541de810b8026aa562b71b56d0afb.bmp

install

将elasticsearch-6.5.4.zip解压到C:\Program Files目录(你也可以指定自己的目录)。

649d58d5b85f88835285282d015c604b.bmp

现在,安装完毕!简单的无以复加,我们可以先来做个测试。

测试

进入安装目录下的bin目录,双击elasticsearch.bat文件。

791befae5c33e317393d23a3f2365be4.bmp

此时,弹出的cmd框中,打印了大量的日志信息。我们暂时不用管它。

f5dc5a7b3e49027b88ed4564c871bc41.bmp

打开浏览器,地址栏输入http://localhost:9200。

0625864cd2712242168718163cf5efa0.bmp

页面返回了elasticsearch的相关信息。

至此,elasticsearch在Windows平台安装完毕。

Centos

首先检查防火墙是否关闭:

systemctl status firewalld.service # 查看防火墙状态

systemctl stop firewalld.service # 停止firewall

systemctl disable firewalld.service # 禁止开机启动

install

在elastic官网的elasticsearch下载页面,复制tar包链接:

f8323143173da4c08a65fc09f7d5f685.png

然后,使用wget命令下载即可:

[root@cs home]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz

1676bae2e4a833d664534a5b68cf085c.png

下载完毕后,我们解压tar包:

[root@cs home]# tar -zxvf elasticsearch-6.7.0.tar.gz

当解压完毕,我们对elasticsearch做一些配置,elasticsearch.yml配置文件里面有很多常用的配置,我们根据业务需求可以来这里修改它们:

[root@cs home]# vim /home/elasticsearch-6.7.0/config/elasticsearch.yml

暂时我们只需要对host做一些修改,方便后面我们通过浏览器访问它:

network.host: 10.0.0.200

host对应你的主机ip地址。

由于elasticsearch的默认jvm堆大小是1G(在es的6.7.0和6.5.4版本中,该值都是默认1G),为了启动不报错Cannot allocate memory,所以还需要修改一处配置,就是调整堆值的大小,并且这个值应该根据你的系统物理内存大小而定,比如我本机的物力内存是1G,所以我将这个值调整为512M:

[root@r home]# vim /home/elasticsearch-6.7.0/config/jvm.options

-Xms512m # 原值为-Xms1g

-Xmx512m # 原值为-Xmx1g

没完!我们还需要修改两处配置(非常重要的两个步骤,配置不好就导致后面的报错):

[root@cs home]# vim /etc/sysctl.conf

编辑追加一行:

vm.max_map_count=262144

完事执行如下命令,使配置生效:

[root@cs home]# sysctl -p

vm.max_map_count = 262144

而我碰到命令执行失败的问题:

[root@cs home]# sysctl -p

sysctl: cannot stat /proc/sys/vm/max_map_conut: 没有那个文件或目录

怎么办呢?我们使用另一个办法:

[root@cs ~]# cat /proc/sys/vm/max_map_count # 之前,我们查看参数并没有修改

65530

[root@cs ~]# echo 262144 > /proc/sys/vm/max_map_count # 通过这样手动修改参数

[root@cs ~]# cat /proc/sys/vm/max_map_count # 就好了

262144

简要说下sysctl -p命令,sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。而 参数-p的意思是从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载。

再来修改另一处配置:

[root@cs home]# vim /etc/security/limits.conf

追加如下内容,Python为登录服务器的用户名:

* soft nofile 65536

* soft nofile 65536

* hard nofile 65536

* soft nproc 5000

* hard nproc 5000

当修改完后,我们可以使用reboot重新启动使之生效。

现在,我们去启动es:

[root@cs home]# ./elasticsearch-6.7.0/bin/elasticsearch # 启动其bin目录中的elasticsearch即可

但发现了一个问题导致启动失败,原因是elasticsearch不能以root用户启动。

855a6c33c8184f476df1fb619cd32b77.png

我们这里手动创建一个普通用户:

[root@cs home]# adduser zhangkai

[root@cs home]# passwd zhangkai

更改用户 zhangkai 的密码 。

新的 密码:

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

注意,输入密码是不会提示的!

然后,我们(此时还是root用户)为这个普通用户给elasticsearch目录权限:

[root@cs home]# chown -R zhangkai /home/elasticsearch-6.7.0

完事后,我们以普通的用户身份去启动elasticsearch:

[root@cs home]# su zhangkai

[zhangkai@cs home]$ ./elasticsearch-6.7.0/bin/elasticsearch

当然,要停止的话,Ctrl + C比较简单粗暴!

现在,让我们打开浏览器访问吧:

http://10.0.0.200:9200/

d13eab6ec2cb63a65d6fa70365b11e2d.png

可能的报错

报错,Cannot allocate memory,无法分配内存:

[root@r myelk]# ./elasticsearch-6.7.0/bin/elasticsearch

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)

#

# There is insufficient memory for the Java Runtime Environment to continue.

# Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.

# An error report file with more information is saved as:

# logs/hs_err_pid2834.log

这是elasticsearch默认的jvm堆大小,如果你的Linux系统的内存较小,我们可以调整这个值,我们去elasticsearch安装目录下的elasticsearch\conf\jvm.options文件修改这个值。

[root@r home]# vim /home/elasticsearch-6.7.0/config/jvm.options

-Xms512m # 原值为-Xms1g

-Xmx512m # 原值为-Xmx1g

b63ec9f2e0fe274d4d5b0408468a77fd.png

在es的6.7.0和6.5.4版本中,该值都是默认1G,而我的系统才1G,所以报错了,我们把它降低一些,而最大和最小值应该是一致的,并且根据物力内存设置一个合理的值,我这里修改为512m。

648d016072e3d110a23f8643a49027a4.png

报错,虚拟内存太小:

There is insufficient memory for the Java Runtime Environment to continue.

由于我使用的是虚拟机,所以分配的内存太小了,手动调大一些就好了。

报错,最大虚拟内存太少了:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

这里需要修改etc/sysctl.conf文件设置,前文已经提到了。

报错,每个进程打开的文件数量太少:

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

4096是之前设置的太少了。这里需要修改/etc/security/limits.conf文件。前文已经提到了。

牢记,这几个报错,在修改完文件后,需要重新启动。

除此之外,我们还可以通过rpm包的方式安装,当然,具体就不多表了。

# yum install -y java-openjdk

yum install java-1.8.0-openjdk -y

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-x86_64.rpm

yum install elasticsearch-7.0.0-x86_64.rpm

systemctl start elasticsearch

systemctl stop elasticsearch

至此,elasticsearch在Linux环境配置基本完事。

Mac

下载

进入官网,选择downloads进入下载页。

9ba7620be61bcaea47f991c21156e65f.png

选择elasticsaerch下载。

fdde0d47237ae3fb9f150b797edafc37.png

新的页面中,下拉选择历史版本。

f101295506befad94ee01b7e09a9f5db.png

下拉选择elasticsearch和版本,然后点击下载。

965719db44b72e0c281cadb5367043e8.png

选择MACOS/LINUX,下载就完了。

573d99964bcf977bd90a4f9cd06e9827.png

安装

安装,其实就是把本地tar包解压就好了。

b6b42886776aca01b9d01ea7a3c529c7.png

测试

打开终端,输入一下命令启动elasticsearch。

./Downloads/elasticsearch-6.5.4./bin/elasticsearch

5d1e5a27e779e9a190d767b611565d9a.png

浏览器输入localhost:9200,返回相关信息即安装成功。

5c11b455b401be07942817ae121ec9a9.png

that's all

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值