安裝JDK
因爲 ES是Java語言開發的,所以在使用的過程中也一定要有,JDK包。
-
官網下載JDK:jdk-8u144-linux-x64.tar.gz
-
解壓
tar -zxf jdk-8u144-linux-x64.tar.gz
- 移動到/usr/java/jdk1.8文件夾下
mv jdk1.8.0_144/* /usr/java/jdk1.8/
- 設置環境變量
-
方案一:修改全局配置文件,作用於所有用戶:
vim /etc/profile
文件末尾加入下面的代碼
export JAVA_HOME=/usr/java/jdk1.8 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH
-
方案二:修改當前用戶配置文件,只作用於當前用戶: 設置與上一樣
vim ~/.bashrc
- 使修改的配置立刻生效:
source /etc/profile 或者 source ~/.bashrc
最後:檢查是否安裝成功:
java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
curl 安裝ES
- 下載5.6.9版本
當然版本可隨意選擇
curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.9.tar.gz
- 驗證文件的正確性
sha1sum elasticsearch-5.6.9.zip
-
遇到錯誤1
-bash: shasum: command not found
解決方案:在CentOS上,“shasum”被稱爲“sha1sum”,運行下面命令修復此問題ln -s /usr/bin/sha1sum /usr/bin/shasum
-
遇到錯誤2
sha1sum: invalid option -- 'a'
解決方案:yum install -y perl-Digest-SHA
- 解壓
tar -xzf elasticsearch-5.6.9.tar.gz
- 進入目錄
cd elasticsearch-5.6.9/
- 啓動
因爲安全問題elasticsearch 不讓用root用戶直接運行,所以要創建新用戶
sudo adduser es
sudo passwd es
# 把/opt/elasticsearch-5.6.9目錄的擁有者改爲es用戶(將目錄的讀寫和執行權限全部授予給es用戶)
sudo chown -R es /opt/elasticsearch-5.6.9
su es #切換用戶爲es
配置ES
ES默認啓動需要2G的內存,可以根據本機環境調整
配置 elasticsearch
下的 jvm.options
,然後重啓
vim ./config/jvm.options
## JVM configuration
################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms2g # 根據主機內存修改這個參數
-Xmx2g # 根據主機內存修改這個參數
運行ES
./bin/elasticsearch
./bin/elasticsearch -d # 在後臺啓動
ps aux|grep elasticsearch # 查看是否啓動
jps # 同上
-
遇到報錯5
ERROR: [4] bootstrap checks failed [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536] [2]: max number of threads [1024] for user [e] is too low, increase to at least [4096] [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] [4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
# root身份(這裏可不是 es用戶了)
vi /etc/security/limits.conf
#文件末尾添加內容(*也是要加上去)
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
-----------------------------------
sysctl -w vm.max_map_count=262144
vim /etc/sysctl.conf #讓配置永久生效
# 文件末尾添加內容
vm.max_map_count=262144
訪問 ES
在瀏覽器直接輸入地址:http://127.0.0.1:9200,或者使用 curl 來訪問
curl -X GET 'http://127.0.0.1:9200'
- 如果外網無法訪問
service firewalld stop # 關閉防火牆
vim ./config/elasticsearch.yml
network.host: "0.0.0.0"
關閉
ps -ef | grep elasticsearch
kill -9 進程號
Yum安裝
注:如果已經安裝了ES和ik,需要重新安裝,需要把/usr/share/elasticsearch/plugins/路徑下ik刪除,避免版本不匹配導致ES不能啓動
-
安裝JDK
yum install java*
-
更改配置文件
vim /etc/profile
在尾部加上
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
- ES安裝
由於ES不在yum的本地源,所以我們需要添加ES的yum配置。
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
- 配置ES的yum源
vim /etc/yum.repos.d/elasticsearch.repo
- 填寫
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
- 更新yum的緩存
yum makecache
2、安裝ES
yum install elasticsearch
測試ES
- 啓動
/sbin/chkconfig --add elasticsearch
-
systemctl start elasticsearch # 啓動 systemctl stop elasticsearch # 停止 systemctl status elasticsearch # 查看狀態
- 運行測試
curl -X GET localhost:9200
返回的json結果如下,這裏顯示的ES版本號是2.4.1:
{
"name" : "Amalgam",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "q1JTidLuTNecwBbFNJCUFQ",
"version" : {
"number" : "2.4.1",
"build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
"build_timestamp" : "2016-09-27T18:57:55Z",
"build_snapshot" : false,
"lucene_version" : "5.5.2"
},
"tagline" : "You Know, for Search"
}
通過IP訪問ES的配置
- 打開/etc/elasticsearch/elasticsearch.yml
vim /etc/elasticsearch/elasticsearch.yml
-
找到下面兩行,去掉#號,其中
55行的network.host,把後面改爲0.0.0.0,這樣訪問可以通過訪問本機的ip來訪問
再詳細的配置 就按照上面的 curl 安裝方法來填寫配置吧。