Linux安装Elasticsearch

百度网盘下载

elasticsearch

1 安装JDK

网上教程很多,也可以参考本人教程之前写的Linux安装JDK

2 安装Elasticsearch

首先到官网下载最新版本的ElasticSearch的zip压缩包,也可以复制下载地址在终端中使用wget命令直接下载到CentOS中。例如在终端中执行以下命令:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz

1.先在linux创建elsearch用户,因为elasticsearch不能用root用户操作
useradd elsearch
在创建安装文件夹,授权文件夹为elsearch操作

2.//创建
mkdir /usr/local/elasticsearch

  1. //授权
    chown elsearch:elsearch /usr/local/es -R
    chown elsearch:elsearch /usr/local/es/elasticsearch-7.6.2/logs -R

4.上传es的文件解压到es目录
tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C es

5.修改配置文件
/usr/local/es/elasticsearch-7.6.2/config
修改elasticsearch.yml
vim elasticsearch.yml
设置任意ip都可以连接
network.host: 0.0.0.0
修改jvm.options
vim jvm.options
-Xms128m
-Xmx128m
修改 /etc/sysctl.conf
vim /etc/sysctl.conf
vm.max_map_count=655360

配置生效
sysctl -p

启动elasticsearch
cd /usr/local/es/elasticsearch-7.6.2/bin/
./elasticsearch
或者 ./elasticsearch -d 后台启动
``


``

5.添加用户组(因为elasticsearch不能用root用户启动)

1)创建 elasticsearch 用户组
[root@localhost ~]# groupadd elasticsearch

2) 创建用户 es 并设置密码为es
[root@localhost ~]# useradd es
[root@localhost ~]# passwd es

3 )用户es 添加到 elasticsearch 用户组
[root@localhost ~]# usermod -G elasticsearch es

6..这时重新启动,不会提示任何错误了。新打开一个窗口,输入curl localhost:9200,如果有以下输出则说明启动成功。

[king@localhost ~]$ curl localhost:9200
{
 "name" : "ZGws7ZX",
 "cluster_name" : "elasticsearch",
 "cluster_uuid" : "yeYDTLbNQ--rmDXMi2xO-g",
 "version" : {
   "number" : "5.5.2",
   "build_hash" : "b2f0c09",
   "build_date" : "2017-08-14T12:33:14.154Z",
   "build_snapshot" : false,
   "lucene_version" : "6.6.0"
 },
 "tagline" : "You Know, for Search"
}

问题

问题一

直接启动,遇到如图问题,如下:



这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options

vi ../config/jvm.options

由于我的服务器内存较小,修改为512m,具体可以根据情况修改,如下:



修改后在次启动:

./elasticsearch

问题二

出现如下错误:

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

如图


这个问题很明显,不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:
添加es用户

useradd es

添加es用户密码

passwd es

将文件夹elasticsearch-5.4.2赋予es权限

chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2

切换为es用户

su es

再次启动es

./elasticsearch

这次启动成功了,我们在使用一个窗口登录root用户,输入命令:

curl -X GET http://localhost:9200

如图所示,可以成功访问


问题三

在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip)

使用root用户,打开elasticsearch.yml文件,如下:

vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml

文件内增加如下代码

network.host: 0.0.0.0

使用es用户启动,发现又出现了错误如下,得到错误信息如图


使用root用户打开如下文件:

vim /etc/sysctl.conf

添加如下配置:

vm.max_map_count = 655360

使配置生效

/sbin/sysctl -p

然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:

./elasticsearch &

你可能感兴趣的:(Linux安装Elasticsearch)