elasticsearch(es)的安装-macOs

elasticsearch(es)的安装-macOs前提:已经安装过jdk1.8java-version#查看jdk版本1.es的安装和访问es安装brewinstallelasticsearch#安装brewinfoelasticsearch#查看es信息brewservicesstartelasticsearch#启动浏览器输入:localhost:9200查看es2.kibana的安装和访问kibana可以通过可视化的界面操作访问eskibana安装brewinstallkiban

大家好,又见面了,我是你们的朋友全栈君。

前提:已经安装过jdk1.8

java -version #查看jdk版本 

在这里插入图片描述

1.es的安装和访问

es安装

brew install elasticsearch #安装
brew info elasticsearch # 查看es信息
brew services start elasticsearch # 启动

在这里插入图片描述
浏览器输入:localhost:9200 查看es
在这里插入图片描述

2.kibana的安装和访问

kibana可以通过可视化的界面操作访问es

  • kibana安装
brew install kibana #安装
brew info kibana # 查看信息
brew services start kibana #启动
  • kibana访问:浏览器访问 localhost:5601,找到开发工具(Dev Tools),向es中插入数据&搜索数据
    在这里插入图片描述

3.es集群搭建

之前是通过brew命令安装的es,虽然一键很爽,但是要搭建集群,按照下述文章搭建单机版es集群的说法,需要找到安装包

## 查看全部安装路径
brew list 
## 查看指定软件安装路径
brew list 软件名 

实战

brew list elasticsearch
## 结果
/usr/local/Cellar/elasticsearch/7.10.2/.bottle/etc/ (3 files)
/usr/local/Cellar/elasticsearch/7.10.2/bin/elasticsearch
/usr/local/Cellar/elasticsearch/7.10.2/bin/elasticsearch-keystore
/usr/local/Cellar/elasticsearch/7.10.2/bin/elasticsearch-plugin
/usr/local/Cellar/elasticsearch/7.10.2/bin/elasticsearch-shard
/usr/local/Cellar/elasticsearch/7.10.2/homebrew.mxcl.elasticsearch.plist
/usr/local/Cellar/elasticsearch/7.10.2/libexec/bin/ (8 files)
/usr/local/Cellar/elasticsearch/7.10.2/libexec/lib/ (42 files)
/usr/local/Cellar/elasticsearch/7.10.2/libexec/modules/ (93 files)

查看通过安装包安装es的文章安装包安装es-mac,可以看到,/usr/local/Cellar/elasticsearch/7.10.2/ 其实就是安装包,试着复制,然后安装。

cp -R 7.10.2 7.10.2.backup1
cp -R 7.10.2 7.10.2.backup2

得到两个安装包的副本后,修改副本中的配置文件
但是进文件夹里看,并没有config文件夹,通过brew命令查看es安装情况,可以得到config路径:/usr/local/etc/elasticsearch/
和我假设的不一致。/usr/local/Cellar/elasticsearch/7.10.2/ 并不是安装包,只是通过brew命令后的安装路径。

brew info elasticsearch
## 结果
From:https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/elasticsearch.rb
Config:  /usr/local/etc/elasticsearch/

通过brew命令还可以得到安装包路径:https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/elasticsearch.rb 点进去后得到rul:https://github.com/elastic/elasticsearch/archive/v7.10.2.tar.gz。点击下载、解压后目录如下,也没有config目录。
在这里插入图片描述
考虑从官网下载:https://www.elastic.co/cn/start ,此时有config目录了
在这里插入图片描述
检查已有es的config文件里的cluster name。将两者修改成一致。cyx_elasticsearch

## 通过brew安装的es的yml文件,路径:/usr/local/etc/elasticsearch/
cluster.name: elasticsearch_brew
## 通过官网下载的es里的yml文件,路径:~/software/es/es-a/elasticsearch-8.0.1/config
cluster.name: my-application

elasticsearch.yml文件的解释&修改

# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
# Before you set out to tweak and tune the configuration, make sure you
# understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
# 
cluster.name: cyx-application
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
# 是否有资格选举为主节点
node.master: true
# 是否存储数据
node.data: true
# 最大集群节点数
node.max_local_storage_nodes: 3
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /Users/yuxichen/software/es/es-a/data
#
# Path to log files:
#
path.logs: /Users/yuxichen/software/es/es-a/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
#
#network.host: 192.168.0.1
#
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
# 端口号
http.port: 9201
# 内部节点之间沟通端口
transport.tcp.port: 9500
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
# 候选主节点地址
#
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9400"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Allow wildcard deletion of indices:
#
#action.destructive_requires_name: false

总结下,yml文件需要修改的配置

cluster.name: cyx-application
node.name: node-1
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /Users/yuxichen/software/es/es-a/data
path.logs: /Users/yuxichen/software/es/es-a/logs
http.port: 9201
transport.tcp.port: 9500
discovery.seed_hosts: ["127.0.0.1:9200", "127.0.0.1:9201"]
cluster.initial_master_nodes: ["node-1", "node-2"]

配置完三个节点的yml后,开始关闭已经启动的es

​brew services stop elasticsearch
#输出
Stopping `elasticsearch`... (might take a while)
==> Successfully stopped `elasticsearch` (label: homebrew.mxcl.elasticsearch)

试着启动三个节点

#通过brew安装的
brew services start elasticsearch
#输出
==> Successfully started `elasticsearch` (label: homebrew.mxcl.elasticsearch)
#通过下载的安装包启动
./bin/elasticsearch
##输出
报错一:node.master设置找不到
报错二:transport.tcp.port: 设置找不到

把这些都删除后,直接在浏览器中输入localhost:9201,提示需要用户名密码,但是我又没设置过,在官网文档elasticsearch8.0.1
和网上的文档也没有找到第一次登陆需要用户名密码的原因。就在配置文件中设置了不需要鉴权
可以启动的官网下载的elasticsearch8.0.1版本的yml文件修改如下

cluster.name: cyx-application
node.name: node-1
path.data: /Users/yuxichen/software/es/es-a/data
path.logs: /Users/yuxichen/software/es/es-a/logs
http.port: 9201
cluster.initial_master_nodes: ["node-1", "node-2"]
xpack.security.enabled: false

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来测试集群是否搭建成功&配置kibana
测试集群,输出结果如下,可以看出节点总数为1,所以集群没有搭建成功,需要找下原因

http://localhost:9200/_cat/health?v

在这里插入图片描述
实在是找不到原因,只好放弃8.0.1这个版本太新了,下载了稍微老一点的版本:7.16.0,按照常见文章的配置,看上去是成功了
在这里插入图片描述
配置了下kibana,然后查看集群健康,发现竟然是red,我要哭了
在这里插入图片描述
整了半天还是一直是yellow,且node-2、3启动时候报错,搞不定了,先去洗漱睡了好困啊啊啊啊

[2022-03-04T00:24:07,468][ERROR][o.e.i.g.DatabaseNodeService] [node-3] failed to download database [GeoLite2-City.mmdb]
org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
	at org.elasticsearch.cluster.block.ClusterBlocks.globalBlockedException(ClusterBlocks.java:179) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.cluster.block.ClusterBlocks.globalBlockedRaiseException(ClusterBlocks.java:165) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.action.search.TransportSearchAction.executeSearch(TransportSearchAction.java:927) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.action.search.TransportSearchAction.executeLocalSearch(TransportSearchAction.java:761) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.action.search.TransportSearchAction.lambda$executeRequest$6(TransportSearchAction.java:397) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:136) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.index.query.Rewriteable.rewriteAndFetch(Rewriteable.java:112) ~[elasticsearch-7.16.0.jar:7.16.0]
	at org.elasticsearch.index.query.Rewriteable.rewriteAndFetch(Rewriteable.java:77) ~[elasticsearch-7.16.0.jar:7.16.0]

参考:https://www.cnblogs.com/chenyanbin/p/13493920.html

参考:
Mac安装es

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151083.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 子网划分题目与解析

    子网划分题目与解析【1】一公司原来使用192.168.1.0/24这个标准网络,现在想为公司的每个部门(共六个)单独配置一个子网,其中最大的部门要分配IPv4地址的数量不超过25个。求每个子网的子网掩码、地址范围、网络地址和广播地址。分析:192.168.1.0/24共有254个可用的IPv4地址现在要划分6个子网且最大子网地址数目不超过25个,也就是划分成8个子网,每个子网可用的IPv4地址最多3

  • 不止一个背包的背包问题_分组背包问题

    不止一个背包的背包问题_分组背包问题有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包);第二类物品可以用无限次(完全背包);第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。si=−1 表示第 i 种

  • 很全的zencart 模板修改

    很全的zencart 模板修改zencart目录结构及模板修改1、zen-cart模板规则1.1/include/目录底下文件夹存放规则及其作用language常数定义;modules具体页修改这个文件夹底下是放模板的这面是默认模板目录,所有在自定义模板找不到自己所要安装的模板的文件都可以在这里找到1.2文件夹底下文件的规则及其作用板文件夹底下一般有如下的文…

  • MySQL数据库:explain执行计划详解

    MySQL数据库:explain执行计划详解

  • mycat oracle读写分离_mycat读写分离原理

    mycat oracle读写分离_mycat读写分离原理今天做不成的事,明天也不会做好。各位同学大家好,今天给大家分享一下用Mycat进行数据库的读写分离,本篇文章是基于上一篇的mysql主从复制。Linux上实现Mysql的主从复制(为Mycat读写分离作准备)在上一篇文章中,我们在两个服务器使用同版本的操作系统和mysql:服务器1:centos7.3,mysql5.6服务器2:centos7.3,m…

    2022年10月13日
  • Android 面试精华题目总结

    Android 面试精华题目总结下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。1、请解释下在单线程模型中Message,Handler,MessageQueue,Lopper之间的关系。2、如果有个100M大的文件,需要上传至服务器中,而服务器form表单最大只能上传2M,可以用什么方法。3、内存溢出和内存泄漏有什么区别

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号