根据官网使用apt-get/APT来安装,自动解决一些依赖问题。这里需要使用root或者具有sudo权限的用户登录,和别的文章通过本地文件安装不能使用root账号不同。但是建议使用具有sudo权限的账户,不要用root,我这里使用就是sudo权限的账户。 如果是公司提供的镜像有做过一些相关的安全加固,可能导致安装失败,请额外注意改用原版系统。 安装程序至少需要有sudo权限,否则无法安装
一、下载并安装公共签名密钥:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
定义好/etc/apt/sources.list.d/elastic-8.x.list到存储库路径,以提供安装
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
二、在apt存储库里面安装ES
Elasticsearch是一个Java应用程序,因此先安装Java
sudo apt install default-jdk
y
查看版本,该命令将打印Java版本 java -version 先保证安装好apt-transport-https
sudo apt-get install apt-transport-https
安装elasticsearch
sudo apt-get update && sudo apt-get install elasticsearch
安装完成后会自动生成一个密码(The generated password )和一些命令,如下,其中的密码要保存是es的超管elastic的默认密码:
--------------------------- Security autoconfiguration information ------------------------------
Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.
The generated password for the elastic built-in superuser is : 0bu********7HoHx1
If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.
You can complete the following actions at any time:
Reset the password of the elastic built-in superuser with
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.
Generate an enrollment token for Kibana instances with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.
Generate an enrollment token for Elasticsearch nodes with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.
-------------------------------------------------------------------------------------------------
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.service
要将 Elasticsearch 配置为在系统启动时自动启动,请运行以下命令:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
可以按如下方式启动和停止 Elasticsearch:
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
三、检查es是否正常运行
您可以通过向端口9200发送 HTTP 请求来测试您的 Elasticsearch 节点是否正在运行 localhost:
curl -X GET "localhost:9200/"
也可以通过命令 service elasticsearch status 查看状态 使用 sudo journalctl -u elasticsearch 查看es的运行日志
四、安装kibana
Kibana 是为 Elasticsearch设计的开源分析和可视化平台,安装命令:
sudo apt-get install kibana
安装成功后会提示,Created Kibana keystore in /etc/kibana/kibana.keystore 修改配置
sudo vi /etc/kibana/kibana.yml
取消注释server.host 设置为 0.0.0.0
server.host "0.0.0.0"
启动kibana
sudo systemctl start kibana
将 kibana 配置为在系统启动时自动启动,请运行以下命令:
sudo systemctl enable kibana.service
检查是否运行:
sudo systemctl status kibana.service
五、配置kibana集成到es
通过浏览器配置kibana: 输入http://IP:5601
在安装es的机器上输入下面命令获取到key,之后输入到kibana
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
会弹出要kibana的验证码, 到kibana的服务器上输入
sudo journalctl -u kibana -f
最后一行就有验证码。 输入到验证码,等待验证。 验证通过后悔进入欢迎界面,这里输入es默认的超管账号和自动生成的密码,elastic :password 到这里,es和kibana能初步运行起来,实际使用中额外的配置,需要自己进一步摸索。
六、修改ES的配置项
Elasticsearch数据存储在/var/lib/elasticsearch目录中 配置文件位于/etc/elasticsearch/elasticsearch.yml中 Java启动选项可以在/etc/default/elasticsearch文件中进行配置。 jvm配置在/etc/elasticsearch/jvm.options 默认情况下,Elasticsearch配置为仅在本地主机上监听。 / 编辑Elasticsearch配置并允许Elasticsearch监听外部连接(必须)
sudo vim /etc/elasticsearch/elasticsearch.yml
搜索包含network.host的行,取消注释,然后将值更改为0.0.0.0 network.host 0.0.0.0
设置集群的显示名称(可选): node.name: es-node1 修改data数据保存路径(可选) 修改日志数据保存路径(可选)
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /usr/local/elasticsearch-7.4.2/data
#
# Path to log files:
#
path.logs: /usr/local/elasticsearch-7.4.2/logs
9200端口:Http协议,用于外部通讯(可选) 9300端口:Tcp协议,ES集群之间的通讯(可选)
重新启动Elasticsearch服务以使更改生效:sudo systemctl restart elasticsearch
jvm.options用于配置 Elasticsearch JVM 设置,可以根据实际情况修改(可选) jvm参数设置
vi /etc/elasticsearch/jvm.options
-Xms1g 修改为 ===> -Xms4g
-Xmx1g 修改为 ===> -Xmx4g
修改配置sysctl.conf(可选)
vi /etc/sysctl.conf
添加如下内容:
vm.max_map_count=655360
并执行命令:
sysctl -p
修改系统默认的限制大小(可选)
vi /etc/security/limits.conf
设置如下
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
第一行表示用户,* 表示所有用户 soft nproc 单个用户可用的最大进程数量(超过会警告); hard nproc 单个用户可用的最大进程数量(超过会报错); soft nofile 可打开的文件描述符的最大数(超过会警告); hard nofile 可打开的文件描述符的最大数(超过会报错);