四种数据库设置
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
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设置的操作。
4、MongoDB
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
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
该错误通常发生在使用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无法访问它。
要解决这个问题,您可以尝试以下步骤:
- 停止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数据目录或文件进行了手动更改,请小心操作,并确保在执行任何操作之前备份重要数据。
更换新的
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-fuse
和fuse
文件系统。这些警告通常与lsof
在某些特殊文件系统上的限制相关,但并不影响我们对ibdata1
文件的检查。
根据输出,没有其他进程正在占用ibdata1
文件。这意味着文件没有被其他进程锁定。
您可以继续执行以下步骤:
- 清除文件锁定(可选):如果您之前尝试过启动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
如果问题仍然存在,请提供新的错误日志以获得更多帮助。
具体内容如下[从这里开始看]
Install MongoDB Community Edition on Ubuntu — MongoDB Manual
sudo apt-key del 9DA31620334BD75D9DCB49F368818C72E52529D4
删除重复的存储库配置文件:
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。如果问题仍然存在,请提供完整的命令和输出以便更进一步地调试。
开启
sudo service mongod start
pgrep mongod -l #注意:-l是英文字母l,不是阿拉伯数字1
关闭
sudo service mongod stop
5、相关链接
典型NoSQL数据库的安装和使用