• Docker安装canal和Elasticsearch


    安装canal

    sudo docker pull canal/canal-server
    sudo docker images
    
    #启动镜像 
    sudo docker run --name canal -d canal/canal-server
    #进入容器 查看配置文件路径
    sudo docker exec -it canal bash
    
    #找到文件位置后 exit退出容器 将容器内部文件copy到外部
    sudo docker cp canal:/home/admin/canal-server/conf/canal.properties /home/canal
    sudo docker cp canal:/home/admin/canal-server/conf/example/instance.properties /home/canal
    
    # 编辑instance.conf 其中需要修改以下
    canal.instance.master.address=192.168.0.105:3306 # 数据库连接地址
    canal.instance.dbUsername=root  # 数据库账号
    canal.instance.dbPassword=123456  # 数据库密码
    
    # 修改完成后,将之前的canal容器关闭,重新起一个新的容器.
    #关闭容器
    sudo docker stop canal
    
    #移除容器
    sudo docker rm canal
    
    #启动新的 这里-v是将外部的文件挂载到容器内部 这样就不用每次启动都要配置参数了
    sudo docker run --name canal -p 11111:11111 -d -v /home/canal/instance.properties:/home/admin/canal-server/conf/example/instance.properties -v /home/canal/canal.properties:/home/admin/canal-server/conf/canal.properties canal
    

    安装Elasticsearch

    sudo docker pull elasticsearch:5.6.8
    sudo docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8
    
    # 安装完成后可以在浏览器输入地址访问:http://192.168.211.132:9200/能看到一些es的信息
    
    # 修改es配置开启远程连接
    sudo docker exec -it elasticsearch /bin/bash
    cd config/
    apt-get update
    apt-get install vim
    vim elasticsearch.yml 
    
    # 打开文件后放开这行注释
    # transport.host: 0.0.0.0
    # 同时添加一行
    cluster.name: my-application
    
    sudo docker restart elasticsearch # 重启容器
    

    (4)系统参数配置**

    重启后发现重启启动失败了,这时什么原因呢?这与我们刚才修改的配置有关,因为elasticsearch在启动的时候会进行一些检查,比如最多打开的文件的个数以及虚拟内存区域数量等等,如果你放开了此配置,意味着需要打开更多的文件以及虚拟内存,所以我们还需要系统调优

    修改sudo vi /etc/security/limits.conf ,追加内容 (nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制 )

    soft nofile 65536
    hard nofile 65536
    

    修改sudo vi /etc/sysctl.conf,追加内容 (限制一个进程可以拥有的VMA(虚拟内存区域)的数量 )

    vm.max_map_count=655360
    
    # 执行下面命令 修改内核参数马上生效
    sudo sysctl -p
    

    安装es-head插件

    sudo docker pull docker.io/mobz/elasticsearch-head:5
    sudo docker run -di --name=es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5
    
    # 插件安装好后访问 http://192.168.0.105:9100/
    

    (5)跨域配置

    修改elasticsearch/config下的配置文件:elasticsearch.yml,增加以下三句命令,并重启:

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    network.host: 192.168.0.105
    

    其中:
    http.cors.enabled: true:此步为允许elasticsearch跨域访问,默认是false。
    http.cors.allow-origin: "":表示跨域访问允许的域名地址(表示任意)。

    安装ik分词

    (1)安装ik分词器

    IK分词器下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases
    将ik分词器上传到服务器上,然后解压,并改名字为ik
    sudo unzip elasticsearch-analysis-ik-5.6.8.zip
    sudo mv elasticsearch ik
    将ik目录拷贝到docker容器的plugins目录下
    sudo docker cp ./ik changgou_elasticsearch:/usr/share/elasticsearch/plugins
    (2)IK分词器测试
    访问:http://192.168.0.105:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员

  • 相关阅读:
    android项目启动应用,卸载应用,分享
    android项目复杂的listview
    android项目获得手机里所有的应用程序
    android项目获取指定目录下可用空间
    android项目实现电话自动挂断的功能
    android项目浮窗的移动
    android项目双击或者多击的实现
    C#设计模式之工厂方法与简单工厂
    C#二分查找法与拉格朗日查找法
    C#快速排序算法
  • 原文地址:https://www.cnblogs.com/winter-shadow/p/14238359.html
Copyright © 2020-2023  润新知