在linux系统上安装ElasticSearch服务

Linux系统要求:

1、centos6或centos7

2、jdk1.8及以上

1、 新建用户

新建一个用户

useradd yuank

修改用户密码

passwd yuank

切换到yuank用户

su - yuank

rz 上传安装包elasticsearch-6.2.2.tar.gz

解压缩

tar xvf elasticsearch-6.2.2.tar.gz

解压完成后,删除安装包

rm -rf elasticsearch-6.2.2.tar.gz

我们把目录重命名

mv elasticsearch-6.2.2/ elasticsearch

进入config目录

cd elasticsearch/config/

2、 修改配置文件

修改 jvm.options文件(实际开发中一般不用改,因为内存够用,我们自己电脑玩的话还是建议改一下,如果是土豪那么请忽略)。

vim jvm.options

我们看到默认配置是2g

我们调小一点

修改elasticsearch.yml文件

vi elasticsearch.yml

找到数据目录位置和日志目录位置

修改数据和日志目录:改成我们新建用户的文件夹下。如果不修改会有自动创建这两个目录。目录在哪自行百度。

接着不要退出,往下看,找到网络

修改为任何网络都可以访问

修改完我们退出保存

3、 创建data目录

回到elasticsearch目录创建data和logs目录,logs目录默认已经存在可以不用创建

cd ..

创建data目录

mkdir data

4、 启动运行

进入elasticsearch/bin目录,可以看到下面的执行文件:

cd bin

输入启动命令:

./elasticsearch

4.1 报错一

这是一个内核过低的错误

使用centos6,其linux内核版本为2.6。而Elasticsearch的插件要求至少3.5以上版本。不过没关系,我们禁用这个插件即可。如果使用的是centos7则没有这个报错。

修改elasticsearch.yml文件,在最下面添加以后配置:

bootstrap.system_call_filter: false

修改完再次输入命令启动运行

./elasticsearch

4.2 报错二、三、四

这次一下报了三个错误,我们逐一分析下

[1] : max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

问题翻译过来就是:yuank用户拥有的可创建文件描述的权限太低,至少需要65536;我们用的是yuank用户,而不是root,所以文件权限不足。

切换到root用户。

su - root

然后修改配置文件:

vim /etc/security/limits.conf

添加如下内容

#可打开的文件描述符的最大数(软限制)

* soft nofile   

 #可打开的文件描述符的最大数(硬限制)

* hard nofile 

#单个用户可用的最大进程数量(软限制)

* soft nproc 

#单个用户可用的最大进程数量(硬限制)

* hard nproc 

[2] : max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

这是线程数不够。

继续修改配置:

vim /etc/security/limits.d/90-nproc.conf

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

问题翻译过来就是:elasticsearch用户拥有的最大虚拟内存太小,至少需要262144;

继续修改配置文件:

vim /etc/sysctl.conf

添加下面内容:

vm.max_map_count=655360

改完退出保存

然后执行命令:

sysctl -p

4.3 重启终端窗口

所有错误修改完毕,一定要重启你的 Xshell终端(或者SecureCRT),否则配置无效。

4.4 再次切到yuank用户,进入bin目录,输入命令启动

./elasticsearch

启动成功了

可以看到绑定了两个端口:

- 9300:集群节点间通讯接口,接收tcp协议

- 9200:客户端访问接口,接收Http协议

4.5 验证是否启动成功:

在浏览器中访问:http://192.168.10.128:9200/,如果不能访问,则需要关闭虚拟机防火墙。或者开放9200端口

开放9200端口:

克隆一个会话

4.6 修改防火墙配置文件

vi /etc/sysconfig/iptables

添加9200端口

修改完保存退出

重启防火墙服务

service iptables restart

刷新页面,访问成功

PS:关闭虚拟机防火墙

方式二:关闭虚拟机防火墙

CentOS6查看防火墙的状态:

service iptables status

CentOS 6关闭防火墙

servcie iptables stop                    --临时关闭防火墙

chkconfig iptables off                    --永久关闭防火墙

CentOS7

查看防火墙:firewall-cmd --state

关闭防火墙:systemctl stop firewalld.service

禁止开机启动防火墙:systemctl disable firewalld.service

ElasticSearch01--安装ElasticSearch服务(Linux)的更多相关文章

  1. Elasticsearch系列(2):安装Elasticsearch(Linux环境)

    系统环境 操作系统:CentOS 6.9 Elasticsearch:6.2.2 Filebeat:6.2.2(收集IIS日志) Kibana:6.2.2 Java:Java 8 注意:elk最好选择 ...

  2. 安装Elasticsearch到Linux(源码)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:Elasticsearch-7.1.0 硬件要求:最低2核4GB 安装过程 1.源码安装JDK ...

  3. 安装 elasticsearch For LINUX

    官网下载地址 https://www.elastic.co/cn/downloads/elasticsearch 选择版本为LINUX 当前版本为 es-7.6.2 用tar 命令解压 tar -zx ...

  4. windows安装elasticsearch服务以及elasticsearch5.6.10集群的配置(elasticsearch5.6.10配置跟1.1.1的配置不太相同,有些1.1.1版本下的配置指令在5.6.10中不能使用)

    1.下载elasticsearch5.6.10安装包 下载地址为:  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearc ...

  5. ELK日志框架(1):安装Elasticsearch组建单服务器多节点集群

    ELK简介 最近有个需求搭建一套日志系统用于集成几个业务系统的日志提供快速的检索功能,目前是用Log4net存数据库+Error级别发邮件方式,也算简单暴力好用,但历史日志的模糊查询确实很慢,所以使用 ...

  6. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

  7. 为 rails 本地项目搭建 elasticsearch 服务

    首先安装 elasticsearch 服务 OSX 系统 brew install elasticsearch brew services start elasticsearch 测试服务是否启动浏览 ...

  8. 14.LAMP服务 Linux Apache Mysql Php和防护机制 xinetd、tcp wapper

    一.安装LAMP服务 Linux Apache Mysql Php       要求操作系统支持 php解析 apache调用php插件解析 phpmyadmin       yum install ...

  9. 记录Linux下安装elasticSearch时遇到的一些错误

    记录Linux下安装elasticSearch时遇到的一些错误 http://blog.sina.com.cn/s/blog_c90ce4e001032f7w.html (2016-11-02 22: ...

随机推荐

  1. C#如何使用PythonTuple类型

    示例代码: new PythonTuple(new[] { 1, 2, 3 }); PythonTuple myTuple = PythonOps.MakeTuple(new object[] { 1 ...

  2. 利用BLCR加速android的启动(android4.2)

    BOSS要求提高安卓系统的启动速度,优化bootloader和kernel后,发现还是达不到要求,没办法才打起zygote的注意. ================================== ...

  3. 发布Qt Widgets桌面应用程序的方法(自定义进程步骤,用QT Creator直接生成)

    发布Qt Widgets桌面应用程序的方法 Qt是一款优秀的跨平台开发框架,它可以在桌面.移动平台以及嵌入式平台上运行.目前Qt 5介绍程序发布的文章帖子比较少.大家又非常想要知道如何发布Qt应用程序 ...

  4. redis python 操作 Python操作Redis数据库

    原文章于此:https://www.cnblogs.com/cnkai/p/7642787.html 有个人修改与改正 Python操作Redis数据库   连接数据库 StrictRedisfrom ...

  5. 《C++ Primer》读书笔记 第三章

    1.注意:头文件不应包含using声明.因为头文件的内容会拷贝到所有引用他的文件中去,对于某些程序来说,由于不经意间包含了一些名字,可能会产生名字冲突.2.string类型的读入:用cin读入stri ...

  6. Spark之权威指南经典案例

    hadoop权威指南上有一个求历史最高温度的经典案例,源数据如下: -- sample.txt0067011990999991950051507004+68750+023550FM-12+038299 ...

  7. Python基础(七) 闭包与装饰器

    闭包的定义 闭包是嵌套在函数中的函数. 闭包必须是内层函数对外层函数的变量(非全局变量)的引用. 闭包格式: def func(): lst=[] def inner(a): lst.append(a ...

  8. Git 备忘录

    整理了一下工作中常用的 Git 操作,持续更新中...   merge单个文件 例如 B分支想要合并A分支的某个文件 首先,我们切换到B分支  git checkout branch B 之后,我们c ...

  9. React躬行记(4)——生命周期

    组件的生命周期(Life Cycle)包含三个阶段:挂载(Mounting).更新(Updating)和卸载(Unmounting),在每个阶段都会有相应的回调方法(也叫钩子)可供选择,从而能更好的控 ...

  10. SSH不能连接并提示REMOTE HOST IDENTIFICATION HAS CHANGED

    ssh连接报错: 解决: vi /root/.ssh/known_hosts 找到要连接的主机的ip,把它的那行所有信息删除(就是一行)