【centos7安装单节点elasticsearch和集群】

centos7安装单节点elasticsearch和集群

  • 一、安装JDK
  • 二、安装ES
  • 三、遇到的问题
    • 1权限错误
    • 2 内存错误
    • 3 访问不了
    • 4 查看服务
  • 四、集群配置


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装JDK

执行命令下面命令查看可安装java版本

yum -y list java*

选择一个java版本进行安装

yum install -y java-1.8.0-openjdk-devel.x86_64

这里有个地方要注意,要选择 要带有-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre。

输入java -version查看已安装的jdk版本,当出现如下输出表示安装成功。

jdk 的安装目录

cd /usr/lib/jvm 

配置环境变量,编辑/etc/profile文件:

vi /etc/profile

在文件尾部添加如下配置:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el6_10.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

wq退出vim编辑器,然后使用命令更新配置

source /etc/profile

二、安装ES

官网下载地址 https://www.elastic.co/cn/downloads/elasticsearch
查看版本
【centos7安装单节点elasticsearch和集群】_第1张图片
选择版本
【centos7安装单节点elasticsearch和集群】_第2张图片
下载
【centos7安装单节点elasticsearch和集群】_第3张图片
Elasticsearch不能以 root 权限启动
当我们以root用户执行 ./elasticsearch 的时候,会报错。这里,我们需要手动创建用户,下面给出我自己的解决方式。

#首先切换到 root 用户,输入密码,然后执行以下步骤:
su root
#一,创建一个用户组,这里,我给用户组取名为 es_users
groupadd es_users
#二、创建一个用户 es_user1,并将其添加到 es_users用户组
useradd es_user1 -g es_users
#三、创建目录,把压缩包放到此文件夹下解压
cd  /home/es_user1/
mkdir es
cd es
tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz
#四、为es_user1用户赋予 /home/es_user1目录权限
chown -R es_user1:es_users /home/es_user1

然后切换到 es_user1用户,再执行elasticsearch 即可。

#切换到 es_user1 用户
su es_user1
#进入目录
cd /elasticsearch-7.12.1/bin/
#执行 elasticsearch
./elasticsearch

可以在本机通过 localhost:9200 进行访问,但是却不能在远程通过 IP:9200进行访问,修改配置文件network.host: 0.0.0.0
核心文件:/config/elasticearch.yml

#修改集群名称
cluster.name: test-elasticsearch
#修改当前的es节点名称
node.name: es-node0
#修改data数据保存地址和日志数据保存地址
path.data: /home/es_user1/es/elasticsearch-7.12.1/data
path.logs: /home/es_user1/es/elasticsearch-7.12.1/logs
#绑定es网络ip
network.host: 0.0.0.0
#集群节点修改为之前的节点名称
cluster.initial_master_nodes: ["es-node0"]

三、遇到的问题

1权限错误

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
elasticsearch安装时遇到的错误

问题翻译过来就是:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

解决办法:

#切换到root用户修改
vim /etc/security/limits.conf

在最后面追加下面内容
es_user1 是启动ES的用户

es_user1 hard nofile 65536
es_user1 soft nofile 65536

退出重新这个用户登录就行了

2 内存错误

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法:

vim /etc/sysctl.conf
# 修改vm.max_map_count=262144
vm.max_map_count=262144
#使配置
sysctl -p

3 访问不了

注意防火墙是否关闭,或者端口是否开放,此处略

4 查看服务

http://192.168.73.129:9200/
http://192.168.73.129:9200/_cat/nodes?v

四、集群配置

按照上述步骤部署3台以上的es,把9200和9300端口都开放了(是两个端口,可以自定)

找到每台的配置文件,修改配置文件

vi ./config/elasticsearch.yml

以下是我自己节点中的节点2,配置参考,自行修改(每个节点的配置都要改动)

#你的集群名称 
cluster.name: my-application
#节点名称  例如 node1 node2 node3
node.name: node2
#是否作为主节点,每个节点都可以被配置成为主节点,是:true、否:false 默认为true
node.master: true
#当前节点是否用于存储数据,是:true、否:false
node.data: true
#数据目录
path.data: /home/es_user2/es/elasticsearch-7.12.1/data
#日志目录
path.logs: /home/es_user2/es/elasticsearch-7.12.1/logs
#用来同时设置bind_host和publish_host(我这里填的是自己主机的ip,具体自己搜)
network.host: 192.168.73.130
#设置对外服务的http端口,默认为9200
http.port: 9200
#设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
#集群ip端口列表  node1 node1 node1
cluster.initial_master_nodes: ["192.168.73.129","192.168.73.130","192.168.73.131"]
#节点交互ip端口列表  node1 node1 node1
discovery.seed_hosts: ["192.168.73.129:9300", "192.168.73.130:9300", "192.168.73.131:9300"]

如果还是不行,去找找其他教程吧,我亲试是可以的

你可能感兴趣的:(elasticsearch,大数据)