Docker Centos镜像下安装Elasticsearch

运行docker Centos镜像

  1. 下载Centos镜像,我的版本是最新版本 centos:latest,这里不多说,可以自行看docker文档安装,地址:https://www.runoob.com/docker/docker-install-centos.html

    docker images //查看镜像


  2. 启动容器并将9200和9300端口、路径映射到本机(映射路径是将宿主机下载的Elasticsearch安装包映射到容器里,映射路径自己定义)

    docker run -itd -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -v /g/**/WWW:/home/wwwroot --name es5.1.1 centos:latest 

     

     

  3. 查看容器并进入
     docker ps

     docker exec -it es5.1.1 /bin/bash


     

     

安装java环境

我当前Elasticsearch版本是5.1.1,所以java环境要求:

a.JDK8+  
b.系统可用内存>2G 

下面开始安装java,linux可以直接用yum方式安装jdk8,非常方便

yum search java|grep jdk

yum install java-1.8.0-openjdk*

java -version

 

 

 

安装Elasticsearch5.1.1

为什么Elasticsearch选择这个版本呢?

因为它是一个集成包,elasticsearch中文发行版,针对中文集成了相关插件,方便新手学习测试。下载地址:https://github.com/medcl/elasticsearch-rtf

我这里已经下载好了,放在/usr/local目录下

 

 接着解压,因为是zip格式,所以要安装支持ZIP的工具

yum install -y unzip zip   //安装unzip
unzip elasticsearch-rtf-master.zip    //解压

 

 

查看elasticsearch插件

bin/elasticsearch-plugin list

 

 

但我们现在只需要analysis-ik这个插件,如果你的内存比较少的情况下可以把其他不必要的插件卸载掉以减少我们的内存。

我们可以先把这些插件存在一个地方,名为plugin.log

bin/elasticsearch-plugin list > /tmp/plugin.log

 

接着把需要的ik插件从列表里去掉

vi /tmp/plugin.log

 

然后将不需要的插件打印出来

cat /tmp/plugin.log

 

最后删除掉

cat /tmp/plugin.log|xargs -I {} bin/elasticsearch-plugin remove {}

 

代码入下:

 

 

 

 现在已经删除完毕了,可以查看一下插件列表

bin/elasticsearch-plugin list

 

 

 

 接下来就是要启动它了,但要注意:es不允许root用户启动,会报错,所以要新建另外一个用户启动es

创建新用户

  1. 创建用户组,把新用户添加到当前组

    groupadd shazhus  //用户组名

    useradd shazhu -g shazhus

     

  2. 修改密码

    passwd shazhu

     

     

     

  3. 设置es文件夹权限

    chown -R shazhu:shazhus /usr/local/elasticsearch-rtf-master

     

     

     

切换用户

su shazhu

 

 

 

启动elasticsearch

bin/elasticsearch -d

 

查看日志文件

tail logs/elasticsearch.log

 

 

 

容器访问

curl 127.0.0.1:9200

 

 

但这些你会发现,容器能够正常访问,但宿主机却提示拒绝链接,问题端口映射也做了,究竟是什么问题呢?

其实es启动后默认的ip地址是localhost,但linux环境主机的localhost不是127.0.0.1了。所以就无法访问。

解决办法

把es默认ip改为0.0.0.0即可

  1. 进入es文件夹下的config/elasticsearch.yml,把network.host的ip改为0.0.0.0,去掉注释,保存。

     vi config/elasticsearch.yml

     

  2. 然后启动es,查看日志文件看能不能正常启动。

     

     



posted @ 2020-05-13 21:19  PM_谦  阅读(533)  评论(0编辑  收藏  举报