安装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 安装方法来填写配置吧。