Linux环境安装ElasticSearch

本文详细介绍了如何在Linux环境中安装Elasticsearch,包括安装JDK、下载与解压Elasticsearch、配置环境变量以及解决运行时可能出现的问题,如非root用户运行、调整最大内存和文件描述符限制等。此外,还提到了Elasticsearch的9200和9300端口的作用,9200用于HTTP通信,9300用于节点间TCP通信。
摘要由CSDN通过智能技术生成

本章内容概述

1、Linux环境安装Elasticsearch
2、安装Elasticsearch问题解决
3、访问Elasticsearch
4、9200和9300端口

1、Linux环境安装Elasticsearch

1.1 安装JDK环境变量

	安装Elasticsearch唯一的要求是安装JDK8+ (如果之前已经安装,请忽略)
	
	1、检查一下系统中的jdk版本
	[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# java -version
	
	openjdk version "1.8.0_181"
	OpenJDK Runtime Environment (build 1.8.0_181-b13)
	OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
	2、查看当前Linux系统是否已经安装java
	[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -qa | grep java
	
	java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.el7_5.x86_64
	javapackages-tools-3.4.1-11.el7.noarch
	java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
	java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64
	python-javapackages-3.4.1-11.el7.noarch
	java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
	tzdata-java-2018e-3.el7.noarch
	3、卸载openjdk
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -e --nodeps tzdata-java-2018e-3.el7.noarch
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.el7_5.x86_64
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
	或者使用
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# yum remove *openjdk*
	之后再次输入rpm -qa | grep java 查看卸载情况:
[root@master-24328995146c4d2a8e9db842be0b9c21 ~]# rpm -qa | grep java
javapackages-tools-3.4.1-11.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
	4、首先到jdk官网上下载你想要的jdk版本,下载完成之后将需要安装的jdk安装包放到Linux系统指定的文件夹下
		注:可以通过SSH Secure 或 sftp上传到/usr/local目录下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U2Xm4AKx-1617846048345)(images/10_上传jdk到虚拟机.png)]

	5、解压jdk到/usr/local下 
		
		tar –zxvf jdk-8u181-linux-x64.tar.gz –C /usr/local
	
	6、配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去
	
		vim /etc/profile
		
		添加如下内容:JAVA_HOME根据实际目录来
		
		JAVA_HOME=/usr/local/jdk1.8.0_181
		CLASSPATH=$JAVA_HOME/lib/
		PATH=$PATH:$JAVA_HOME/bin
		export PATH JAVA_HOME CLASSPATH
		
	7、重新加载/etc/profile配置文件 source /etc/profile
	
	8、查看安装情况
[root@master-24328995146c4d2a8e9db842be0b9c21 local]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

1.2 安装Elasticsearch

	1、通过ElasticSearch官网网站下载最新版本的ElasticSearch
		
		网址: https://www.elastic.co/cn/downloads/

在这里插入图片描述

		目前最新版是2019年4月11日发布的7.0.0,选择Linux版本下

[] 在这里插入图片描述

	2、上传ElasticSearch到Linux的usr/local目录下

在这里插入图片描述

		注意:linux安装内存建议1g内存以上

	3、解压elasticsearch到usr/local目录
	
		tar -zxvf elasticsearch-7.0.0.tar.gz
	
	4、打开安装目录下的config文件夹,修改elasticsearch.yml
		
		vim elasticsearch.yml
		
		network.host: 192.168.34.64
		http.port: 9200

在这里插入图片描述

	5、进入安装目录的bin目录,运行ElasticSearch
	
		./elasticsearch
	
	6、如果按照目前的方式运行,肯定报错,接下来我们看下问题处理;

2、安装Elasticsearch问题解决

2.1 报错1: can not run elasticsearch as root

	原因: 从字面意思就可以得出结论: 不能让root用户来运行elasticsearch
	
	解决方案: 
		因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
		
		1.创建一个分组
			groupadd esgroup
			
		2.创建新用户,指明所属组,并且赋予登录密码
			useradd esuser1 -g esgroup -p 123456
			
		3.赋予新用户操作ElasticSearch文件夹及所属文件的权限
			chown -R esuser1:esgroup  elasticsearch-7.0.0
			
			注:如果想要如上命令执行成功,需要位于该目录的上一级目录,比如我的是: local目录
			否则会报错:chown: cannot access ‘elasticsearch-7.0.0’: No such file or directory
	
		4.切换新用户
			su esuser1 
		
		5.进入安装目录的bin目录,运行ElasticSearch
			./elasticsearch
			
		6.运行之后发下如下问题:
ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, 
discovery.seed_providers, cluster.initial_master_nodes] must be configured

2.2 报错2: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

	原因:最大虚拟内存区域65530太低,至少增加到262144
	
	解决方案:
		切换到root用户
		
		修改配置文件: vim /etc/sysctl.conf
		
		修改虚拟内存: vm.max_map_count=655360 把这句话加入进去
		
		加载系统参数: sysctl -p  

2.3 报错3: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

	原因:每个进程最大同时打开文件数太小
	
	解决方案:
		切换到root用户
		
		修改配置文件: vim /etc/security/limits.conf
		
		加入如下配置:
			* soft nofile 65536
			* hard nofile 131072
			* soft nproc 2048
			* hard nproc 4096
	
		重启服务器再次启动
			shutdown -r now  / reboot

2.4 报错4: the default discovery settings are unsuitable for production use;

	原因: 默认的设置不适合生产使用;
	
	解决方案:
		切换到root用户
		
		修改配置文件  vim /usr/local/elasticsearch-7.0.0/config/elasticsearch.yml
		
		除去前面的#, #cluster.initial_master_nodes: ["node-1", "node-2"] 
		
		查找ES进程号 ps -ef | grep elastic
		
		杀掉ES进程 kill -9 端口号
		
		把目录切换到elasticsearch的bin目录下,然后执行下面的命令 sh elasticsearch -d

3、访问Elasticsearch

	1、关闭防火墙 systemctl stop firewalld.service
	
	2、访问http://ip:9200

在这里插入图片描述

	3、后台启动  ./elasticsearch -d

4、9200和9300端口

	9200作为Http协议,主要用于外部通讯

	9300作为Tcp协议,jar之间就是通过tcp协议通讯

	ES集群之间是通过9300进行通讯
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JTZ001

你的鼓励是我创作的最大动力?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值