Docker下安装elasticsearch和kibana

电脑是windows系统,用docker启动了一个ubuntu,这样就在windows下模拟了一个Linux系统。es直接安装在这个Ubuntu中。

 

1. 准备工作,启动Ubuntu容器,并安装软件。

docker run -it -p 19200: 9200 -p 15601:5601 --privileged ubuntu /bin/bash

    这样启动了容器,同时进入容器 (-p 指定了宿主机和容器的端口映射, --privileged是为了修改linux系统文件配置)。

  执行如下命令,安装vim、wget和Java:

Apt-get update
Apt-get install vim
Apt-get install wget
apt-get install software-properties-common
apt-get install default-jre
apt-get install default-jdk
java -version

2. 安装es

我是安装在了/home下,进入/home,下载安装包:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz //解压

我的目录是这样的: /home/elk/elasticsearch-7.8.0/

3. 进入es的conf修改配置:

  3.1 Jvm.options: 修改es所使用的内存大小,一般都会设置成2G,这里是测试,设置成了128M。

-Xms128m
-Xmx128m

    3.2 Elasticsearch.yml:

配置网络:network.host: 192.168.0.1 设置成正常的ip。本次安装,为了宿主机和容器能够实现端口映射,这里要写0.0.0.0

端口号: 9200 http协议端口,通过该端口请求es并且获得es中的数据(json)

9300 tcp协议端口,是es集群的端口

要配置的内容如下(后面两句在文件末尾添加):

network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"

4. 修改linux配置:

  4.1 es能够占用的最大线程数,最大内存数和最大文件数:

vim /etc/security/limits.conf,添加下面的部分(在#End of File前添加)

 * hard nofile 655360   
 * soft nofile 131072    
 * hard nproc 4096    
 * soft nproc 2048

其中nofile-打开文件的最大数目,noproc-进程的最大数目 soft指的是当前系统生效的设置值,hard表明系统中所能设定的最大值

4.2 vim /etc/sysctl.conf,添加下面的部分:

vm.max_map_count=655360
fs.file-max=655360

执行sysctl -p 使其生效

如果执行sysctl -p报错Read-only file system,需要在启动容器的时候加--privileged。

 

Docker的base image做的很精简,甚至都没有init进程,原本在OS启动时执行生效系统变量的过程(sysctl -p)也给省略了,导致这些系统变量依旧保留着kernel默认值。以CentOs为例,在linux kernel boot后,init都会执行/etc/rc.d/rc.sysinit,后者会加载/etc/sysctl.conf中的系统变量值(报错信息为:Native controller process has stopped - no new native processes can be started)。

5. 创建data目录,/home/elk/elasticsearch-7.8.0/

mkdir data

6. 创建新用户并授权:

adduser elk  //输入密码等即可

7. 给用户授权,在/home/elk/elasticsearch-7.8.0目录下执行:

chown -R elk elasticsearch-7.8.0 (chown 修改文件和文件夹的用户和用户组属性)
chmod -R 777 * (chmod 修改修改文件和文件夹读写执行属性 )

8. 启动es:

su elk //切换用户
cd /home/elk/elasticsearch-7.8.0/bin
./elasticsearch

 在宿主机浏览器打开,cat是查询的意思,v是版本号的意思:

http://localhost:19002/_cat/health?v

http://localhost:19002/_cat/indices?v

9. 下载并解压kibana,移动到指定的目录:

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz
tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz

我这里放在了与es并列的目录下:

10. 修改kibana配置文件:

chowm -R elk kibana-7.8.0-linux-x86_64 //这个会运行很久。。。
cd /home/elk/kibana-7.8.0-linux-x86_64/config
vim kibana.yml
//修改的内容如下:
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://0.0.0.0:9200"]
kibana.index: ".kibana"

启动,进入bin目录,执行./kibana , 出现如下提示说明启动成功:

宿主机访问http://localhost:15601/

 

      

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值