gitweixin
  • 首页
  • 小程序代码
    • 资讯读书
    • 工具类
    • O2O
    • 地图定位
    • 社交
    • 行业软件
    • 电商类
    • 互联网类
    • 企业类
    • UI控件
  • 大数据开发
    • Hadoop
    • Spark
    • Hbase
    • Elasticsearch
    • Kafka
    • Flink
    • 数据仓库
    • 数据挖掘
    • flume
    • Kafka
    • Hive
    • shardingsphere
    • solr
  • 开发博客
    • Android
    • php
    • python
    • 运维
    • 技术架构
    • 数据库
  • 程序员网赚
  • bug清单
  • 量化投资
  • 在线查询工具
    • 去行号
    • 在线时间戳转换工具
    • 免费图片批量修改尺寸在线工具
    • SVG转JPG在线工具

分类归档运维

精品微信小程序开发门户,代码全部亲测可用

  • 首页   /  大数据开发
  • 分类归档: "运维"
  • ( 页面2 )
提示词, 运维 4月 25,2024

利用kimi等大模型进行运维参数解析和调优

在运维时,经常遇到很多参数,有些参数不知道意义,知道意义的也有些不知道合理参考值是多少。利用kimi等大模型来当老司机,轻松解决运维难题。

例如在运维hive参数时,有些不知道作用,提示次如下

你的角色是运维专家,逐个解析每个配置的作用,并看是否合理:【运维参数】

为了获取某个参数的合理值,还可以进一步追问:

作者 east
datax, 大数据开发, 运维 4月 14,2024

可视化ETL解决方案:Apache NiFi、DataX(加上DataX-Web)、Kettle这3个解决方案对比

1.Apache NiFi:

Apache NiFi是一个易于使用、功能强大的可视化ETL工具,它提供了一套直观的图形界面,让用户可以轻松地设计、管理和监控数据流。NiFi支持多种数据源和目标系统,具有强大的数据处理能力,如数据过滤、转换、聚合等。此外,NiFi还支持实时数据处理、批量数据处理以及两者的混合处理。

适用场景:

  • 数据源和目标系统种类繁多,需要灵活的数据处理能力 ,实现数据的抽取、转换和加载(ETL)工作,方便数据的迁移和同步 ;
  • 需要实时数据处理和监控的场景 , 可以通过监听数据源(如Kafka、Flume等)的实时数据流,实现数据的实时采集、处理和传输; 适用于需要实时数据处理的业务场景,如实时监控和报警系统 ;
  • 需要构建大规模、可扩展的数据流处理系统的场景
    ,如日志收集和分析、物联网数据处理等 。

支持的数据库类型:

  • 关系型数据库:如MySQL、PostgreSQL、Oracle、SQL Server等;
  • NoSQL数据库:如MongoDB、HBase等;
  • 列式存储数据库:如ClickHouse等;
  • 文件系统:如HDFS、本地文件系统等。

2. DataX(包括DataX-Web):

DataX是阿里巴巴开源的一款高性能、分布式、易用的数据同步工具,它支持多种数据源和目标系统,具有优秀的性能和稳定性。DataX-Web是DataX的Web版本,提供了可视化的操作界面,简化了数据同步任务的配置和管理。

适用场景:

  • 数据源和目标系统种类较多,但不需要像NiFi那样的复杂数据处理能力;
  • 需要进行大规模数据迁移和同步的场景;
  • 对于实时性要求不高,但需要保证数据一致性和可靠性的场景;
  • 需要简化数据同步任务配置和管理的场景。
  • 由于DataX的扩展性强,适合需要定制化数据同步任务的企业,可以通过编写自定义插件来满足特定的业务需求

支持的数据库类型:

  • 关系型数据库:如MySQL、PostgreSQL、Oracle、SQL Server等;
  • NoSQL数据库:如MongoDB、Cassandra等;
  • 列式存储数据库:如Infobright等;
  • 文件系统:如CSV文件、Excel文件等。

3. Kettle(Pentaho Data Integration):

Kettle是一款成熟、稳定的开源ETL工具,它提供了丰富的数据处理组件和可视化界面,支持多种数据源和目标系统。Kettle具有强大的调度和监控功能,可以满足复杂的数据处理需求。

适用场景:

  • 数据源和目标系统种类繁多,需要丰富的数据处理组件;
  • 需要进行复杂的ETL作业调度和监控的场景;
  • 对于实时性要求不高,但需要保证数据质量和一致性的场景;
  • 需要与其他Pentaho组件(如报表、数据挖掘等)集成的场景。

支持的数据库类型:

  • 关系型数据库:如MySQL、PostgreSQL、Oracle、SQL Server等;
  • NoSQL数据库:如MongoDB、Cassandra等;
  • 列式存储数据库:如Infobright等;
  • 文件系统:如CSV文件、Excel文件等。

总结:

  • 如果需要实时数据处理和监控,以及灵活的数据处理能力,可以选择Apache NiFi;
  • 如果需要进行大规模数据迁移和同步,以及简化数据同步任务配置和管理,可以选择DataX(包括DataX-Web);
  • 如果需要进行复杂的ETL作业调度和监控,以及与其他Pentaho组件集成,可以选择Kettle。
作者 east
运维 7月 26,2023

linux提示 netstat: command not found要怎样安装

如果你在运行 netstat 命令时出现 “netstat: command not found” 的错误提示,这说明你的系统可能没有安装 netstat 工具。在一些最新的Linux发行版中,netstat 命令已经被弃用,取而代之的是其他工具,例如 ss (socket statistics)。

如果你使用的是较新的Linux发行版,可以尝试使用 ss 命令来代替 netstat,它提供了类似的功能。以下是使用 ss 命令来查看监听端口的方法:

bash复制代码sudo ss -tlnp | grep 9001

如果你仍然需要使用传统的 netstat 命令,你可以通过安装net-tools软件包来获得它。根据你的Linux发行版,可以使用以下命令来安装net-tools:

  • Ubuntu / Debian:
bash复制代码sudo apt-get update
sudo apt-get install net-tools
  • CentOS / RHEL:
bash复制代码sudo yum install net-tools
  • Fedora:
bash复制代码sudo dnf install net-tools

请注意,net-tools包含了很多网络工具,其中包括 netstat 命令。安装后,你应该能够正常使用 netstat 命令了。然而,如果你的Linux发行版已经不再支持 netstat 命令,建议使用 ss 命令来查看监听端口和网络连接的信息。

作者 east
运维 4月 24,2023

能使用socket5协议,ssh海外vps服务器的软件

由于xshell有漏洞,公司不给使用,所以寻找一款替代软件。

除了 Xshell 之外,还有一些其他软件可以连接到国外 VPS 并设置 Socks5 代理。以下是几个比较常用的软件:

  1. PuTTY:PuTTY 是一款常用的 SSH 和 Telnet 客户端软件,可以在 Windows 平台上运行,并且可以连接到远程 SSH 服务器。PuTTY 同时也支持设置 Socks5 代理。
  2. Bitvise SSH Client:Bitvise SSH Client 也是一种常用的 SSH 客户端,可以用于在 Windows 上连接到远程 SSH 服务器。Bitvise SSH Client 提供了 Socks5 和 HTTP 代理配置选项,并且支持在 Windows 上设置全局 Socks5 代理。
  3. WinSCP:WinSCP 是用于在 Windows 平台上使用 SSH 的免费开源工具,它还具有文件传输和文件管理的功能,支持 SCP, SFTP, FTPS, FTP 等协议。WinSCP 支持使用 Socks5 代理连接到 SFTP 服务器。

经过自己试验,觉得 Bitvise SSH Client 使用方便,用代理速度很快。之前在centos装ss5软件,访问起来龟速,用 Bitvise SSH Client 代理访问很快。

作者 east
运维 3月 28,2023

减少云费用的 12 个编程技巧

没有什么比观看应用程序病毒式传播更能让开发团队精神振奋的了。这是一种美妙的感觉——至少,在每月的云账单到来之前是这样。一些开发人员认为,管理计算成本是 devops 团队的责任。编码人员编写软件,将其扔到墙上,然后让其他人担心为此付费。没有东西会离事实很远。
聪明的开发人员知道他们的编码决策对公司的底线有很大的影响。庞大的代码速度较慢,需要更多的云资源才能运行。选择更好的算法和编写更紧凑的代码不仅仅关乎速度。编写良好的代码运行成本更低。
开发人员并不总能看到这种联系。在您自己的机器上编写代码很容易,RAM 和额外的磁盘空间是在购买机器时支付的。如果您有 2 TB 的磁盘空间,您可能不会注意到您的代码占用了多少空间。如果一个新的算法需要两倍的时间来运行,你的桌面可能甚至不会闪烁——而且,谁会注意到多了几毫秒?但几乎可以肯定的是,将计算量增加一倍将导致更大的云计算费用。
现代云计算擅长将资源利用率转化为订单项费用。优秀的云开发人员明白,他们有能力在编写代码时做出更明智的决策。它可以像运行分析器来识别慢点一样简单,或者避免不必要的数据存储以减少内存占用。
这里有 12 种方法可以简化您的代码,使其运行起来更精简、更快、成本更低。
大多数开发人员不会花太多时间优化他们的代码。如果它在他们的笔记本电脑上瞬间运行,他们不会注意到随着时间的推移它的运行速度是否慢了 20%、30% 甚至 300%。该程序仍在瞬间响应。但是当它们在服务器上出现数百万次时,这些差异就会加起来。仔细的分析可以标记缓慢的部分。重写它们可以减少应用程序需要的实例数。
使用的 RAM 量是为云实例定价的一个重要参数。在许多情况下,将 RAM 增加一倍也会使成本增加一倍。程序员可以通过避免将数据保存在内存中来减少他们的 RAM 占用空间。一些流算法,如 Java 的 Stream 类,设计用于处理大型数据文件,而无需将它们全部加载到内存中。 Apache DataSketches 项目在不占用所有内存的情况下,为复杂的大数据统计生成近似答案。
作为一个附带的好处,谨慎的 RAM 消耗也可以加速你的算法。有时,操作系统会开始使用虚拟内存将数据卸载到磁盘上。这可以防止崩溃,但会显着降低程序速度。
使用较低分辨率的图像和视频可以通过多种方式获得回报。首先,存储它们会更便宜。其次,任何数据泄露费用都会降低。第三,该应用程序对用户来说似乎更快捷。
所有的静态图像应该从一开始就最小化。唉,最小化的数量并不简单,因为在某些时候视觉质量下降到足以让用户察觉。找到正确的权衡是一些程序员不准备做出的设计决定。
某些使用上传图像的应用程序还可以在接收到图像后创建更小的缩略图和分辨率降低的版本。为此开发了像 ImageMagik 这样的工具包和像 WebP 这样的格式。
许多开发人员都是数字包装老鼠,他们存储信息以备不时之需。他们用无穷无尽的列填写表格,然后从不删除行。如果您拥有硬件并且磁盘驱动器有足够的空间,那么额外的数据不会花费任何费用。但是云对一切都收费。您将来真的需要所有这些价值吗?用户还想要那么多细节吗?转储一些旧数据将为您节省数据存储和泄露方面的资金。
在云实例上使用本地磁盘不仅危险,而且成本高昂。本地磁盘空间通常设计得足够快以保持操作系统高效运行。许多开发人员在具有 1 TB 或更多 TB 存储空间的个人计算机上创建他们的代码。云机器存储很少如此便宜或容易获得。云通常根据大小直接为存储计费,因此最好的方法是尽可能少地使用存储。不仅要考虑最小化应用程序创建的临时文件的方法,还要考虑最小化所需的系统库和软件包的方法。
日志文件非常适合在开发过程中识别问题和调试软件。但是一旦代码投入生产,您就不需要保留所有这些代码。所有额外的信息都会阻塞本地磁盘或对象存储。在设计日志系统时,将其配置为经常删除日志。许多日志包如 Log4j 可以设置为保留最少数量的日志并滚动删除它们。
无服务器架构计划仅在您的代码运行时计费,这可以在负载间歇性时为您节省大量资金。即使是拥有源源不断的用户流的应用程序,其停滞时间也比您预期的要长。
许多无服务器定价计划奖励仔细的编码和非常快的性能以及最小的 RAM 消耗。计费公式以毫秒为单位计算响应时间,并且只对处理器被占用的时间收费。作为开发人员,您会立即获得反馈,因为您可以直接跟踪响应时间并查看您的代码更改如何影响它。
无服务器方法非常适合较小或更多实验项目,而且费用通常低至每月几美分。如果您的应用程序只是偶尔运行某些功能,那么使用无服务器可能是有意义的。
随着数据变老,访问频率降低。您可以通过将应用程序设置为将旧数据迁移到更便宜的位置来预见这一点。一些云对所谓的“冷存储”收费要低得多,这可能需要几分钟甚至几小时才能交付数据。其他云,如 Wasabi 或 Backblaze,专门为 Amazon S3 对象提供归档存储,收费远低于主要云。在某些情况下,他们甚至不对数据泄露收费。一旦不再需要大量数据就卸载数据可能非常具有成本效益。
如果你看过一些框架生成的 HTML 标签,你就会知道布局会变得多么可笑。它只是一直向下嵌套到 DIV 标签中的 DIV 标签——这需要花钱来生成和交付。我认识的一位网页设计师吹嘘说,通过更明智地使用 CSS 创建更简单的布局,他们的带宽费用就减少了 30%。
像 React 这样的一些框架需要相当多的计算能力,尤其是当它们使用服务器端渲染等功能时。所有这些代码推高了每月的云账单。相反的理念是创建一个静态站点,该站点由缓存逐字提供的不变的 HTML、CSS 和 JavaScript 块构建。通过将缓存移至更靠近用户的位置,使用内容分发网络可以进一步加快分发速度。
各种框架都接受这种静态哲学。 Jekyll、Hugo、Gridsome 和 Pelican 只是将您的所有内容打包到一组紧凑、不变的文件中的几个工具。您仍然可以使用 AJAX 调用在页面中构建个性化设置,但网站的大部分内容在服务器上产生的负载很小。
随着浏览器变得越来越强大,一些框架使得将更多计算直接转移到客户端变得更加简单。好的 JavaScript 或 WebAssembly 代码可以将更多的负载推到用户的机器上,并从您的云服务器上卸下。一些开发人员正在将他们的云层减少到只不过是一个带有一些用于身份验证的业务逻辑的数据库。一位朋友使用静态 HTML 和服务器端版本的 PostgreSQL 运行一切,其中嵌入了输出 JSON 的过程。
浏览器还有更精细的选项用于在本地存储信息,例如 HTML Web 存储标准和 W3C 索引数据库 API。不再只是短字符串和 cookie。由于这些数据不通过互联网传输,因此可以更快地获得这些数据,并且让用户放心,因为他们知道自己的数据没有存储在一个集中的、可破解的数据库中。当数据可以免费存在于用户的机器上时,为什么还要为数据存储和泄露付费?
一些开发人员专门处理数据库。有些人喜欢用精心设计的前端创造美好的第一印象。现在云成本如此灵活,一些团队正式任命“成本工程师”来管理代码成本和效率。成本工程师的首要关注点是让应用程序代码运行得更干净、更快、更轻便,从而更便宜。将此任务作为某人工作的一部分传达了一个信息,即管理代码成本作为开发团队角色和责任的一部分的重要性。

作者 east
python, 运维 3月 25,2023

Centos安装Anaconda的理由和教程

选择理由

选择Anaconda3安装Python环境的主要理由如下:

  1. 方便安装第三方库 Anaconda3中已经预先安装了许多常用的第三方库,如NumPy、Pandas、Matplotlib等。这些库是数据科学和机器学习等领域中必不可少的工具,使用Anaconda3可以避免手动安装这些库所带来的麻烦。
  2. 管理Python虚拟环境 Anaconda3提供了一个名为conda的包管理工具,可以方便地创建、管理和切换Python虚拟环境。这对于同时开发多个项目或在同一项目中使用不同版本的Python非常有用。
  3. 跨平台支持 Anaconda3可以在Linux、Windows和MacOS等多个平台上运行,这使得开发者可以在不同的平台上使用相同的Python环境进行开发和测试。
  4. 简化Python安装过程 Anaconda3提供了一个一键安装的方式,用户无需手动配置Python环境,也无需担心依赖库的问题。这使得Python的安装变得非常简单和快速。 综上所述,选择Anaconda3作为Python环境的主要原因是其提供了方便的第三方库安装、Python虚拟环境管理、跨平台支持和简化的安装过程。

安装教程

1、下载Anaconda3 在Anaconda官网中下载适合CentOS版本的Anaconda3,下载完成后将文件上传到CentOS服务器上。国内的可以选择清华大学的镜像,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/。例如在centos终端输入下载地址

 wget  --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh

2、安装Anaconda3 打开终端,进入Anaconda3所在目录,运行以下命令进行安装:

chmod +x Anaconda3-xxx-Linux-x86_64.sh
./Anaconda3-xxx-Linux-x86_64.sh

其中,xxx为版本号,需要根据实际情况进行替换。安装过程中需要按照提示进行操作,如选择安装路径等。

3. 配置环境变量 在终端输入以下命令,打开~/.bashrc文件:

vi ~/.bashrc

在文件末尾添加以下内容:

export PATH="/root/anaconda3/bin:$PATH"

其中,/root/anaconda3为Anaconda3的安装路径,需要根据实际情况进行替换。 保存并退出~/.bashrc文件,然后运行以下命令使环境变量生效:

source ~/.bashrc
  1. 验证安装 在终端输入以下命令,查看Anaconda3的版本信息:
conda -V

如果显示Anaconda3的版本号,则表示安装成功。

使用教程

在CentOS上使用Anaconda3运行代码的步骤如下:

  1. 打开终端,输入以下命令激活Anaconda3环境:
source /root/anaconda3/bin/activate

其中,/root/anaconda3为Anaconda3的安装路径,需要根据实际情况进行替换。 2. 进入到您的代码所在的目录。 3. 运行您的Python代码,例如:

python example.py

其中,example.py为您的Python代码文件名。 4. 运行完成后,可以输入以下命令退出Anaconda3环境:

conda deactivate

另外,如果您使用Jupyter Notebook来运行Python代码的话,可以在终端中输入以下命令启动Jupyter Notebook:

jupyter notebook

然后在浏览器中打开http://localhost:8888/,就可以使用Jupyter Notebook来编辑和运行Python代码了。

作者 east
运维 1月 9,2023

sqlserver 自定义函数或存储过程转 postgresql

nvarchar要修改为varchar

postgresql的body需要$$ …. $$包含起来

postgresql 只需要一对BEGIN END,条件和while循环不需要BEGIN和END

变量需要去掉@, @b -> b;

没有isnull 用 coalesce

字符串拼接用 ||

字符串类型和int类型不会自动转换(用作条件时)

没有charindex,用strpos (原字符串,需要查找的)

没有getdate() 用 LOCALTIMESTAMP(0) 代替 参数指秒以下取几位

SET @len=@len+1要修改为 len = len + 1

break修改为exit

CHAR(10) 类型要改为CHR(10)

postgresql的条件和循环 不需要BEGIN和END 嵌套, 条件和循环的语法也和sqlserver有所不同:

 
1、条件
IF ... THEN ... END IF
IF ... THEN ... ELSE ... END IF
IF ... THEN ... ELSIF ... THEN ... ELSE ... END IF

CASE ... WHEN ... THEN ... ELSE ... END CASE
CASE WHEN ... THEN ... ELSE ... END CASE
 
2、循环
LOOP
[<>]
LOOP
...
IF ... THEN
CONTINUE [label] [WHEN boolean-expression];
END IF;
EXIT [label] [WHEN boolean-expression];
END LOOP [label];


WHILE
[<>]
WHILE boolean-expression LOOP
...
END LOOP [label];


FOR
[<>]
FOR name IN [REVERSE] expression .. expression [BY expression] LOOP
...
END LOOP [label];
作者 east
运维 1月 7,2023

windows安装使用PostgreSQL

最近一个项目要用到pgsql的自定义函数,在windows上安装一个。

下载的是12的版本,
https://get.enterprisedb.com/postgresql/postgresql-12.13-1-windows-x64.exe

刚开始安装后出现问题,看到是杀毒软件影响到了。关闭杀毒软件,重新卸载安装。

为了使用方便,把pg库的bin目录添加到环境变量。

由于是开发,为了使用方便,

修改pg库data目录的pg_hba.conf,把md5修改为trust

host all all 127.0.0.1/32 trust

host all all ::1/128 trust

host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

启动服务器:

在命令行启动

pg_ctl.exe reload -N “postgres_12” -D “D:\Program Files\PostgreSQL\12\data”

psql -h 127.0.0.1 -U postgres

作者 east
大数据开发, 运维 9月 14,2022

解决CDH监控日志磁盘空间不足的问题

cdh的日志默认在/var/lib,由于根分区默认空间大小有限,数据盘是挂载在/data分区。在运行一段时间后,根分区磁盘空间严重不足。

停止服务,想改那个停那个,然后将老的数据文件mv到新的目录,我这里停了host monitor 和 service monitor

mkdir /data/varlib

mv /var/lib/cloudera-host-monitor  /data/varlib/

mv /var/lib/cloudera-service-monitor /data/varlib/

点击配置,更改Host Monitor和Service Monitor的目录

重新启动服务就可以看到没报磁盘空间不足的问题了。

作者 east
运维 7月 25,2022

亲测可以,centos7 安装和配置odbc连接mysql

从软件库安装稳定版本

yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel

yum install mysql-connector-odbc

要在rpm 语句后面加上 –nodeps –force,安装时忽略依赖关系,否则会提示error: Failed dependencies:mysql-community-client-plugins

升级驱动到8.0

rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm –nodeps –force

vim /etc/odbcinst.ini  ,配置修改如下

[PostgreSQL]

Description=ODBC for PostgreSQL

Driver=/usr/lib/psqlodbcw.so

Setup=/usr/lib/libodbcpsqlS.so

Driver64=/usr/lib64/psqlodbcw.so

Setup64=/usr/lib64/libodbcpsqlS.so

FileUsage=1

[MySQL]

Description=ODBC for MySQL

Driver=/usr/lib/libmyodbc5.so

Setup=/usr/lib/libodbcmyS.so

Driver64=/usr/lib64/libmyodbc5.so

Setup64=/usr/lib64/libodbcmyS.so

FileUsage=1

[MySQLw]

Description=ODBC for MySQL w

Driver=/usr/lib/libmyodbc5w.so

Setup=/usr/lib/libodbcmyS.so

Driver64=/usr/lib64/libmyodbc5w.so

Setup64=/usr/lib64/libodbcmyS.so

FileUsage=1

[MySQL ODBC 8.0 Unicode Driver]

Driver=/usr/lib64/libmyodbc8w.so

UsageCount=2

[MySQL ODBC 8.0 ANSI Driver]

Driver=/usr/lib64/libmyodbc8a.so

UsageCount=2

查看已经配置的驱动

odbcinst -q -d

[PostgreSQL]

[MySQL]

[MySQLw]

[MySQL ODBC 8.0 Unicode Driver]

[MySQL ODBC 8.0 ANSI Driver]

vim /etc/odbc.ini,配置修改如下:

[my_db]

Driver = MySQL ODBC 8.0 Unicode Driver

SERVER = 10.0.80.82

Description           = MySQLw connection to ‘my_db’ database

PORT = 3306

DATABASE = my_db

OPTION = 67108864

USER = root

PASSWORD = 123456

CHARSET         = UTF8

  • Driver采用的驱动,与odbcinst.ini的名字要对应上
  • SERVER数据库服务器的IP地址
  • PORT数据库的端口
  • DATABASE数据库的名称
  • OPTION连接数如果是FreeSWITCH的连接需要配置这个
  • USER数据库用户名
  • PASSWORD数据库密码

验证是否成功

现在利用isql功能验证能连到你的数据库上,当你输入指令后会看到结果为1的返回值就表明连接成功了

echo “select 1” | isql -v my_db;
+—————————————+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+—————————————+
+———————+
| 1 |
+———————+
| 1 |
+———————+

作者 east
Docker 3月 18,2022

解决Docker搭建kibana访问出现[Kibana server is not ready yet]的问题

在采用单机版的docker搭建elk,照着网上的教程如下:

1、下载es7.3.0镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.0

2、创建一个网络,方便elk使用
docker network create esnet

3、启动es的docker镜像
docker run --name es  -p 9200:9200 -p 9300:9300  --network esnet -e "discovery.type=single-node" bdaab402b220


4、下载docker安装es对应版本的kibana
docker run --name kibana --net esnet -e ELASTICSEARCH_URL=http://127.0.0.1:9200 -p 5601:5601 -d 8bcee4a4f79d

在这一步,满心欢喜想访问kibana后台。

http://localhost:5601

却发现提示
Kibana server is not ready yet

原因是因为 ELASTICSEARCH_URL 配置的应该是容器的 ip,而不是本地ip。

1、首先查看ElasticSearch的容器内部的ip

docker inspect es (es是 ElasticSearch 在容器内部的名称)

Docker容器中启动服务和直接在Linux环境下安装服务,会有ip上的区别,不在是服务器的物理ip, 而是容器对外暴露对的ip, 通过docker inspect elasticsearch查看ES容器暴露出来的ip

2、 然后进入 Kibana 容器内部,修改 kibana.yml 中的ip

$ docker exec -it kibana容器id /bin/bash
$ cd config
$ vi kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true

3需要将上面的 "http://elasticsearch:9200" 中的 elasticsearch 替换成上一步的es容器内部ip就可以了。

3、修改完成之后退出容器,重新启动即可

docker stop kibana
docker start kibana

重新访问http://localhost:5601,发现出来后台界面了。

作者 east
Docker 3月 18,2022

Docker网络名词解释和例子

最近在学习docker,研究如何用docker安装elk。看到有一个教程是这样说的:

docker创建一个网络,方便elk使用
docker network create esnet

那么网络是什么?

Docker在容器内部运行应用,这些应用之间的交互依赖于大量不同的网络。Docker对于容器之间、容器与外部网络和VLAN之间的连接均有相应的解决方案。在顶层设计中,Docker网络架构由3个主要部分构成:CNM、Libnetwork和驱动。

Docker网络架构的设计规范是CNM。网络就是需要交互的终端的集合,并且终端之间相互独立。Docker环境中最小的调度单位就是容器,沙盒被放置在容器内部,为容器提供网络连接。

容器A只有一个接口(终端)并连接到了网络A。容器B有两个接口(终端)并且分别接入了网络A和网络B。容器A与B之间是可以相互通信的,因为都接入了网络A。但是,如果没有三层路由器的支持,容器B的两个终端之间是不能进行通信的。

每个Docker主机都有一个默认的单机桥接网络。在Linux上网络名称为bridge,在Windows上叫作nat。除非读者通过命令行创建容器时指定参数–network,否则默认情况下,新创建的容器都会连接到该网络。

查看docker网络的命令:

docker network ls

作者 east

上一 1 2 3 下一个

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。回复”chatgpt”获取免注册可用chatgpt。回复“大数据”获取多本大数据电子书

标签

AIGC AI创作 bert chatgpt github GPT-3 gpt3 GTP-3 hive mysql O2O tensorflow UI控件 不含后台 交流 共享经济 出行 图像 地图定位 外卖 多媒体 娱乐 小程序 布局 带后台完整项目 开源项目 搜索 支付 效率 教育 日历 机器学习 深度学习 物流 用户系统 电商 画图 画布(canvas) 社交 签到 联网 读书 资讯 阅读 预订

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

  • 详解Python当中的pip常用命令
  • AUTOSAR如何在多个供应商交付的配置中避免ARXML不兼容?
  • C++thread pool(线程池)设计应关注哪些扩展性问题?
  • 各类MCAL(Microcontroller Abstraction Layer)如何与AUTOSAR工具链解耦?
  • 如何设计AUTOSAR中的“域控制器”以支持未来扩展?
  • C++ 中避免悬挂引用的企业策略有哪些?
  • 嵌入式电机:如何在低速和高负载状态下保持FOC(Field-Oriented Control)算法的电流控制稳定?
  • C++如何在插件式架构中使用反射实现模块隔离?
  • C++如何追踪内存泄漏(valgrind/ASan等)并定位到业务代码?
  • C++大型系统中如何组织头文件和依赖树?

文章归档

  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年1月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月

分类目录

  • Android (73)
  • bug清单 (79)
  • C++ (34)
  • Fuchsia (15)
  • php (4)
  • python (43)
  • sklearn (1)
  • 云计算 (20)
  • 人工智能 (61)
    • chatgpt (21)
      • 提示词 (6)
    • Keras (1)
    • Tensorflow (3)
    • 大模型 (1)
    • 智能体 (4)
    • 深度学习 (14)
  • 储能 (44)
  • 前端 (4)
  • 大数据开发 (488)
    • CDH (6)
    • datax (4)
    • doris (30)
    • Elasticsearch (15)
    • Flink (78)
    • flume (7)
    • Hadoop (19)
    • Hbase (23)
    • Hive (40)
    • Impala (2)
    • Java (71)
    • Kafka (10)
    • neo4j (5)
    • shardingsphere (6)
    • solr (5)
    • Spark (99)
    • spring (11)
    • 数据仓库 (9)
    • 数据挖掘 (7)
    • 海豚调度器 (10)
    • 运维 (34)
      • Docker (3)
  • 小游戏代码 (1)
  • 小程序代码 (139)
    • O2O (16)
    • UI控件 (5)
    • 互联网类 (23)
    • 企业类 (6)
    • 地图定位 (9)
    • 多媒体 (6)
    • 工具类 (25)
    • 电商类 (22)
    • 社交 (7)
    • 行业软件 (7)
    • 资讯读书 (11)
  • 嵌入式 (70)
    • autosar (63)
    • RTOS (1)
    • 总线 (1)
  • 开发博客 (16)
    • Harmony (9)
  • 技术架构 (6)
  • 数据库 (32)
    • mongodb (1)
    • mysql (13)
    • pgsql (2)
    • redis (1)
    • tdengine (4)
  • 未分类 (6)
  • 程序员网赚 (20)
    • 广告联盟 (3)
    • 私域流量 (5)
    • 自媒体 (5)
  • 量化投资 (4)
  • 面试 (14)

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

All Rights Reserved by Gitweixin.本站收集网友上传代码, 如有侵犯版权,请发邮件联系yiyuyos@gmail.com删除.