2023.5.19Hadoop具体操作(四种)

news/2024/12/21 20:36:14/

大作业

1、ens33没有地址

查看虚拟机的NAT8网段

image-20230519085947846

使用ip a显示ens33的ip

ip a

image-20230519090114228

设置静态ip

编辑网络接口配置文件:输入以下命令来编辑网络接口的配置文件:

sudo vi /etc/network/interfaces

在打开的文件中,找到要设置为静态IP的网络接口(如ens33)的部分。

将该部分的配置修改为以下内容:

auto ens33
iface ens33 inet staticaddress 192.168.0.2    # 设置静态IP地址netmask 255.255.255.0  # 设置子网掩码gateway 192.168.0.1    # 设置网关IP地址dns-nameservers 8.8.8.8 8.8.4.4  # 设置DNS服务器IP地址,可以根据需要添加多个DNS服务器

注意:确保将IP地址、子网掩码、网关和DNS服务器地址替换为适合你网络环境的值。

按下Ctrl + O保存更改,然后按下Ctrl + X关闭nano编辑器。

重启网络服务:输入以下命令来重启网络服务以应用新的配置:

sudo service networking restart

或者,如果你使用的是Network Manager,可以使用以下命令:

sudo service network-manager restart

这将使新的静态IP地址生效。

2、修改主机名

image-20230519085612771

3、操作具体数据库

1、MYSQL

3.1 MySQL数据库操作

Student学生表

NameEnglishMathComputer
zhangsan698677
lisi5510088

\1. 根据上面给出的表格,利用MySQL5.6设计出student学生表格;

image-20230522140108566

a) 设计完后,用select语句输出所有的相关信息,并给出截图;

image-20230522140147931

b) 查询zhangsan的Computer成绩,并给出截图;

image-20230522140223796

c) 修改lisi的Math成绩,改为95.给出截图.

image-20230522140248550

2.根据上面已经设计出的student表,用MySQL操作

a) 添加数据:English:45 Math:89 Computer:100

scofield4589100

image-20230522140313811

b) 获取scofield的English成绩信息

image-20230522140333111

-- 创建student表
CREATE TABLE Student (Name VARCHAR(20),English INT,Math INT,Computer INT
);-- 插入数据
INSERT INTO Student (Name, English, Math, Computer)
VALUES ('zhangsan', 69, 86, 77),('lisi', 55, 100, 88);-- 查询所有学生信息
SELECT * FROM Student;-- 查询zhangsan的Computer成绩
SELECT Computer FROM Student WHERE Name = 'zhangsan';-- 修改lisi的Math成绩为95
UPDATE Student SET Math = 95 WHERE Name = 'lisi';-- 查询所有学生信息
SELECT * FROM Student;-- 添加数据: scofield English:45 Math:89 Computer:100
INSERT INTO Student (Name, English, Math, Computer)
VALUES ('scofield', 45, 89, 100);-- 获取scofield的English成绩信息
SELECT English FROM Student WHERE Name = 'scofield';

2、HBase

3.2 HBase数据库操作

image-20230522140639873

Student学生表

namescore
EnglishMathComputer
zhangsan698677
lisi5510088

\1. 根据上面给出的表格,用Hbase Shell模式设计student学生表格。

image-20230522140822580

a) 设计完后,用scan指令浏览表的相关信息,给出截图。

image-20230522140918632

b) 查询zhangsan 的Computer成绩,给出截图。

image-20230522141016561

c) 修改lisi的Math成绩,改为95,给出截图。

image-20230522141035849

\2. 根据上面已经设计出的student,用Hbase 操作

a) 添加数据:English:45 Math:89 Computer:100

image-20230522141121761

scofield4589100

b) 获取scofield的English成绩信息

image-20230522141154117

# 创建表格
create 'Student', 'score'# 插入数据
put 'Student', 'zhangsan', 'score:English', '69'
put 'Student', 'zhangsan', 'score:Math', '86'
put 'Student', 'zhangsan', 'score:Computer', '77'
put 'Student', 'lisi', 'score:English', '55'
put 'Student', 'lisi', 'score:Math', '100'
put 'Student', 'lisi', 'score:Computer', '88'# 浏览表的相关信息
scan 'Student'# 查询zhangsan的Computer成绩
get 'Student', 'zhangsan', 'score:Computer'# 修改lisi的Math成绩为95
put 'Student', 'lisi', 'score:Math', '95'# 浏览表的相关信息
scan 'Student'# 添加数据
put 'Student', 'scofield', 'score:English', '45'
put 'Student', 'scofield', 'score:Math', '89'
put 'Student', 'scofield', 'score:Computer', '100'# 获取scofield的English成绩信息
get 'Student', 'scofield', 'score:English'

image-20230522141325066

3、Redis

image-20230522141447693

Redis数据库操作

Student 键值对:

zhangsan:{

English: 69

Math: 86

Computer: 77

lisi:{

English: 55

Math: 100

Computer: 88

\1. 根据上面给出的键值对,用Redis的哈希结构设计出上述表格;(键值可以用student.zhangsan,student.lisi来表示两个键值属于同一个表格)

image-20230522141608355

a) 设计完之后,用hgetall命令分别输出zhangsan和lisi的成绩信息,并截图;

image-20230522142039509

image-20230522142056249

b) 用hget命令查询zhangsan 的Computer成绩,给出截图。

image-20230522142115671

c) 修改lisi的Math成绩,改为95,给出截图。

image-20230522142139315

\2. 根据上面已经设计出的student表格,用Redis操作

a ) 添加数据:English:45 Math:89 Computer:100

scofield:{

English: 45

Math: 89

Computer: 100

image-20230522142306404

b) 获取scofield的English成绩信息

image-20230522142233197

# 设计哈希结构表格
HSET student.zhangsan English 69
HSET student.zhangsan Math 86
HSET student.zhangsan Computer 77HSET student.lisi English 55
HSET student.lisi Math 100
HSET student.lisi Computer 88# 输出zhangsan和lisi的成绩信息
HGETALL student.zhangsan
HGETALL student.lisi# 查询zhangsan的Computer成绩
HGET student.zhangsan Computer# 修改lisi的Math成绩为95
HSET student.lisi Math 95# 输出zhangsan和lisi的成绩信息
HGETALL student.zhangsan
HGETALL student.lisi# 添加数据
HSET student.scofield English 45
HSET student.scofield Math 89
HSET student.scofield Computer 100# 获取scofield的English成绩信息
HGET student.scofield English

image-20230522141727899

(error) ERR wrong number of arguments for 'hgetall' command
127.0.0.1:6379> 

在Redis中,错误消息"ERR wrong number of arguments for ‘hgetall’ command"表示对于’hgetall’命令使用了错误数量的参数。这通常意味着你没有提供’hgetall’命令所需的键值参数。

'hgetall’命令用于获取哈希表中指定键的所有字段和值。它的语法是:

vbnet
HGETALL key

其中,'key’是你要获取哈希表的键。根据错误消息,你可能没有提供’key’参数,或者提供了错误的参数。

要解决这个问题,你需要在执行’hgetall’命令时提供正确的参数,确保传递正确的键。例如:


HGETALL myhash

这将获取名为"myhash"的哈希表的所有字段和值。

请确保在Redis命令行中正确输入命令,并提供所需的参数。如果问题仍然存在,请检查你的代码或脚本,确保在使用Redis命令时正确传递参数。

4、MongoDB

image-20230522142552002

3.4 MongoDB数据库操作

Student文档如下:

{

“name”: “zhangsan”,

“score”: {

“English”: 69,

“Math”: 86,

“Computer”: 77

}

}

{

“name”: “lisi”,

“score”: {

“English”: 55,

“Math”: 100,

“Computer”: 88

}

}

\1. 根据上面给出的文档,用Mongo shell设计出student集合.

image-20230522142825418

image-20230522142850857

a) 设计完后,用find()方法输出两个学生的信息,给出截图;

image-20230522142917422

b) 用find函数查询zhangsan 的所有成绩(只显示score列),给出截图。

image-20230522142939312

c) 修改lisi的Math成绩,改为95,给出截图。

image-20230522143002889

\2. 根据上面已经设计出的student集合,用Mongo shell操作

a) 添加数据:English:45 Math:89 Computer:100

{

“name”: “scofield”,

“score”: {

“English”: 45,

“Math”: 89,

“Computer”: 100

}

}

image-20230522143059067

b) 获取scofield的所有成绩成绩信息(只显示score列)

image-20230522143119153

// 设计student集合并插入文档
db.student.insertOne({"name": "zhangsan","score": {"English": 69,"Math": 86,"Computer": 77}
});db.student.insertOne({"name": "lisi","score": {"English": 55,"Math": 100,"Computer": 88}
});// 输出两个学生的信息
db.student.find();// 查询zhangsan的所有成绩
db.student.find({ "name": "zhangsan" }, { "score": 1, "_id": 0 });// 修改lisi的Math成绩为95
db.student.updateOne({ "name": "lisi" }, { $set: { "score.Math": 95 } });// 输出两个学生的信息
db.student.find();// 添加数据
db.student.insertOne({"name": "scofield","score": {"English": 45,"Math": 89,"Computer": 100}
});// 获取scofield的所有成绩信息
db.student.find({ "name": "scofield" }, { "score": 1, "_id": 0 });

image-20230522142708657

Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
---
The server generated these startup warnings when booting: 2023-05-20T07:40:59.745-07:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem2023-05-20T07:41:01.362-07:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---

image-20230522143318583

根据警告信息,你收到了两个启动警告:

  1. 使用WiredTiger存储引擎时强烈建议使用XFS文件系统。
  2. 数据库未启用访问控制,对数据和配置的读写访问是不受限制的。

以下是解决这些警告的建议:

  1. 使用XFS文件系统:警告指出在使用WiredTiger存储引擎时强烈建议使用XFS文件系统。XFS对于MongoDB和WiredTiger存储引擎来说是最佳选择,因为它具有出色的性能和可扩展性。如果你当前没有使用XFS文件系统,请考虑迁移到XFS。你可以按照此处的文档了解有关XFS文件系统的更多信息。
  2. 启用访问控制:警告指出数据库未启用访问控制,这意味着任何人都可以具有对数据和配置的读写权限。这对于生产环境来说是不安全的。为了保护你的MongoDB数据库,你应该启用访问控制并为用户设置适当的权限。有关如何启用访问控制和配置用户权限的详细信息,请参阅MongoDB的官方文档中有关访问控制的部分。

解决这些警告需要进行适当的配置更改和系统管理。确保在进行任何更改之前,详细阅读相关文档,并确保理解对你的系统和环境可能产生的影响。


http://www.ppmy.cn/news/91079.html

相关文章

React项目搭建

一、项目搭建(不采用vite方式) 使用create-react-app生成项目 npx create-react-app pc 进入根目录 cd pc 启动项目 npm start 调整项目目录结构 /src/assets 项目资源文件,比如,图片 等/components 通用组件/pag…

电子合同网页预览盖章效果实现

电子合同在现在应用越来越广,需求也就随之产生。 本篇文章主要记录两种网页盖章效果实现方式,自己记录一下, 也给需要的人提供一点思路和帮助。 效果 JqueryCSS实现 原理 通过定位盖章位置,之后操作图片悬浮到盖章位置 1.设置…

SCTracker 跟踪论文阅读笔记

SCTracker 跟踪论文阅读笔记 SCTracker: Multi-object tracking with shape and confidence constraints 论文链接 (未开源状态) 论文主要更新点围绕shape constraint and confidence两点来展开: 首先论证在跟踪匹配的过程中D-box(检测框)与T-box(预测框)需要有一定…

如何在华为OD机试中获得满分?Java实现【对称字符串】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 对称就是最大的美学,现…

【C++】类和对象——类的引入、类的访问限定符、类的作用域、类的实例化、类的储存、this指针的引出和特性

文章目录 1.类的引入2.类的访问限定符3.类的作用域4.类的实例化5.类的储存6.this指针6.1this指针的引出6.2this指针的特性 1.类的引入 C是在C的基础上加以扩展。 在C语言中,我们想要让一个类型含有多种成员变量,我们使用结构体;而在C中我们可…

项目管理自动化 工作效率顶呱呱

项目管理,是职场人进阶发展的必备高阶能力,需要在复杂的环境中有效整合资源、高效助力团队实现整体的项目目标。 一个好的项目管理者,需要合理规划项目进展,实时同步需求、及时沟通进展,合理判断项目风险&预警&am…

操作系统第五章——输入输出管理(中)

提示:若我会见到你,事隔经年,我如何向你招呼,以眼泪,以沉默 文章目录 5.2.1 IO核心子系统知识总览功能要在那个层次实现 5.2.2 假脱机技术(SPOOLing)知识总览什么是脱机技术假脱机技术——输入井…

还是畅通工程(Kruscal)_02

#include<bits/stdc.h> using namespace std; const int MAXN1000; int father[MAXN];//父亲结点 int height[MAXN];//高度结点 struct Edge{int from;int to;int length; }; Edge edge[MAXN*MAXN]; //初始化 void init(int n){for(int i0;i<n;i){father[i]i;height[…