微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka

科技   2024-11-06 23:57   广东  
在 Windows 上安装 MySQL
  1. 下载 MySQL 安装包

  • 访问 MySQL 官方网站。
  • 选择适合 Windows 的安装程序,下载并保存。
  • 运行安装程序

    • 双击下载的安装文件,开始安装。
    • 在安装向导中选择“开发者默认”或“完整安装”。
  • 配置 MySQL

    • 在配置过程中,选择配置类型(如开发机、服务器等)。
    • 设置 MySQL 的根用户密码,并选择是否创建其他用户。
  • 设置服务

    • 选择 MySQL 是否作为 Windows 服务运行(一般选择“自动”)。
  • 完成安装

    • 安装完成后,可以选择运行 MySQL 服务器并打开 MySQL Shell。
  • 验证安装

    • 打开命令提示符,输入 mysql -u root -p 并输入密码,检查是否能成功登录。

    把新建的mysql变量添加到Path路径变量中


    在mysql目录下创建一个ini或cnf配置文件

    [mysqld]
    character-set-server=utf8mb4
    bind-address=0.0.0.0
    port=3306
    default-storage-engine=INNODB
    [mysql]
    default-character-set=utf8mb4
    [client]
    default-character-set=utf8mb4

    [mysqld]
    ; 设置3306端口
    port=3306
    ; 设置mysql的安装目录
    basedir=C:\\gl\\SQL\\mysql-8.0.18-winx64
    ; 设置mysql数据库的数据的存放目录
    datadir=C:\\gl\\SQL\\mysql-data
    ; 允许最大连接数
    max_connections=200
    ; 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    ; 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    ; 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    ; 默认使用“mysql_native_password”插件认证
    default_authentication_plugin=mysql_native_password
    [mysql]
    ; 设置mysql客户端默认字符集
    default-character-set=utf8
    [client]
    ; 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8

    redis一键安装

    https://github.com/MicrosoftArchive/redis/releases

    mongodb

    https://www.mongodb.com/try/download/community


    Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

    1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
    2. 64 bit JDK 1.8+;
    3. Maven 3.2.x+;

    Nacos的运行需要以至少2C 4g 60g*3的机器配置下运行。

    下载编译后压缩包方式

    您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。

      unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
    cd nacos/bin

    Windows

    启动命令(standalone代表着单机模式运行,非集群模式):

    startup.cmd -m standalone

    服务注册&发现和配置管理

    服务注册

    curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

    服务发现

    curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'

    发布配置

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

    获取配置

    curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

    Windows

    shutdown.cmd

    或者双击shutdown.cmd运行文件。

    Windows

    1. 下载并安装 JDK:

    • 从 Oracle 官网 或 AdoptOpenJDK 下载最新的 JDK(JDK 8 或更高版本)。
    • 安装时记下安装路径(例如,C:\Program Files\Java\jdk-1.x.x)。
  • 设置 JAVA_HOME 变量:

    • 变量名: JAVA_HOME
    • 变量值: JDK 的安装路径(例如,C:\Program Files\Java\jdk-1.x.x)。
    • 右键点击桌面或文件资源管理器中的 "此电脑" 或 "计算机"。

    • 点击 "属性"。

    • 点击 "高级系统设置"。

    • 点击 "环境变量"。

    • 在 "系统变量" 部分,点击 "新建",添加:

    • 点击 "确定"。

  • 更新 PATH 变量:

    • 在 "系统变量" 部分找到 Path 变量,选中它后点击 "编辑"。
    • 点击 "新建",添加:%JAVA_HOME%\bin
    • 点击 "确定" 保存更改。
  • 验证:

    • 打开命令提示符,运行:echo %JAVA_HOME%java -version 来验证安装。

    Cassandra 安装

    https://cassandra.apache.org/_/download.html

    https://dlcdn.apache.org/cassandra/5.0.2/apache-cassandra-5.0.2-bin.tar.gz

    配置环境变量,新建一个CASSANDRA_HOME变量

    %CASSANDRA_HOME%\bin

    输入:echo %java_home%和echo %cassandra_home%

    在D:\InstallFile\cassandra-3.11.3目录中新建一个data目录

    找到cassandra.yaml配置文件

    对该文件编辑,然后找到data_file_directories

    在D:\InstallFile\cassandra-3.11.3目录中新建一个commitlog目录

    在cassandra.yaml配置文件中找到commitlog_directory

    在D:\InstallFile\cassandra-3.11.3目录中新建一个saved_caches目录

    在cassandra.yaml配置文件中找到saved_caches_directory

    然后找到D:\InstallFile\cassandra-3.11.3\bin目录中的cassandra.bat文件

    打开DOS窗口,并进入到D:\InstallFile\cassandra-3.11.3\bin目录中

    通过用户登录,cassandra的默认用户名和密码为:cassandra

    查询keyspaces,输入命令:describe keyspaces;

    CREATE KEYSPACE IF NOT EXISTS MyCasDB WITH REPLICATION = {'class': 'SimpleStrategy','replication_factor':1};命令创建一个数据库mycasdb

    在mycasdb数据库中创建一个表,首先使用use mycasdb;表示要使用此数据库

    向user表中插入输入,使用:

    INSERT INTO user (id,user_name) VALUES (1,'xx');
    INSERT INTO user (id,user_name) VALUES (2,'xxx');
    INSERT INTO user (id,user_name) VALUES (3,'xxxx');
    INSERT INTO user (id,user_name) VALUES (4,'xxxxx');
                        

    如果需要cqlsh.bat来进行连接,则需要安装python

    $ python shutdown_by_port.py
    欢迎使用端口查找与进程关闭工具
    请输入要查找的端口号 (退出请输入 0): 8080
    找到占用端口 8080 的进程 ID: 12345
    你确定要优雅地关闭进程 12345 吗?(y/n): y
    进程 12345 已成功优雅关闭。

    请输入要查找的端口号 (退出请输入 0): 0
    程序结束。

    cassandra数据库

    去官网下载压缩包,版本最好不要用最新的,也不要用太老的版本

    分别存放数据库的数据存储,日志存储和缓存

    默认文件夹位置

    1. Commitlog 文件夹

    • 默认路径:<CASSANDRA_HOME>/commitlog/
    • 作用:Commitlog 用于记录所有写入操作,以保证数据的一致性和可靠性。在数据写入时,所有的操作会先写入 commitlog 中,确保即使发生系统崩溃,数据也不会丢失。Commitlog 存储的是有序的日志数据。
  • Data 文件夹

    • 默认路径:<CASSANDRA_HOME>/data/
    • 作用:Data 文件夹用于存储 Cassandra 中的 SSTable 文件,SSTable 是 Cassandra 存储数据的文件格式。每个表的数据会存储为一组 SSTable 文件,这些文件是持久化存储的核心内容。data 文件夹中的子文件夹按照每个 keyspace 和表进行组织。
  • Saved Caches 文件夹

    • 默认路径:<CASSANDRA_HOME>/saved_caches/
    • 作用:Saved caches 文件夹用于存储一些缓存数据,主要包括一些压缩文件、Bloom filter 缓存、索引缓存等。保存这些缓存文件可以加速查询性能,减少数据库查询时的磁盘 I/O 操作。

    配置文件中定义位置

    这些默认文件夹的位置可以在 cassandra.yaml 文件中进行自定义设置。以下是对应的配置项:

    • Commitlog 目录

      commitlog_directory: /var/lib/cassandra/commitlog

      你可以通过修改该配置项来设置 commitlog 文件夹的位置。

    • Data 目录

      data_file_directories:
      - /var/lib/cassandra/data

      你可以设置数据存储的位置,默认是 /var/lib/cassandra/data,该位置也可以指定为多个目录。

    • Saved Caches 目录

      saved_caches_directory: /var/lib/cassandra/saved_caches

      修改此配置项可以更改 saved caches 文件夹的路径。

    假设你的 Cassandra 安装目录是 /opt/cassandra,则默认情况下:

    • Commitlog 文件夹会位于 /opt/cassandra/commitlog/
    • Data 文件夹会位于 /opt/cassandra/data/
    • Saved caches 文件夹会位于 /opt/cassandra/saved_caches/

    错误信息指示了 Cassandra 在启动过程中发生了一个致命错误(EXCEPTION_ACCESS_VIOLATION),具体是在使用 sigar-amd64-winnt.dll 库时崩溃了。这通常是由于与系统的本地代码库(如 SIGAR 库)或环境配置相关的问题。以下是几种可能的解决方法:

    1. 修复 SIGAR 库问题

    Cassandra 使用 SIGAR 库来进行系统监控和信息收集(如 CPU、内存、线程等)。EXCEPTION_ACCESS_VIOLATION 错误通常与该库的使用或兼容性有关。

    解决方法:

    • 尝试更新或替换 Cassandra 中的 SIGAR 库文件。你可以尝试重新下载 Cassandra,确保文件没有损坏,或直接替换掉 sigar-amd64-winnt.dll 文件。
    • 确保你使用的 SIGAR 库与你的操作系统版本兼容。如果你正在使用 64 位的 Windows,确保 sigar-amd64-winnt.dll 文件是适用于你的系统的。

    2. 禁用 SIGAR 库

    如果你不需要 Cassandra 的系统监控功能,可以尝试禁用 SIGAR 库。你可以通过修改 cassandra-env.shcassandra-env.bat 文件来禁用 SIGAR。

    解决方法:

    • 打开 apache-cassandra-3.11.4\conf\cassandra-env.sh(Linux/Mac)或 apache-cassandra-3.11.4\conf\cassandra-env.bat(Windows)。

    • 注释掉或删除与 SIGAR 相关的配置,特别是以下行:

      -Djava.library.path=<path-to-sigar-bin>
    • 然后重新启动 Cassandra。

    内存配置

    另一个警告提示你的 JVM 没有配置在发生 OutOfMemoryError 时自动停止,这可能会导致数据损坏。虽然这个问题与 SIGAR 无关,但它是一个需要关注的警告。

    解决方法:

    • cassandra-env.shcassandra-env.bat 中,增加以下 JVM 参数:

      -XX:+ExitOnOutOfMemoryError

      这样,当发生内存溢出错误时,JVM 将自动停止。

    检查 JMX 配置

    另一个警告是 JMX(Java Management Extensions)未启用远程连接。这通常不会导致启动失败,但如果你打算远程管理 Cassandra,建议启用 JMX。

    解决方法:

    • cassandra-env.shcassandra-env.bat 文件中,查找并启用 JMX 配置,类似于:

      -Dcassandra.jmx.remote.port=7199
      -Dcassandra.jmx.remote.authenticate=false
      -Dcassandra.jmx.remote.ssl=false

    查看 Java 错误报告

    错误信息中提到生成了一个错误报告文件(hs_err_pid24616.log),这个文件包含了更详细的崩溃日志。你可以打开该文件来获取更多线索,特别是查看崩溃发生的堆栈信息。

    #集群名称

    cluster_name: 'cassandra_Cluster_name'   

     

    hints_directory: /data1/cassandra/hints

    #数据目录

    data_file_directories:

    - /data /cassandra/data

    commitlog_directory: /data /cassandra/commitlog

    cdc_raw_directory: /data /cassandra/cdc_raw

    saved_caches_directory: /data /cassandra/saved_caches

    seed_provider:

        - class_name: org.apache.cassandra.locator.SimpleSeedProvider

          parameters:

              - seeds: "ip1,ip2,ip3"

    #监听地址

    listen_address: ip
    data_file_directories:
      - D:/cassandra/data
    commitlog_directory: D:/cassandra/commitlog
    cdc_raw_directory: D:/cassandra/cdc_raw
    saved_caches_directory: D:/cassandra/saved_caches

    listen_address 是 Cassandra 用来与其他节点通信的网络接口地址。在本地环境中,可以设置为 127.0.0.1 或者你机器的局域网 IP 地址。

    补充设置:RPC 地址

    除了 listen_address,还可以设置 rpc_address,它决定了客户端(如应用程序)如何连接到 Cassandra:

    rpc_address: 0.0.0.0

    这将允许 Cassandra 接受来自任何 IP 地址的客户端请求。在生产环境中,可能需要设置成特定的 IP 地址。

    确保:

    • 你的 Java 环境正确设置,并且 Java 版本符合 Cassandra 的要求。
    • 本地端口(如 9042)未被其他程序占用。
    • 数据目录、日志目录等路径正确且有权限读写。

    https://cassandra.apache.org/_/download.htmlhttps://www.apache.org/dyn/closer.lua/cassandra/3.11.11/apache-cassandra-3.11.11-bin.tar.gz

    D:\apache-cassandra-3.11.11-bin\apache-cassandra-3.11.11\bin

    修改cassandra.[yaml]配置
    data_file_directories:
    - D:\apache-cassandra-3.11.11-bin\apache-cassandra-3.11.11\data
    commitlog_directory: D:\apache-cassandra-3.11.11-bin\apache-cassandra-3.11.11\commitlog

    saved_caches_directory: D:\apache-cassandra-3.11.11-bin\apache-cassandra-3.11.11\saved_caches

    http://www.apache.org/dyn/closer.lua/cassandra/3.11.1/apache-cassandra-3.11.1-bin.tar.gz

    配置 Cassandra

    在 Cassandra 4.0+ 中,配置文件主要位于 conf 目录下。以下是常见的配置文件:

    • cassandra.yaml:Cassandra 的主要配置文件,包含集群配置、存储路径等。
    • cassandra-env.sh:环境变量配置文件(在 Windows 上没有该文件,而是 cassandra-env.ps1)。
    • logback.xml:Cassandra 的日志配置文件。

    Cassandra 默认使用以下端口:

    • 7000:用于节点间的通信。
    • 7199:JMX 监控端口。
    • 9042:CQL (Cassandra Query Language) 端口,用于访问 Cassandra 数据库。
    • 9160:Thrift 端口(虽然 Cassandra 4.x 不再默认使用 Thrift)。

    [JMX is not enabled to receive remote connection]

    elasticsearch 安装 - kibana

    进入ElasticSearch 官网,根据操作系统点击下载ElasticSearch(如果操作系统非主流,请查阅ElasticSearch的操作系统支持矩阵)

    查看节点信息。单节点默认监听9200端口,所以直接在浏览器中输入'''localhost:9200'''即可查看节点信息 开发者可以自定义设置集群名字(默认elasticsearch)和节点名字

    自定义设置节点和集群名字。进入config文件夹,打开 elasticsearch.yml文件

    在bin目录下,进入cmd,直接执行./elasticsearch

    # 集群名字
    culster.name: javaboy-es
    # 节点名字
    node.name: master

    Kibana安装

    Kibana 是一个 Elastic 公司推出的一个针对 Elasticsearch 的分析以及数据可视化平台,可以搜索、查看存放在 Elasticsearch 中的数据。 安装步骤如下:

    • 解压文件
    • 配置 es 的地址信息(如果 Elasticsearch 是默认设置,则可以不用配置,其配置文件在 kibana 的 config/kibana.yml
    • kibana 的bin目录下 执行命令 ./kibana 文件启动
    在ElasticSearch中有三个配置文件,分别为(默认位置 config目录下)elasticsearch.yml、jvm.options和log4j2.properties。
    • elasticsearch.yml:配置ElasticSearch
    • jvm.options:配置ElasticSearch依赖的JVM信息
    • log4j2.properties:配置ElasticSearch日志记录中的各个属性

    配置文件格式信息

    ElasticSearch的配置文件为yaml。
    •   path:
      data:/var/lib/es
      logs:/var/log/es
    • 单条方式

      	path.data:/var/lib/es
      path.logs:/var/log/es
    • 引用环境变量方式

      node.name:${HOSTNAME}
      network.host:${ES_NETWORK_HOST}

    一般情况下,Elasticsearch中很少修改JVM选项,最有可能更改配置堆的大小; 默认情况下,ElasticSearch配置JVM使用最小堆空间和最大堆空间大小均为1G

    在ElasticSearch中,我们通过配置jvm.options文件中的xms(最小堆大小)和xmx(最大堆大小)两个参数来指定整个堆大小,一般情况下,两 者参数设置应为相等。

    jvm.options配置文件说明

    • 以 “ # ”开头的行被视为注释并忽略

    • 以“**-”开头的行被视为独立于本机JVM版本号的JVM**选项

      -Xmx2g
    • 以“数字: ”开头的行被视为一个JVM选项,该选项仅在本机JVM的版本号相互匹配时适用

      8:-Xmx2g
    • 以“数字-”开头的行被视为一个JVM选项,该选项仅在本机JVM的版本号大于或等于该数字版本号时才适用

      8-:-Xmx2g
    • 以“数字-数字”开头的行被视为一个JVM选项,该选项仅在本机JVM版本号在这两个数字版本号范围内时适用

      8-9:-Xmx2g
    • 空白行忽略即可,其他都被拒绝解析

    ElasticSearch中相关的三个公开属性信息:

    • $sys:es.logs.base_path:日志文件目录地址
    • $sys:es.logs.cluster_name:集群名称(默认配置中,用作日志文件名的前缀)
    • $sys:es.logs.node_name:节点名称(如果显式地设置了节点名称)
    # 配置RollingFile的appender属性
    appender.rolling.type = RollingFile
    appender.rolling.name = rolling
    # 日志信息将输出到 ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_server.json中
    appender.rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_server.json
    # 使用json文件格式输出
    appender.rolling.layout.type = ESJsonLayout
    # type_name是填充ESJsonLayout的类型字段的标志,该字段可以让我们在解析不同类型的日志时更加简单
    appender.rolling.layout.type_name = server
    # 日志将会滚动输出到${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}-
    %i.json.gz中,日志文件会被压缩,且呈i递增状态
    appender.rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-
    %d{yyyy-MM-dd}-%i.json.gz
    appender.rolling.policies.type = Policies
    # 使用基于时间戳的新增日志滚动策略
    appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
    # 按天滚动新增日志
    appender.rolling.policies.time.interval = 1
    # 在日期时间上对齐标准,而不是按每24小时来新增一次滚动日志文件
    appender.rolling.policies.time.modulate = true
    # 按日志文件大小的策略来滚动新增日志文件
    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
    # 每生成128MB的日志文件,就滚动新增一次日志
    appender.rolling.policies.size.size = 128MB
    appender.rolling.strategy.type = DefaultRolloverStrategy
    appender.rolling.strategy.fileIndex = nomax
    # 每次新增滚动日志时执行删除日志文件动作
    appender.rolling.strategy.action.type = Delete
    appender.rolling.strategy.action.basepath = ${sys:es.logs.base_path}
    # 仅当文件匹配时才删除日志文件
    appender.rolling.strategy.action.condition.type = IfFileName
    # 该配置仅用于删除日志文件
    appender.rolling.strategy.action.condition.glob = ${sys:es.logs.cluster_name}-*
    # 只有当日志目录下积累了较多日志时才删除
    appender.rolling.strategy.action.condition.nested_condition.type = IfAccumulatedFileSize
    # 压缩日志的条件是日志文件大小达到2G
    appender.rolling.strategy.action.condition.nested_condition.exceeds = 2GB
    elasticsearch-service.bat后面还可以执行这些命令
    install: 安装Elasticsearch服务
    remove: 删除已安装的Elasticsearch服务(如果启动则停止服务)
    start: 启动Elasticsearch服务(如果已安装)
    stop: 停止服务(如果启动)
    manager:启动GUI来管理已安装的服务

    ElasticSearch安装为Windows服务

    1.elasticsearch的bin目录下有一个elasticsearch-service.bat

    2.cmd 进入bin目录下执行: elasticsearch-service.bat install

    为了修改 elastic 用户的密码,你可以使用 Elasticsearch 自带的 elasticsearch-setup-passwords 工具,执行以下命令来修改密码:

    ./bin/elasticsearch-setup-passwords interactive

    如果你不需要 HTTPS,可以在配置中禁用:

    xpack.security.http.ssl.enabled: false

    要将 Elasticsearch 配置从 HTTPS 访问切换为 HTTP 访问,请按以下步骤修改配置文件 elasticsearch.yml

    1. 修改 elasticsearch.yml 配置文件

    找到以下 HTTPS 配置并禁用或删除这些设置。

    配置文件调整

    elasticsearch.yml 中,将以下 HTTPS 配置禁用:

    # Enable security features
    xpack.security.enabled: false

    # Disable HTTPS for HTTP API client connections
    xpack.security.http.ssl.enabled: false

    # Disable encryption and mutual authentication between cluster nodes
    xpack.security.transport.ssl.enabled: false

    详细说明:

    • **xpack.security.enabled: false**:禁用安全功能,不再要求身份验证(如用户名和密码)。
    • **xpack.security.http.ssl.enabled: false**:禁用 HTTP API 的 SSL(HTTPS),使 Elasticsearch 通过 HTTP 访问。
    • **xpack.security.transport.ssl.enabled: false**:禁用节点间通信的加密,所有节点将通过非加密的 HTTP 进行通信。

    Kibana安装

    Kibana 是一个 Elastic 公司推出的一个针对 Elasticsearch 的分析以及数据可视化平台,可以搜索、查看存放在 Elasticsearch 中的数据。 安装步骤如下:

    • 下载 Kibana: Kibana 网站
    • 解压文件
    • 配置 es 的地址信息(如果 Elasticsearch 是默认设置,则可以不用配置,其配置文件在 kibana 的 config/kibana.yml
    • kibana 的bin目录下 执行命令 ./kibana 文件启动
    • 浏览器 localhost:5601

    等待加载完毕,

    Kibana 是一个 web 应用,可以通过5601端口访问。只需要在浏览器中指定 Kibana 运行的机器,然后指定端口号即可。例如, localhost:5601 或者 http://127.0.0.1:5601 。

    检查 Kibana 状态

    您可以通过 localhost:5601/status 来访问 Kibana 的服务器状态页,状态页展示了服务器资源使用情况和已安装插件列表。


    加群联系作者vx:xiaoda0423

    仓库地址:https://github.com/webVueBlog/JavaGuideInterview


    算法猫叔
    程序员:进一寸有一寸的欢喜
     最新文章