对于ES小白,第一次安装ES走了很多弯路,下面记录自己本地安装elasticsearch的整个过程,我觉得小白如果按照我的流程走,大部分应该可以安装并运行成功。下面是整个步骤:

一、部署ES

  • 拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.2
docker network create elastic
  • 启动 (注意这里的 elastic 来自于上一步的创建网络
docker run --name es01 --net elastic -p 9200:9200 -it docker.elastic.co/elasticsearch/elasticsearch:6.8.2
  1. 进入ES容器。命令:
    docker exec -it {ES CONTAINER ID} /bin/bash
  2. 修改ES的配置文件elasticsearch.yml
    vi config/elasticsearch.yml
  3. 在elasticsearch.yml添加
    #添加如下内容
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    http.cors.allow-headers: Authorization
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
  4. 保存后,退出容器,重启ES。
    docker restart {ES CONTAINER ID}
  5. 再次进入容器
    docker exec -it {ES_CONATINER_ID} /bin/bash
  6.  进入容器后执行以下命令
    ./bin/elasticsearch-setup-passwords interactive

命令执行后,会出现几句英文,大概的意思是:你如果确定开启密码的话,需要设置以下六种账户的密码elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user
输入y开始设置,六种密码设置完成后,需要再次重启ES容器(假设设置的密码为wrbfuture)

重启后,输入ES的访问地址:http://ip:9200,这时已经提示让你输入账号密码了

账号:elastic 
密码:wrbfuture

二、部署kibana

  • 拉取镜像
docker pull kibana:6.8.2
  • 启动镜像
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://{ip}:{port} -p 5601:5601 -d kibana:6.8.2
  • 进容器
docker exec -it {kibana_container_id} /bin/bash
  • 修改kibana.yml文件
vi /config/kibana.yml
  • 添加如下代码
elasticsearch.hosts: [ "http://{es_host}:{es_port}" ] # 
elasticsearch.username: "elastic"
elasticsearch.password: "wrbfuture" #就是上面ES设置的密码
  • 重启重启,就可以了,用设置的账号和密码登录

特别注意:ES和kibana版本最好一致,否则有可能不成功(我之前就因为这个kibana无法连接到ES!!),可以参考(ES和Kibana)ElasticSearch和Kibana版本对应关系 - 走看看

如下:

 

Done!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐