天天看點

Linux環境安裝ElasticSearch本章内容概述1、Linux環境安裝Elasticsearch2、安裝Elasticsearch問題解決3、通路Elasticsearch4、9200和9300端口

本章内容概述

1、Linux環境安裝Elasticsearch
2、安裝Elasticsearch問題解決
3、通路Elasticsearch
4、9200和9300端口
           

1、Linux環境安裝Elasticsearch

1.1 安裝JDK環境變量

安裝Elasticsearch唯一的要求是安裝JDK8+ (如果之前已經安裝,請忽略)
	
	1、檢查一下系統中的jdk版本
           
[[email protected] ~]# 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
           
[[email protected] ~]# 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
           
[[email protected] ~]# rpm -e --nodeps tzdata-java-2018e-3.el7.noarch
[[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64
[[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.4.el7_5.x86_64
[[email protected] ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
[[email protected] ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
           
或者使用
           
[[email protected] ~]# yum remove *openjdk*
           
之後再次輸入rpm -qa | grep java 檢視解除安裝情況:
           
[[email protected] ~]# 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、檢視安裝情況
           
[[email protected] 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/
           
Linux環境安裝ElasticSearch本章内容概述1、Linux環境安裝Elasticsearch2、安裝Elasticsearch問題解決3、通路Elasticsearch4、9200和9300端口
目前最新版是2019年4月11日釋出的7.0.0,選擇Linux版本下
           

[]

Linux環境安裝ElasticSearch本章内容概述1、Linux環境安裝Elasticsearch2、安裝Elasticsearch問題解決3、通路Elasticsearch4、9200和9300端口
2、上傳ElasticSearch到Linux的usr/local目錄下
           
Linux環境安裝ElasticSearch本章内容概述1、Linux環境安裝Elasticsearch2、安裝Elasticsearch問題解決3、通路Elasticsearch4、9200和9300端口
注意: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
           
Linux環境安裝ElasticSearch本章内容概述1、Linux環境安裝Elasticsearch2、安裝Elasticsearch問題解決3、通路Elasticsearch4、9200和9300端口
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
           
Linux環境安裝ElasticSearch本章内容概述1、Linux環境安裝Elasticsearch2、安裝Elasticsearch問題解決3、通路Elasticsearch4、9200和9300端口
3、背景啟動  ./elasticsearch -d
           

4、9200和9300端口

9200作為Http協定,主要用于外部通訊

	9300作為Tcp協定,jar之間就是通過tcp協定通訊

	ES叢集之間是通過9300進行通訊
           

繼續閱讀