2023.5.19Redis和MongoDB安装

news2025/1/9 19:31:38

四种数据库设置

hbase(main):001:0> create 'student','Sname','Ssex','Sage','Sdept','course'
Created table student
Took 2.4760 seconds                                                  
=> Hbase::Table - student
hbase(main):002:0> list
TABLE                                                                
student                                                              
1 row(s)
Took 0.0425 seconds                                                  
=> ["student"]
hbase(main):003:0> 

1、MYSQL

启动命令

sudo service mysql start
sudo service mysql stop

登录命令

mysql -u <用户名> -p

2、HBase

启动命令

    cd /usr/local/hadoop
    ./sbin/start-dfs.sh
    cd /usr/local/hbase
    ./bin/start-hbase.sh
    ./bin/hbase shell

关闭命令

cd /usr/local/hbase
bin/stop-hbase.sh
cd /usr/local/hadoop
./sbin/stop-dfs.sh

3、Redis

cd ~
sudo tar -zxvf redis-5.0.5.tar.gz -C /usr/local
cd /usr/local
sudo mv ./redis-5.0.5 ./redis
hadoop@ubuntu:/usr/local/redis$ sudo make sudo: make: 找不到命令
hadoop@ubuntu:/usr/local/redis$ sudo make
install
这个错误提示显示您没有安装 “make” 命令,因此无法执行 “make” 和 “make install” 命令,请运行以下命令来安装 “make” :
sudo apt-get update
sudo apt-get install build-essential
sudo make
sudo make install

启动

cd /usr/local/redis
./src/redis-server
cd /usr/local/redis
./src/redis-cli

image-20230520185916388

image-20230520185935044

153080:M 20 May 2023 03:59:01.667 # Server initialized
153080:M 20 May 2023 03:59:01.667 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
153080:M 20 May 2023 03:59:01.667 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
153080:M 20 May 2023 03:59:01.667 * Ready to accept connections

这个输出是Redis服务器启动时的输出日志:
第一行显示Redis服务器已经初始化。
第二行显示了一个警告,它说明 "overcommit_memory" 设置为 0,这可能会导致在内存不足的情况下后台保存失败。为了解决这个问题,您需要在 /etc/sysctl.conf 文件中添加 'vm.overcommit_memory = 1',然后重启Redis或者运行 'sysctl vm.overcommit_memory=1' 命令使之生效。
第三行显示了另一个警告,它说明您的内核启用了透明大页(THP)支持,这可能会导致Redis的延迟和内存使用问题。为了解决这个问题,您需要运行 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' 命令以 root 用户身份运行,然后将它添加到 /etc/rc.local 文件中以保留设置。在禁用THP后必须重新启动Redis。
最后一行表示Redis服务器已经启动并可以接受新的连接。
在您的Redis服务器启动日志中,有两个警告提示需要解决:
警告 1:overcommit_memory 设置为 0!
这个警告表示overcommit_memory参数设置为0,而这可能会导致Redis在内存不足的情况下后台保存失败。为了解决这个问题,您需要在/etc/sysctl.conf文件中添加以下行:
vm.overcommit_memory = 1
修改文件后需要重载内核参数,可以通过运行以下命令行完成:
sudo sysctl -p
或者将以下命令添加到您的启动脚本中,使之永久生效。
sudo sh -c "echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf"
警告2:Transparent Huge Pages (THP) support enabled in your kernel
这个警告表示内核启用了透明大页(THP)支持,这可能会导致Redis的延迟和内存使用问题。为解决这个问题,您需要运行以下命令:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
为了在系统重启后保留该设置,需要将它添加到/etc/rc.local文件中。可以通过执行以下命令将该命令行添加到/etc/rc.local文件的末尾:
sudo sh -c "echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local"
完成后,需要重启Redis服务。

以下是修改overcommit_memory和THP设置的具体命令:

1、修改overcommit_memory设置

a. 打开 /etc/sysctl.conf文件:

sudo nano /etc/sysctl.conf

b. 在文件末尾添加以下行:

vm.overcommit_memory = 1

c. 保存并关闭文件,然后重新加载内核参数:

sudo sysctl -p

或者

sudo sh -c "echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf"

1、禁用THP支持

a. 禁用THP支持:

echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
复制复制

b. 将以下行添加到/etc/rc.local中:

sudo nano /etc/rc.local

# 添加下面这行,注意是在exit 0之前:
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
复制复制

确保在 exit 0 前面添加了这一行,保存文件并关闭编辑器。

c. 重新启动Redis服务器以应用更改。

执行以下命令:

sudo systemctl restart redis-server.service

这样就完成了修改overcommit_memory和THP设置的操作。

image-20230520210417651

image-20230520210538905

4、MongoDB

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

image-20230520210705073

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update

image-20230520211728490

该错误通常发生在使用apt更新软件包列表时,其中一个存储库的签名无效或未签名。为了解决这个问题,您可以尝试以下步骤:

1、首先,确保您的系统时间和日期设置正确。签名验证需要准确的时间戳来验证签名的有效性。您可以使用以下命令检查当前的系统时间和日期:

date

如果时间或日期不正确,请使用以下命令手动设置正确的时间和日期:

sudo date --set="YYYY-MM-DD HH:MM:SS"

将"YYYY-MM-DD HH:MM:SS"替换为正确的时间和日期。

如果您使用的是特定的存储库(例如MongoDB存储库),可以尝试重新导入存储库的公钥。请使用以下命令导入MongoDB的公钥:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4

更新软件包列表并尝试安装/更新软件包:

sudo apt update

如果上述步骤仍然无法解决问题,请确保您的系统与存储库的版本兼容,并检查存储库的配置文件是否正确。您还可以尝试联系存储库的提供者以获取更多支持和帮助。

W: GPG error: https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 Release: The following signatures were invalid: EXPKEYSIG 68818C72E52529D4 MongoDB 4.0 Release Signing Key <packaging@mongodb.com>
E: The repository 'https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

2023-05-20T10:36:37.747308Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.33-0ubuntu0.20.04.1) starting as process 128400
2023-05-20T10:36:37.772757Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2023-05-20T10:36:37.926413Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-05-20T10:36:38.744078Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-05-20T10:36:39.744889Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
2023-05-20T10:36:40.745292Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

根据错误日志,MySQL在尝试初始化InnoDB存储引擎时遇到了问题,无法锁定./ibdata1文件,错误代码为11。这通常表示另一个进程或服务正在使用该文件,因此MySQL无法访问它。

要解决这个问题,您可以尝试以下步骤:

  1. 停止MySQL服务:使用以下命令停止MySQL服务:
sudo systemctl stop mysql

检查进程和文件锁定:运行以下命令,检查是否有其他进程正在占用./ibdata1文件或相关的MySQL进程正在运行:

sudo lsof /var/lib/mysql/ibdata1
sudo ps aux | grep mysql

如果找到任何正在占用该文件或相关的MySQL进程,请停止它们。

清除文件锁定:如果您确定没有其他进程占用该文件,您可以尝试清除文件锁定。运行以下命令:

sudo rm /var/lib/mysql/ibdata1.lock

修复文件权限:确保MySQL数据目录及其文件具有正确的权限。使用以下命令修复权限:

sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql

启动MySQL服务:使用以下命令启动MySQL服务:

sudo systemctl start mysql

检查错误日志:启动后,查看MySQL错误日志文件,确认是否出现新的错误或警告:

sudo tail -n 50 /var/log/mysql/error.log

如果仍然存在问题,请提供新的错误日志以获得更多帮助。

请注意,如果您对MySQL数据目录或文件进行了手动更改,请小心操作,并确保在执行任何操作之前备份重要数据。

更换新的

image-20230520212628870

image-20230520215432067

image-20230520220248032

image-20230520220337843

image-20230520220411884

hadoop@ubuntu:/var/log/mysql$ sudo lsof /var/lib/mysql/ibdata1
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
      Output information may be incomplete.

根据输出,lsof命令显示了一些警告信息,提示无法访问fuse.gvfsd-fusefuse文件系统。这些警告通常与lsof在某些特殊文件系统上的限制相关,但并不影响我们对ibdata1文件的检查。

根据输出,没有其他进程正在占用ibdata1文件。这意味着文件没有被其他进程锁定。

您可以继续执行以下步骤:

  1. 清除文件锁定(可选):如果您之前尝试过启动MySQL,并且在启动过程中出现问题,可以尝试清除可能存在的文件锁定。执行以下命令:
sudo rm /var/lib/mysql/ibdata1.lock

修复文件权限:确保MySQL数据目录及其文件具有正确的权限。使用以下命令修复权限:

sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql

启动MySQL服务:执行以下命令启动MySQL服务:

sudo systemctl start mysql

检查错误日志:启动后,查看MySQL错误日志文件,确认是否出现新的错误或警告:

sudo tail -n 50 /var/log/mysql/error.log

如果问题仍然存在,请提供新的错误日志以获得更多帮助。

image-20230520220617725

具体内容如下[从这里开始看]

Install MongoDB Community Edition on Ubuntu — MongoDB Manual

image-20230520221458983

image-20230520221715502

sudo apt-key del 9DA31620334BD75D9DCB49F368818C72E52529D4

image-20230520223414685

删除重复的存储库配置文件:

bash
sudo rm /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo rm /etc/apt/sources.list.d/mongodb.list

清除已添加的 MongoDB GPG 密钥:

css
sudo apt-key del 68818C72E52529D4

添加 MongoDB GPG 密钥:

sql
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

添加 MongoDB 软件源:

bash
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

更新 APT 包列表:

sql
sudo apt update

安装 MongoDB:

sudo apt install mongodb-org

请注意,这将删除之前的 MongoDB 配置和存储库,并重新添加最新版本的 MongoDB 存储库。确保在执行这些步骤之前备份您的数据。完成后,您应该能够正确安装和配置 MongoDB。如果问题仍然存在,请提供完整的命令和输出以便更进一步地调试。

image-20230520223829395

image-20230520223937807

开启

sudo service mongod start
pgrep mongod -l   #注意:-l是英文字母l,不是阿拉伯数字1

关闭

sudo service mongod stop

image-20230520224122203

5、相关链接

典型NoSQL数据库的安装和使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能测试——系统性能数据收集和Prometheus 监控系统部署应用实战

系统性能数据收集和Prometheus 监控系统部署应用实战 一、部署性能监控工具 node-exporter1、拉取镜像2、启动容器&#xff1a;3、配置prometheus.yml4、重启prometheus系统&#xff0c;检查node-exporter targets数据是否显示正常 二、Prometheus 监控系统部署应用实战1、实战…

盘点IntelliJ IDEA 中的“快速”功能,你知道几个?

IntelliJ IDEA&#xff0c;是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能是非常强大的。 Int…

HTML+CSS实训——Day02——仿一个网易云音乐的登陆界面

前言 今天要继续完成我们的音乐软件了&#xff0c;昨天写完了封面&#xff0c;今天该完成开屏广告和登陆界面了。 登陆界面代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-C…

短视频矩阵源码核心研发接口

1.短视频矩阵源码涉及了多种接口&#xff0c;包括但不限于视频上传、视频播放、视频推荐、用户管理、评论管理、点赞管理等。其中视频上传接口用于将用户上传的视频数据进行处理和存储&#xff1b;视频播放接口用于向用户展示视频内容并提供播放操作&#xff1b;视频推荐接口用…

springboot 集成 Swagger2(速通)

目录 1. 概述2. 案例 13. UI 的简单使用4. 简单配置 Docket 对象1. 配置文档的描述信息2. 定义包扫描规则 5. 指定接口不生成文档1. 自定义注解2. 路径匹配 6. 常用注解 1. 概述 简单理解——代写接口文档的框架&#xff0c;可跟随接口修改实时更新。 Open API 格式&#xff…

【服务器】安卓手机使用Termux搭建web服务

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程序&#xff0c;用于在 Android 手机上搭建一个…

从C语言到C++_12(string相关OJ题)(leetcode力扣)

上一篇已经讲了string类的接口函数&#xff0c;然后根据查文档刷了牛客和力扣58最后一个单词的长度&#xff0c; 还有力扣415字符串相加&#xff0c;这篇继续跟着查文档来刷力扣题&#xff0c;体会C刷题的方便。 目录 917. 仅仅反转字母 - 力扣&#xff08;LeetCode&#xf…

ESP32 智能手表软件设计,具有多个表盘、心率传感器、指南针和游戏

ESP32 智能手表 GUI 导航 整个 GUI 的设计方式使我们可以使用单个按钮浏览每个选项。我们可以使用短按和长按来浏览它们。您可以在下图中找到整个 GUI 流程。蓝线表示单击/短按,而绿线表示长按。在时间设置和设置菜单中,您可以浏览每个选项或使用短时钟归档。选择该选项并使用…

搭建简单的HTTP服务器(Nodejs) - 内网穿透公网远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 转载自cpolar内网穿透的文章&#xff1a;使用Nodejs搭建HTTP服务&#xff0c;并实现公网远程访问「内网穿透」 前言 Node.…

【工业控制系统】工业控制系统安全简介第 2 部分

介绍 Purdue Enterprise Reference Architecture (PERA)、其他参考模型和安全 ICS 架构的最佳实践。 安全 ICS 架构的 Purdue 模型和最佳实践 在本系列的第一部分中&#xff0c;我们回顾了工业控制系统 (ICS) 的独特沿袭&#xff0c;并介绍了保护 ICS 的一些挑战。在第二部分中…

初识滴滴交易策略之二:司乘匹配

‍ 前文&#xff08;初识滴滴交易策略之一&#xff1a;交易市场)整体介绍了交易市场的定义、特点、技术特点和技术领域。在交易市场中&#xff0c;市场交易撮合——通常称之为“派单”——无疑是最重要的环节&#xff0c;以下将介绍滴滴交易市场中的司乘匹配技术。 对滴滴来说&…

全球523所高校,10425人共同学习,这所高校排第一!

Datawhale学习 总结&#xff1a;四月AIGC组队学习 在公众号回复“五月”可以提前进大模型应用交流群了&#xff0c;探索大模型的产品应用。回复“AIGC”&#xff0c;可以进AIGC交流群&#xff0c;用AIGC工具为自己打工。五月组队学习这周会在群内分享。 五月组队学习预告 全球…

2023年国内CDGA/CDGP数据治理认证考试报名入口

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

DNDC模型三:气象数据、土地数据、土壤数据、区域数据制备

查看原文>>>最新DNDC模型在土地利用变化、未来气候变化下的建模方法及温室气体时空动态模拟实践技术应用 由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&a…

Python长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析

植被是陆地生态系统中最重要的组分之一&#xff0c;也是对气候变化最敏感的组分&#xff0c;其在全球变化过程中起着重要作用&#xff0c;能够指示自然环境中的大气、水、土壤等成分的变化&#xff0c;其年际和季节性变化可以作为地球气候变化的重要指标。此外&#xff0c;由于…

第14章:触发器概述

一、触发器概述 1.开发场景 有2个相互关联的表&#xff0c;商品信息和库存信息表。在添加一条新商品记录时&#xff0c;为了保证数据完整性&#xff0c;在库存表添加一条库存记录。 把两个关联操作步骤写到程序里面&#xff0c;用事务包裹起来&#xff0c;确保两个操作成为一…

Qt6之默认取消MySQL支持?

说明&#xff1a;本篇不是讨论qt怎么使用MySQL&#xff0c;这类的文章一搜一大堆。 一、结论 Qt6开始确实默认取消了对MySQL的支持&#xff0c;用户需自行编译生成MySQL的驱动DLL库。 首先不是qt增加使用门槛是风向变了&#xff0c;而是自从Oracle 收购MySQL后对其进行了商业化…

LC-1377. T 秒后青蛙的位置(DFS、BFS)

1377. T 秒后青蛙的位置 难度困难57 给你一棵由 n 个顶点组成的无向树&#xff0c;顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下&#xff1a; 在一秒内&#xff0c;青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点&#xff08;如果它们直接相连&#xff09;。青…

一键呼叫可视对讲用于路灯杆

城市建设进入新时代&#xff0c;各种智慧化设施应运而生。路灯杆一键呼叫可视对讲系统可以实现智能安防、信息传递等多种功能&#xff0c;成为城市智慧化的重要组成部分。 1. 系统介绍 路灯杆一键呼叫可视对讲系统由路灯杆、摄像头、语音呼叫器等组成。当市民需要求助或报警时…

大数据开发之Hive案例篇5- count(distinct) 优化一例

文章目录 一. 问题描述二. 解决方案2.1 调整reduce个数2.2 SQL改写 一. 问题描述 需求: 卡在了reduce&#xff0c;只有一个reduce MR job卡在了最后一个reduce&#xff0c;任务迟迟未运行成功 二. 解决方案 2.1 调整reduce个数 一般一个reduce处理的数据是1G&#xff0c…