docker里面安装elsticsearch集群

本文介绍如何使用Docker部署Elasticsearch 7.9.2版本的三节点集群,并配置Kibana进行数据可视化。主要内容包括拉取镜像、创建配置文件、设置权限、创建网络、启动服务及验证安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提是已经安装完docker

1.拉取镜像

docker pull elasticsearch:7.9.2

2.创建相关配置文件路径和数据路径

分别创建data1,data2,data3

/home/peiyajie/elasticsearch/data/data1

/home/peiyajie/elasticsearch/log/log1

/home/peiyajie/elasticsearch/config

touch elasticsearch1.yml

cluster.name: my-es
node.name: node-3
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/log
network.host: 0.0.0.0
network.publish_host: 10.202.252.209
http.port: 9202
transport.tcp.port: 9302
discovery.seed_hosts: ["10.202.252.209:9300","10.202.252.209:9301","10.202.252.209:9302"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
gateway.recover_after_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"

network.publish_host:不是docker得ip

3.数据文件授权

chmod 777 data1 data2 data3

4.创建网络

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

5.启动

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --network es-net -d -p 9200:9200 -p 9300:9300 -v /home/peiyajie/elasticsearch/config/elasticsearch1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/peiyajie/elasticsearch/plugins/plugins1:/usr/share/elasticsearch/plugins -v /home/peiyajie/elasticsearch/data/data1:/usr/share/elasticsearch/data -v /home/peiyajie/elasticsearch/log/log1:/usr/share/elasticsearch/log --name es1 elasticsearch:7.9.2

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --network es-net -d -p 9201:9201 -p 9301:9301 -v /home/peiyajie/elasticsearch/config/elasticsearch2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/peiyajie/elasticsearch/plugins/plugins2:/usr/share/elasticsearch/plugins -v /home/peiyajie/elasticsearch/data/data2:/usr/share/elasticsearch/data -v /home/peiyajie/elasticsearch/log/log2:/usr/share/elasticsearch/log --name es2 elasticsearch:7.9.2

docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --network es-net -d -p 9202:9202 -p 9302:9302 -v /home/peiyajie/elasticsearch/config/elasticsearch3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/peiyajie/elasticsearch/plugins/plugins3:/usr/share/elasticsearch/plugins -v /home/peiyajie/elasticsearch/data/data3:/usr/share/elasticsearch/data -v /home/peiyajie/elasticsearch/log/log3:/usr/share/elasticsearch/log --name es3 elasticsearch:7.9.2
 

如果出现:ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes]

操作:chmod 777 /home/peiyajie/elasticsearch/data/ -R 

6.查看是否安装好

访问连接:http://10.202.252.209:9200/_cat/nodes?pretty

则是安装好的

参照:https://blog.youkuaiyun.com/belonghuang157405/article/details/83301937

7.kinna的挂载

touch kibana.yml

server.port: 5601
server.host: "0.0.0.0"
server.name: "kibana-10.202.252.209"
elasticsearch.hosts: ["http://10.202.252.209:9200","http://10.202.252.209:9201","http://10.202.252.209:9202"]
i18n.locale: "zh-CN"
xpack.monitoring.ui.container.elasticsearch.enabled: true

8.kinna启动及验证安装是否成功

docker run -d -p 5601:5601 -v /home/peiyajie/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml --network es-net  --name kibana kibana:7.6.0

访问链接

http://10.202.252.209:5601
 

 

 

 

### 在 Ubuntu Docker 环境中部署 Kafka 集群 #### 前置条件 为了成功部署 Kafka 集群,需确认已安装 DockerDocker Compose。如果尚未安装,请访问官方文档完成安装流程[^1]。 --- #### 创建 `docker-compose.yml` 文件 创建一个名为 `docker-compose.yml` 的文件,并将其配置如下: ```yaml version: '3' services: zookeeper: image: confluentinc/cp-zookeeper:latest environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - "2181:2181" kafka-1: image: confluentinc/cp-kafka:latest depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 kafka-2: image: confluentinc/cp-kafka:latest depends_on: - zookeeper ports: - "9093:9093" environment: KAFKA_BROKER_ID: 2 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9093 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ``` 上述配置定义了一个 ZooKeeper 实例和两个 Kafka 节点(kafka-1 和 kafka-2)。通过此设置可以启动一个简单的 Kafka 集群环境。 --- #### 启动 Kafka 集群 在保存好 `docker-compose.yml` 文件后,在同一目录下运行以下命令来启动服务: ```bash docker-compose up -d ``` 这会以后台模式启动所有的容器实例。可以通过以下命令验证各服务的状态: ```bash docker ps ``` 应能看到三个正在运行的服务:ZooKeeper、Kafka-1 和 Kafka-2。 --- #### 访问 Kafka 容器内部 要进入某个 Kafka 容器的 shell 并执行操作,可使用以下命令: ```bash docker exec -it kafka-1 bash cd /opt/kafka/bin/ ``` 或者对于另一个节点: ```bash docker exec -it kafka-2 bash cd /opt/kafka/bin/ ``` 这些路径可能因镜像版本不同而有所变化;具体位置参见实际使用的镜像说明[^2]。 --- #### 创建 Topic 测试 一旦进入了 Kafka 容器中的 bin 目录,即可尝试创建一个新的主题 (topic),例如命名为 `test-topic`: ```bash ./kafka-topics.sh --create \ --bootstrap-server localhost:9092 \ --replication-factor 1 \ --partitions 1 \ --topic test-topic ``` 随后可通过以下命令查看当前存在的 topic 列表: ```bash ./kafka-topics.sh --list --bootstrap-server localhost:9092 ``` 以上步骤可用于验证集群是否正常工作[^3]。 --- #### 总结 按照前述方法可以在基于 Ubuntu 的 Docker 环境中快速构建起一个可用的 Kafka 集群。整个过程依赖于 Docker 提供的强大虚拟化能力以及预设好的镜像资源简化了传统手动安装与配置的工作量。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值