centos7通过docker启动elasticsearch和logstash

首先安装docker

安装命令如下:安装

curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

安装成功后,输入docker -v命令即可

Docker version 20.10.6, build 370c289

或者也可以直接输入docker,报错(-bash: docker: command not found)则安装失败,否则则安装成功

systemctl status docker

● docker.service - Docker Application Container Engine

  Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)

  Active: inactive (dead)

    Docs: https://docs.docker.com

启动docker:

systemctl start docker

配置docker镜像

Ubuntu 16.04+、Debian 8+、CentOS 7+

目前主流 Linux 发行版均已使用 systemd 进行服务管理,这里介绍如何在使用 systemd 的 Linux 发行版中配置镜像加速器。

请首先执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。

systemctl cat docker | grep '\-\-registry\-mirror'

如果该命令有输出,那么请执行 $ systemctl cat docker 查看 ExecStart= 出现的位置,修改对应的文件内容去掉 --registry-mirror 参数及其值,并按接下来的步骤进行配置。

如果以上命令没有任何输出,那么就可以在vim  /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{

  "registry-mirrors": [

    "https://hub-mirror.c.163.com",

    "https://mirror.baidubce.com"

  ]

}

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

systemctl daemon-reload

sudo systemctl restart docker

Windows 10

对于使用 Windows 10 的用户,在任务栏托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后在左侧导航菜单选择 Docker Engine,在右侧像下边一样编辑 json 文件,之后点击 Apply & Restart 保存后 Docker 就会重启并应用配置的镜像地址了。

{

  "registry-mirrors": [

    "https://hub-mirror.c.163.com",

    "https://mirror.baidubce.com"

  ]

}

macOS

对于使用 macOS 的用户,在任务栏点击 Docker Desktop 应用图标 -> Perferences,在左侧导航菜单选择 Docker Engine,在右侧像下边一样编辑 json 文件。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。

{

  "registry-mirrors": [

    "https://hub-mirror.c.163.com",

    "https://mirror.baidubce.com"

  ]

}

检查加速器是否生效

执行

docker info

如果从结果中看到了如下内容,说明配置成功。

Registry Mirrors:

https://hub-mirror.c.163.com/


使用 Docker 拉取ElasticSearch镜像

docker pull elasticsearch:7.4.2


查看镜像 ID

docker images

docker服务启动命令

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --name elasticsearch -p 9200:9200 -p 9300:9300 *****[注:这是要运行的镜像id]

查看运行日志

docker logs 容器ID

报错:


ERROR: [2] bootstrap checks failed

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

[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

处理第一个问题:

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

编辑 /etc/sysctl.conf,追加以下内容:

vm.max_map_count=655360

保存后,执行

sysctl -p

重启es

docker restart  容器ID

[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

先删除之前创建的容器

docker rm -f 容器ID

添加-e "discovery.type=single-node" 

docker run -d -e ES_JAVA_POTS="-Xms256m -Xmx256m"  -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 --name  elasticsearch  ***es镜像ID***

继续查看运行logs

docker logs  容器ID


验证运行是否成功

curl localhost:9200

{

  "name" : "28765a4c9e04",

  "cluster_name" : "docker-cluster",

  "cluster_uuid" : "EUK5T7AmSAW-YvCwMU-W-w",

  "version" : {

    "number" : "7.4.2",

    "build_flavor" : "default",

    "build_type" : "docker",

    "build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",

    "build_date" : "2019-10-28T20:40:44.881551Z",

    "build_snapshot" : false,

    "lucene_version" : "8.2.0",

    "minimum_wire_compatibility_version" : "6.8.0",

    "minimum_index_compatibility_version" : "6.0.0-beta1"

  },

  "tagline" : "You Know, for Search"

}

安装elasticsearch head插件监控管理进行可视化管理

拉取镜像

docker pull tobias74/elasticsearch-head

运行

docker run -d -p 9100:9100 镜像ID

登陆ip地址:9100端口查看


在这里出现跨域拒绝访问问题

解决方式:

进入elasticsearch容器内部,修改配置文件elasticsearch.yml

docker ps -a  #拿到运行容器elasticsearch 的 id

docker exec -it ******(容器id) /bin/bash

cd ./config


在elasticsearch.yml中添加:

http.cors.enabled: true

http.cors.allow-origin: "*"


重启 elasticsearch容器

docker restart  容器名


重启服务

查看日志和上面一样

docker logs 容器名

运行成功后,替换IP地址替换localhost

此时运行成功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容