当前位置: 首页 > news >正文

广东网站开发建设上海长城建设有限公司网站

广东网站开发建设,上海长城建设有限公司网站,网站设计上市公司,网站404页面的作用基于之前的文章#xff0c;精简操作而来 让ELK在同一个docker网络下通过名字直接访问Ubuntu服务器ELK部署与实践使用 Docker 部署 canal 服务实现MySQL和ES实时同步Docker部署ES服务#xff0c;canal全量同步的时候内存爆炸#xff0c;ES/Canal Adapter自动关闭#xff0c…基于之前的文章精简操作而来 让ELK在同一个docker网络下通过名字直接访问Ubuntu服务器ELK部署与实践使用 Docker 部署 canal 服务实现MySQL和ES实时同步Docker部署ES服务canal全量同步的时候内存爆炸ES/Canal Adapter自动关闭CPU100% 1. 拉镜像 docker pull elasticsearch:7.8.0 docker pull kibana:7.8.0 docker pull canal/canal-server:v1.1.4 docker pull slpcat/canal-adapter:v1.1.5-jdk8 docker pull mysql:5.72. mysql环境配置 2.1 新建mysql docker 首先新建数据库的docker镜像 docker run -p 3306:3306 --name mysql \ -v /data/mysql/log:/var/log/mysql \ -v /data/mysql/data:/var/lib/mysql \ -v /data/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d mysql:5.72.2 修改配置重启 接下来去/data/mysql/conf路径下新建my.cnf文件输入以下内容 [mysqld] #binlog setting log-binmysql-bin # 开启logbin binlog-formatROW # binlog日志格式 server-id1 # mysql主从备份serverId,canal中不能与此相同docker restart重启mysql 2.3 验证配置结果 新建新闻表 CREATE SCHEMA MyTest;use MyTest;create table News ( id INT(11), title VARCHAR(2125), desc VARCHAR(2125), image VARCHAR(2125), url VARCHAR(2125), source VARCHAR(2125), date Date )DEFAULT CHARSETutf8;检查该新闻表的状态 mysql -u root -p // mysql登录 show databases; use MyTest; // 开启数据库 show variables like log_%; show variables like binlog_format; show master status; // binlog日志文件 mysql-bin.000001 reset master; // 重置日志2.4 查看日志文件 cd /var/lib/mysql // 进入日志文件目录 mysqlbinlog -vv mysql-bin.000001 // row格式查看日志3. ESKibana环境配置 3.1 前置准备 修改内存最大容量 # 查看参数大小 cat /proc/sys/vm/max_map_count # 设置参数 sysctl -w vm.max_map_count262144设置mynetwork 创建一个自定义网络执行到这里就可以了 ## 查看已有网络docker network ls ## 新建网络docker network create mynetwork启动容器时将它们连接到相同的网络并分配容器名称 docker run -d --name containerA --network mynetwork imageA docker run -d --name containerB --network mynetwork imageB在这个例子中我们将容器A和容器B连接到同一个名为 mynetwork 的网络并分别分配了容器名称 containerA 和 containerB。 在容器A中通过容器名称访问容器B ping containerB对于已经启动的Docker放入到指定网络 docker network connect network_name_or_id container_name_or_id3.2 ES(单节点模式部署) #安装elasticsearch创建一个elk文件夹, 后面的elk日志采集系统的配置文件都放在这里面 #创建elk使用配置文件的目录 mkdir -p /data/elk#创建es使用的目录 mkdir /data/elk/conf -p#配置es的配置文件 cat /data/elk/conf/elasticsearch.ymlEOF cluster.name: docker-cluster network.host: 0.0.0.0 # 访问ID限定0.0.0.0为不限制生产环境请设置为固定IP transport.host: 0.0.0.0 # elasticsearch节点名称 node.name: node-1 # elasticsearch节点信息 cluster.initial_master_nodes: [node-1] # 下面的配置是关闭跨域验证可以实现浏览器查看es的数据 http.cors.enabled: true http.cors.allow-origin: * EOF#创建es使用的存储卷把数据映射出来 [rootcentos7 ~]# docker volume create elasticsearch elasticsearch#创建并启动elasticsearch容器 docker run -di -p 9200:9200 -p 9300:9300 --nameelasticsearch --network mynetwork -v /data/elk/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -e discovery.typesingle-node -e ES_JAVA_OPTS-Xms64m -Xmx512m --mount srcelasticsearch,dst/usr/share/elasticsearch elasticsearch:7.8.0 #把宿主机的配置文件映射到es作为配置文件 /data/elk/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml #把es的容器安装目录映射到宿主机 --mount srcelasticsearch,dst/usr/share/elasticsearch#创建成功 [rootcentos7 elasticsearch]# docker run -di -p 9200:9200 -p 9300:9300 --nameelasticsearch -v /data/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --mount srcelasticsearch,dst/usr/share/elasticsearch elasticsearch:7.6.0 317d2a274ec64500c44a7c8c0bea60175c2183a66e8e6e8a5554bc223e836e58#对存储卷创建软连接实现快速访问 /data/docker/volumes/elasticsearch/_data/ ln -s /data/docker/volumes/elasticsearch/_data/ /data/elk/es测试是否安装成功 [rootcentos7 es]# curl 127.0.0.1:9200 {name : node-1,cluster_name : docker-cluster,cluster_uuid : CK6xnBvaTciqRtWhjZf7WA,version : {number : 7.6.0,build_flavor : default,build_type : docker,build_hash : 7f634e9f44834fbc12724506cc1da681b0c3b1e3,build_date : 2020-02-06T00:09:00.449973Z,build_snapshot : false,lucene_version : 8.4.0,minimum_wire_compatibility_version : 6.8.0,minimum_index_compatibility_version : 6.0.0-beta1},tagline : You Know, for Search } 注意如果需要添加插件时需要将容器的插件目录映射到实际的路径中或者通过命令 如安装ik分词器docker cp ik elasticsearch:/usr/share/elasticsearch/plugins/将其拷贝到容器中3.3 kibana #安装kibana #kibana主要用于对elasticsearch的数据进行分析查看。注意选择的版本必须和elasticsearch的版本相同或者低建议和elasticsearch的版本相同否则会无法将无法使用kibana。#创建配置文件 cat /data/elk/conf/kibana.ymlEOF server.port: 5601 server.host: 0.0.0.0 elasticsearch.hosts: [http://elasticsearch:9200] # 这里需要参考我下面的docker网络访问配置 # 操作界面语言设置为中文 i18n.locale: zh-CN EOF#创建kibana使用的容器卷 docker volume create kibana#创建并启动kibana容器 docker run -di --name kibana -p 5601:5601 --network mynetwork -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml --mount srckibana,dst/usr/share/kibana kibana:7.8.0 #把宿主机的kibana配置文件映射到容器内部# -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml #把容器内的kibana的安装目录映射到宿主机的容器卷方便管理 # --mount srckibana,dst/usr/share/kibana#创建kibana容器卷的软连接方便管理 ln -s /data/docker/volumes/kibana/_data/ /data/elk/kibana 此时直接curl 127.0.0.1:5601有可能遇到问题Kibana server is not ready yet解决方法参考kibana解决Kibana server is not ready yet问题。一般都是docker内部网络访问配置没配置好的问题 如果有需要配置密码参考kibananginx配置密码 ubuntu 4. Canal ServerAdapter环境配置 4.1 Canal Server 首先安装canal-server复制配置文件到外面 # 启动docker docker pull canal/canal-server:v1.1.4 docker run --name canal-server -id canal/canal-server:v1.1.4# 复制配置文件 docker cp canal-server:/home/admin/canal-server/conf/ /data/canal_/canal docker cp canal-server:/home/admin/canal-server/logs/ /data/canal_/canal# 删除并重新启动 docker stop canal-server docker rm canal-serverdocker run --name canal -p 11111:11111 \ -v /data/canal_/canal/conf/example/instance.properties:/home/admin/canal-server/conf/example/instance.properties \ -v /data/canal_/canal/conf/canal.properties:/home/admin/canal-server/conf/canal.properties \ -v /data/canal_/canal/logs/:/home/admin/canal-server/logs/ \ --network mynetwork \ # 这个是我“让ELK在同一个docker网络下通过名字直接访问”博客中新建的网络以后所有127.0.0.1都写成docker的name就可以 -d canal/canal-server:v1.1.4修改Server配置文件example/instance.properties 注意canal.properties中的destination要和后续的Canal Adapter保持一致 验证服务是否启动成功 docker exec -it [c_id]/bin/bash cd canal-server/bin/ ./start.sh // 启动服务 cd canal-server/logs/example/ tail -100f example.log // 查看日志 4.2 Canal Adapter # 启动docker docker pull slpcat/canal-adapter:v1.1.5-jdk8 docker run --name canal-adapter -id slpcat/canal-adapter:v1.1.5-jdk8# 复制配置文件 docker cp canal-adapter:/opt/canal-adapter/conf /data/canal_/canal-dapter docker cp canal-adapter:/opt/canal-adapter/logs /data/canal_/canal-dapter# 删除并重新启动 docker stop canal-adapter docker rm canal-adapterdocker run --name canal-adapte -p 8081:8081 \ -v /data/canal_/canal-dapter/conf:/opt/canal-adapter/conf \ -v /data/canal_/canal-dapter/logs:/opt/canal-adapter/logs \ --network mynetwork \ -d slpcat/canal-adapter:v1.1.5-jdk8修改两处配置文件 配置文件取消注释一定要自己手动删除#不要用快捷键。否则会导致文件格式出问题 配置文件详解 ClientAdapter: Canal的Adapter配置项目 application.ymapplication.yml Sync ESCanal的Adapter中ES同步的配置项 user.yml 修改配置文件application.yml。 name logger就是在发生数据修改的时候直接实时更新到log中如下图 修改完上述配置可以看到name为es的canalAdapters被启动了。因此要去es文件夹下修改注意以下字段的配置。目前只是能够运行起来至于业务实际应用可能还有待验证。 修改启动脚本使adapter稳定运行 以下修改方案基于slpcat/canal-adapter:v1.1.5-jdk8修改 首先docker exec进入到容器内部修改启动脚本vi bin/startup.sh 我修改了两个地方 if else判断的地方我直接指定JAVA_OPTS为非x64系统的配置修改了原先的-Xms和-Xmx变成了新的104m和512m 随便设置的就想着要小一点以及增加了新的参数-XX:MaxDirectMemorySize128m #!/bin/bashcurrent_pathpwd case uname inLinux)bin_abs_path$(readlink -f $(dirname $0));;*)bin_abs_pathcd $(dirname $0); pwd;; esac base${bin_abs_path}/.. export LANGen_US.UTF-8 export BASE$baseif [ -f $base/bin/adapter.pid ] ; thenecho found adapter.pid , Please run stop.sh first ,then startup.sh 22exit 1 fiif [ ! -d $base/logs ] ; thenmkdir -p $base/logs fi## set java path if [ -z $JAVA ] ; thenJAVA$(which java) fiALIBABA_JAVA/usr/alibaba/java/bin/java TAOBAO_JAVA/opt/taobao/java/bin/java if [ -z $JAVA ]; thenif [ -f $ALIBABA_JAVA ] ; thenJAVA$ALIBABA_JAVAelif [ -f $TAOBAO_JAVA ] ; thenJAVA$TAOBAO_JAVAelseecho Cannot find a Java JDK. Please set either set JAVA or put java (1.5) in your PATH. 22exit 1fi ficase $# in 0 );; 2 )if [ $1 debug ]; thenDEBUG_PORT$2DEBUG_SUSPENDnJAVA_DEBUG_OPT-Xdebug -Xnoagent -Djava.compilerNONE -Xrunjdwp:transportdt_socket,address$DEBUG_PORT,servery,suspend$DEBUG_SUSPENDfi;; * )echo THE PARAMETERS MUST BE TWO OR LESS.PLEASE CHECK AGAIN.exit;; esacstrfile -L $JAVA | grep 64-bit if [ -n $str ]; thenJAVA_OPTS-server -Xms2048m -Xmx3072m -Xmn1024m -XX:SurvivorRatio2 -Xss256k -XX:DisableExplicitGC -XX:HeapDumpOnOutOfMemoryError elseJAVA_OPTS-server -Xms1024m -Xmx1024m -XX:NewSize256m -XX:MaxNewSize256m -XX:MaxPermSize128m fi ## 主要是修改了这个地方修改了启动参数 JAVA_OPTS-server -Xms104m -Xmx512m -XX:NewSize256m -XX:MaxNewSize256m -XX:MaxDirectMemorySize128m -XX:MaxPermSize128m echo $JAVA_OPTS JAVA_OPTS $JAVA_OPTS -Djava.awt.headlesstrue -Djava.net.preferIPv4Stacktrue -Dfile.encodingUTF-8 ADAPTER_OPTS-DappNamecanal-adapterfor i in $base/lib/*;do CLASSPATH$i:$CLASSPATH; doneCLASSPATH$base/conf:$CLASSPATH;echo cd to $bin_abs_path for workaround relative path cd $bin_abs_pathecho CLASSPATH :$CLASSPATH exec $JAVA $JAVA_OPTS $JAVA_DEBUG_OPT $ADAPTER_OPTS -classpath .:$CLASSPATH com.alibaba.otter.canal.adapter.launcher.CanalAdapterApplication可以看到插入几万条数据后确实也同步到ES中了adapter的内存反而还下降了不是很懂只能说回想起了深度学习调参的日子
http://www.dnsts.com.cn/news/76141.html

相关文章:

  • 网站导航字体大小免费网站服务器
  • 网站前台建设需要哪些技术知识最世网络建设网站可以吗
  • html网站源码网站建设人员工作职责
  • jsp建设网站教程软件工程学校排名
  • 玉树营销网站建设哪家好0453牡丹江信息网手机版
  • 网上下的网站模版后门wordpress问答插件中文免费版
  • 免费中英文网站源码wordpress 淘宝分享插件
  • dedecms电影网站模板网站制作工具推荐
  • 网站向哪里备案一款游戏的制作过程
  • 虚拟会员商城网站分销公司装修效果图 办公室
  • 珠海市网站建设分站怎么样兰州seo经理
  • 淮安企业网站制作中企动力公司上班好不好
  • 专业网站制作哪专业上海谷歌seo推广公司
  • php制作招聘网站php wordpress单本小说网站源码+采集
  • 嘉兴市建设官方网站企业电商网站开发
  • 买虚机送网站建设公司邮箱在哪里登录
  • 个人如何申请网站wordpress主题文档
  • 东莞网站开发培训哪里有上海网站建设思创
  • 为什么网站建设需要每年续费织梦网站程序安装教程
  • 2016年两学一做教育网站国外网站怎样建设
  • 广州网络帮助建站网站后台如何修改密码
  • 公司弄个网站多少钱廊坊seo网站管理
  • 免费行情软件app网站mnu公司比较好
  • h5的网站网站登录不了怎么办
  • 相册排版设计徐州关键词排名优化
  • 江苏建设工程交易信息网站网站制作咨询电话
  • 常熟有哪些网站建设公司规划设计公司简介
  • 湖北省住房和城乡建设厅网站的公示公告网站建设公司西安
  • 如何更换网站空间汉中商城网站建设
  • 成都企业网站备案流程WordPress 4.9添加备案号