第1步:更新CentOS7
sudo yum -y update
sudo reboot
第2步: 安装Java
在 CentOS 7 上可安装的默认 Java 是 Java 8。下面是用于安装的命令:
sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Set Java home
cat <<EOF | sudo tee /etc/profile.d/java8.sh
export JAVA_HOME=/usr/lib/jvm/jre-openjdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
EOF
Source created file to update your environment.
source /etc/profile.d/java8.sh
第3步:安装ElasticSearch yum库
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
如果要安装 Elasticsearch 6,请将7的所有匹配项替换为6。添加存储库后,清除并更新 YUM 包索引
sudo yum clean all
sudo yum makecache
最后在 CentOS 7 计算机上安装ElasticSearch 7.x。
sudo yum -y install elasticsearch
确认安装成功及查看版本(看到正常输出则正常):
rpm -qi elasticsearch-oss
开机自动启动 Elasticsearch服务:
sudo systemctl enable --now elasticsearch
查看状态:
sudo systemctl status elasticsearch
检查是否可以连接到Elasticsearch服务(看到正常输出则正常):
curl http://127.0.0.1:9200
如果您有活动防火墙,则需要允许访问 Elasticsearch 端口:
sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
第4步:安装Kibana
相关的Elasticsearch包,如Kibana,Logstash 等刚才已经添加到源了。
sudo yum install kibana-oss
成功安装后,配置 Kibana:
$ sudo vi /etc/kibana/kibana.yml
# 修改以下配置
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
# 有域名可以设置域名
server.name: "http://kibana.example.com"
设置随系统启动 kibana 服务:
sudo systemctl enable --now kibana
如果您有活动防火墙,则需要允许访问 Kibana 端口:
sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload
访问ipaddress:5601打开kibana仪表板
第5步:安装Logstash
sudo yum install logstash
第6步:配置远程访问es并设置账号密码访问
修改配置文件:
$ sudo vi /etc/elasticsearch/elasticsearch.yml
# 配置远程访问
network.host: 0.0.0.0
http.port: 9200
# 开启密码验证
xpack.security.enabled: true
# 单节点模式(可选)
discovery.type: single-node
bootstrap.system_call_filter: false
重启 elasticsearch:
sudo systemctl restart elasticsearch
生成密码(特别要记住 elastic
和 kibana_system
的密码)
# 自动生成(须记住密码!!)
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
# 手动生成
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
打开配置文件 kibana.yml
,修改或添加以下内容
elasticsearch.username: "kibana_system"
elasticsearch.password: "刚才生成的密码
重启 kibana,使用 elastic
账号登录
其他:
Python客户端调用实例
from elasticsearch import Elasticsearch
host = '192.168.2.3:9200'
user = 'elastic'
pwd = 'xxx'
# 下面两种格式二选一
es = Elasticsearch(host, http_auth=(user, pwd))
#es = Elasticsearch(f'http://{user}:{pwd}@{host}')
es.cat.nodes()