文章目录
- 1. mplayer
- 2. anaconda + opencv + tensorflow
- 3. Java + IntelliJ
-
-
- Ubuntu
-
- Java
- IntelliJ
- IntelliJ 配置
- Mac
-
-
- 安装
- 环境配置
-
-
- 4. 用git上传文件到Github
-
-
- Ubuntu
- Mac
-
- 安装git
- 创建ssh key、配置git
-
- 5. Hadoop安装
-
- Ubuntu
-
- [5.1 Java安装](#3. linux Java + IntelliJ)
- 5.2 ssh免密登陆
- 5.3 Hadoop安装
-
- 1. 下载(速度很慢)
- 2. 解压到 /opt
- 3. 配置环境变量
- 5.4 Hadoop客户端环境搭建
- 1. IDEA的配置
- 2. 创建maven工程
- 3. 导入日志的依赖
- 4. 配置Hadoop依赖环境
- 5. 配置Hadoop配置文件的访问权限
- 6.测试上传文件
- Mac
- 6. VS Code + Java开发
-
- 6.1 Maven
- 7. 如何使用VS Code创建SpringBoot项目
-
-
-
- 1. 安装扩展(Ctrl+Shift+X)
- 2. 配置Maven:
- 3. 创建Maven项目
- 4. 打开项目
- 5. 项目运行跟调试
- 6. 访问HTML页面
-
-
- 8. Tomcat安装
-
- Windows 环境
- Linux 环境
- Mac 环境
- 9. Mysql 安装
-
-
- Windows 环境
- Linux 环境
-
- mysql 安装
-
- 卸载与在线安装:
- 报错:
- 使用 MySQL Client(Mysql客户端) 执行简单的SQL命令
- Mysql安装后需要做的
- MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@’localhost’错误解决办法
-
- Step1:修改mysqld.cnf配置文件
- step2:设置root密码
- step3:注释掉skip-grant-tables
- navicat Can’t connect to local MySQL server through socket ‘/var/lib/mysqld/mysqld.sock的解决办法
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
- 服务管理
- 卸载
- Mac
-
- 设置环境变量
-
- 10. IDEA 部署 Tomcat
-
-
-
- Tomcat 下载~
- Tomcat 安装
- Tomcat 热部署到IDEA
-
- idea两种热部署设置方法
-
- 11. Navicat 安装与激活
-
- Windows 环境
-
- 1. Navicat Premium 15 安装
- 2. Navicat Premium 15 激活
-
-
- 1.Patch
- 2. License. Product and Language
- 3. Resale License
- 4. Keygen / Offline Activation
-
- Linux 环境
-
- 1. Navicat下载
- 2. 官方安装
- 3. 实际安装与激活成功教程
-
- 3.1 提取AppImage文件到文件夹里
- 3.2 编译安装(如果你觉得git下载太慢 [keystone-master.zip](https://rmc.ink/?go&url=aHR0cDovL29zcy5ybWMuaW5rL3R5cGVjaG8vMjAyMC8wMy8xNi85NDAxMzU4MDU0NTAzNy56aXA=))
- 3.3 生成私钥 (下载navicat-patcher和navicat-keygen [激活工具.zip](https://rmc.ink/?go&url=aHR0cDovL29zcy5ybWMuaW5rL3R5cGVjaG8vMjAyMC8wMy8xNi85Mzg2OTM5MDc3MDA1MTAuemlw))
- 3.4 激活
- 12 wine
-
-
- 报错
- Solution: Winetricks
-
- 13 Maven 安装
-
-
-
- 1. 下载压缩包
- 2. 解压
- 3. 配置环境变量
- 4.使配置生效
- 修改配置文件($MAVEN_HOME/conf/setting.xml)
- 5. 验证安装是否成功
-
-
- 14. GitLab安装
-
-
-
- 1.安装依赖包
- 2. 邮件配置
- 3. 安装方式一:镜像安装
- 4. 安装方式二:下载安装
- 5. 配置访问路径
- 6. 更新配置
- 7. 重新启动gitlab
- 8. 打开 sshd 和 postfix 服务
- 9. 查看gitlab服务器状态
- 10. 结果
- 参考:
-
-
- 15. Redis安装
-
-
- Ubuntu
-
- 安装
- 启动 Redis
- 查看 redis 是否启动?
- Mac
-
- 16. Xmind安装
-
-
-
- 1.下载安装包
- 2. 安装相关依赖
- 3. 修改配置文件
- 4. 配置环境变量
- 5. 创建桌面图标
-
-
- 17. 安装gif制作工具
-
-
- 安装
-
- Linux
- Mac
- 应用
-
- 把图片放缩为640×480
- 图片生成动态 GIF
- 视频生成GIF
-
- 18. 虚拟环境配置
-
-
-
- 1. 安装虚拟机
-
-
- 19. [集群环境搭建](#7. 集群环境搭建)
-
-
- 1. 删除所有dump.rdb文件
- 2. 安装ruby
- 3. 安装Hadoop
- 4. 启动YARN并运行MapReduce程序
-
- 20. 双系统下对Ubuntu系统扩容
-
-
-
- 1. 在Windows系统下对磁盘分区
- 2. 在Ubuntu系统下安装Gparted
- 3. 用Gparted分区
-
-
- 21. Docker安装
-
-
- Ubuntu
- 卸载旧版本
- 使用 Docker 仓库进行安装
-
- 设置仓库
- 安装 Docker Engine-Community
- 设置镜像加速器
- Docker卸载
- Mac
-
- 22.Docker 内安装实例
-
- 1. Docker安装Tomcat
-
- 1. 通过docker pull tomcat
- 2. 通过 Dockerfile 构建
-
- 1. 创建 tomcat 目录
- 2. 进入创建的 tomcat 目录,创建 Dockerfile
- 3. 构建
- 4. run
- 5. 通过浏览器访问
- 注意事项
- 在Tomcat上的发布演示
- 2. Docker 安装MySQL
-
-
- 运行镜像
- 查看是否安装成功
- 用宿主机的Navicat连接Docker内的MySQL
-
- 3. Docker安装Redis
-
-
- 运行容器
- 测试redis服务
-
- 4. 安装Hadoop
-
- 1. 配置Dockerfile
- 2. 构建镜像
- 3. 运行镜像
- 4. 配置环境变量
- 5. 安装ruby
- 6. 安装ssh
-
-
- 报错:ssh: connect to host hadoop1 port 22: Connection refused
-
- 7. 集群环境搭建
-
- 1. 单机模式/本地模式(Standalone Operation)
- 2. 伪分布模式(不要求掌握)
-
- 1. 启动HDFS并运行MapReduce程序
- 2. 启动YARN并运行MapReduce程序
- 3. 完全分布模式
-
- 3.1 开启3个容器实例
- 3.2 编写集群分发脚本
- 3.3 集群配置
- 3.4 集群单点启动(手动一个个地启动)
- 3.5 SSH无密登录配置
- 3.6 群起集群
- 3.7 集群启动/停止方式总结
- 3.8 历史服务器和日志聚集配置(跳过,失败了)
- 3.9 集群时间同步(失败)
- 5. 配置Zookeeper集群
- 6. 配置HDFS-HA集群
-
-
- 启动HDFS-HA集群
- 配置HDFS-HA自动故障转移
-
- 1. 具体配置
- 2. 启动
- 3. 验证
-
- 7. 配置YARN-HA集群
- 8. Hive 安装与配置
-
- 8.1. 安装
- 8.2. Hadoop集群配置
- 8.3. 安装MySql
-
- 安装MySql服务器(在hadoop3中安装)
-
- 1. apt安装mysql
- 2. 下载安装包安装
- MySql中user表中主机配置,配置无主机登陆
- 8.4. Hive基本操作
- 8.5. 将本地文件导入Hive案例
- 8.6. Hive数据配置到MySql
-
-
- 1. 驱动拷贝:
- 2. 配置Metastore到MySql
-
- 8.7. 多窗口启动Hive测试
- 8.8. Hive常用交互命令
- 8.9. Hive其他命令操作
- 8.10. Hive常见属性配置
-
-
- 1. 查询后信息显示配置
- 2. Hive数据仓库位置配置
- 3. Hive运行日志信息配置
-
- 8.11 参数配置方式
- 23. VSCode访问Docker容器内的文件系统
- 24. ubuntu 安装anydesk
- 25. Mac 安装 Matlab
- 26. MAC Python CGI编程
-
-
-
- 1. 配置Apache web服务器,让其能运行CGI脚本
- 2. 第一个CGI程序
-
-
- 27. vscode刷leetcode
-
- vscode的插件
- leetcode插件
- cookie登陆
- 前期准备
- 操作流程
- leetcode插件使用
- leetcode配置
- 28 配置 MySQL 慢查询日志
更多详情可移步我的github仓库:https://github.com/knd11/learning
1. mplayer
-
安装
用Ctrl+Alt+T或者直接鼠标右键打开一个终端
输入指令下载安装mplayer
安装完成后,输入指令,查看是否安装成功。
好了,现在,我们就可以找到要播放的视频,查看一下视频所在路径
-
使用
- 播放
- 快捷键
2. anaconda + opencv + tensorflow
-
安装anaconda
在官网下载安装包,然后cd到安装包路径
安装时可同意安装python和vscode
测试: $ anaconda-navigator
-
安装tensorflow
anaconda-navigator中新建一个环境,在环境中安装tensorflow
-
安装opencv
一定要先安装opencv的依赖库:
在环境中安装opencv
-
vscode配置
先新建工作环境,再配置debug,选择当前环境下的python为编译器
-
opencv报错解决
- 路径问题
解决:注意路径为/home/cxy/…
-
权限问题
-
DISPLAY not set in the environment.
Solution: -
Non-Authorised User trying to run the X Application
Solution ( as X owning user, ie: yourself )
-
3. Java + IntelliJ
Ubuntu
-
Java
-
下载 Java 安装包
-
解压并移动至/usr/local
-
配置环境
使用如下命令打开~/.bashrc文件
在文件末尾加上Java信息
-
使用source命令使配置立即生效
-
测试
-
-
IntelliJ
-
在官网下载linux安装包
-
解压到安装目录
-
安装包的bin目录下打开终端,执行:
-
激活
学生免费激活使用
-
设置部分自己视情况而定
-
IntelliJ 配置
-
鼠标滚轮放大字体
Editor –> Genneral –> Mouse –>change fontsize(Zoom)…
-
鼠标悬浮提示
Editor –> Genneral –>Show quick documentation on mouse move
-
自动导包
Insert imports on paste:All
Editor –> Genneral –>auto Import –>选择:
Add unambiguous imports on the fly
Optimize imports on the fly(for current project) -
显示分隔符
Editor –> Genneral –>Apperence–>Show method separators
-
设置取消单行显示tabs的操作
Editor –> Genneral –>Editor Tabs –>取消勾选Show tabs in one row
-
注解
Editor –>File and Code Templates –> Include –>File Header –>输入:
-
更改编码方式
Editor –> Genneral –>Code Style –>File Encoding–>全部改为UTF-8
勾选Transparent native-to-ascii conversion
-
自动编译
Build,Execution,Deployment –> Compiler –>勾选
Compile independent modules in parallel
Rebuild module on dependency change
Mac
安装
-
在官网下载jdk1.8安装包
需要登陆,账号为邮箱
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-An8UIOvt-73)(pic/Screen Shot 2020-06-11 at 6.35.06 PM.png)]
-
安装jdk
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6q61IsXh-76)(pic/Screen Shot 2020-06-11 at 6.42.44 PM.png)]
-
如果不能安装,请打开Mac的安装权限,再重新安装
- 导航到“System Preferences”(系统偏好设置)>“Security & Privacy”(安全性与隐私)>“General”(通用)选项卡。
- 在对话框的底部,您将看到一条类似于如下的消息:
“JDK 8 Update 251.pkg”was blocked from use because it is not from an identified developer.(“JDK 8 Update 251.pkg”被禁止使用,因为它不是来自被认可的开发者。) - 单击“Open Anyway”(仍然打开)按钮。(如果“Open Anyway”(仍然打开)按钮未显示,请确保单击步骤 2 中对话框上的“OK”(确定)。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQjrHtgl-78)(pic/Screen Shot 2020-06-11 at 6.29.55 PM.png)]
-
查看是否安装成功
环境配置
-
如果是第一次配置环境变量,需新建~/.bash_profile文件
-
配置环境变量
在~/.bash_profile文件中加上:
-
使环境配置生效
-
查看配置是否生效
4. 用git上传文件到Github
Ubuntu
-
在github中新建一个repositories,并命名
-
安装git,ubantu上自带,若没有则:
-
生成密钥
之后会要求确认路径和输入密码,默认一路回车就行。
-
成功的话会在~/下生成.ssh文件夹,按住ctrl+h可以显示隐藏文件夹,点进去,打开id_rsa.pub,复制里面的key。
-
回到github,进入Account Setting,左边选择SSH Keys,Add SSH,title随便填,粘贴key.
-
在将本地仓库上传到github之前,需要设置username和email,因为github每次commit都会记录他们。
-
cd到要上传的仓库路径,添加远程地址
-
添加,提交,上传
git push命令将本地仓库推送到远程服务器,git pull相反。
-
合并
在上面提交命令后,可能会出现“因为您当前分支的最新提交落后于其对应的远程分支”等类似错误,需要先获取远端更新并与本地合并,再git push
Mac
安装git
- 在终端输入git会提示安装
创建ssh key、配置git
-
设置username和email(github每次commit都会记录他们)
-
通过终端命令创建ssh key
-
在GitHub端添加刚刚生成的公钥,在id_rsa.pub中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZYxvmnJu-80)(pic/Screen Shot 2020-06-11 at 8.24.35 PM.png)]
-
添加远程仓库的地址
-
添加文件/文件夹到本地库,提交,上传
5. Hadoop安装
Ubuntu
[5.1 Java安装](#3. linux Java + IntelliJ)
Hadoop官方网站:http://hadoop.apache.org/
Required Software
Required software for Linux include:
- Java™ must be installed. Recommended Java versions are described at HadoopJavaVersions.
- ssh must be installed and sshd must be running to use the Hadoop scripts that manage remote Hadoop daemons.
安装
5.2 ssh免密登陆
什么是SSH
什么是SSH
If your cluster doesn’t have the requisite software you will need to install it.
For example on Ubuntu Linux:
()都会要求输入密码,使得有些交互无法进行,故需要设置免密登陆。
免密配置:
如果已经生成过ssh-key则不用生成了否则将把原来的覆盖,使有些操作失效。如git不能推送到远程仓库
一路回车或yes
[若有报错](#报错:ssh: connect to host hadoop1 port 22: Connection refused)
5.3 Hadoop安装
参考官网
1. 下载(速度很慢)
2. 解压到 /opt
3. 配置环境变量
到根目录下将Hadoop配置到环境变量
输入:
或保存退出
以上配置完成后,查看是否安装成功:
5.4 Hadoop客户端环境搭建
下面的依赖如果可以工作的话,就不用导入本地hadoop包了
1. IDEA的配置
- 选择Configure – > Settings
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WrxvBoTU-82)(pic/image-.png)]
-
配置Maven
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BHeIjYm2-83)(pic/image-030652.png)]
-
设置Project structure
上一步设置完成后又来到开始界面, Configure – > Structure for new Project
注: 工程创建后所有位置(Java compiler, module中java language level…)的java版本都要改成一致
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgUgv4NN-84)(pic/image-.png)]
2. 创建maven工程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VSHP4Axo-85)(pic/image-.png)]
创建成功,设置java版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-De8ENaJF-87)(pic/image-.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TuROGjd-88)(pic/image-.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dm9UNUAT-89)(pic/image-.png)]
3. 导入日志的依赖
-
创建成功之后在pom.xml中导入依赖
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tzUNtoJE-90)(pic/image-.png)]
-
项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入:
4. 配置Hadoop依赖环境
-
选择本地hadoop安装目录中/share/hadoop目录
即: /opt/hadoop-2.6.0-cdh5.9.3/share/hadoop
下对应的的各种jar包
- 安装目录下的lib/slave, 因为我安装的时候不是安装的编译好的,本地运行也需要自行下载此包.不导此包会报错: Unable to load native-hadoop library for your platform……
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VG7uinO6-91)(pic/image-.png)]
5. 配置Hadoop配置文件的访问权限
在IDEA通过Docker集群执行MapReduce任务是会报一个异常,说本机的用户名没有权限访问Docker容器内的HDFS,此时需要添加容器内Hadoop的两个配置文件,通过master的终端执行
- vim $HADOOP_HOME/etc/hadoop/core-site.xml
- vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
docker端Hadoop设置好了本地客户端能访问的权限, 同时本地端也需知道服务器端的IP地址和主机名. 需要在hosts中加上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p6qPkcNi-91)(pic/image-.png)]
6.测试上传文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mz5XfDKA-93)(pic/image-.png)]
-
在hdfs下创建文件wc.input
-
新建class
-
运行
在docker容器中启动hadoop服务
-
在web端查看是否上传成功
http://hadoop1:50070/explorer.html#/
Mac
-
官方镜像
官方网站:http://hadoop.apache.org/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t4ymABd7-94)(pic/Screen Shot 2020-06-12 at 11.26.00 AM.png)]
-
解压到/usr/local/Apache
-
Mac 安装 brew
回车(这里有提示目录不存在,要创建需要按return键,如果用的windows键盘,就是回车键)
它的用法
-
安装ssh
mac本身安装了ssh服务,默认情况下不会开机自启
启动ssh服务:
-
其余的参考[Ubuntu安装Hadoop](#5.2 ssh免密登陆)
6. VS Code + Java开发
6.1 Maven
环境搭建:
extension:
Maven for Java;
创建project:
Ctrl + shift + p 或者左侧浏览器MAVEN PROJECT 处点 + –> 选择 maven-archetype-quicksstart –> 选择目录地址 –> 选择版本1.0 –> 选择包名
7. 如何使用VS Code创建SpringBoot项目
1. 安装扩展(Ctrl+Shift+X)
- Java Extension Pack (Java 扩展包)
- Spring Boot Extension Pack
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PTXiJNic-95)(pic/javaextention.png)]
2. 配置Maven:
点左下角的设置图标->设置,打开设置内容筛选框,输入maven,然后右侧的打开json格式setting:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xP8Jt0C-96)(pic/-037876-.png)]
然后把:
- maven的可执行文件路径配置
- maven的setting路径配置
- java.home的路径配置
拷贝到右侧的用户设置区域并且设置为自己电脑的实际路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VnbC9bnZ-96)(pic/–.png)]
也可以直接在设置界面中设置,记住两边都要配置好
3. 创建Maven项目
使用快捷键(Ctrl+Shift+P)命令窗口,输入 Spring 选择创建 Maven 项目。 效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gp9HvXsv-97)(pic/–.png)]
选择需要使用的语言、Group Id、项目名称等,这里选择Java:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jmPD2Sgt-00)(pic/–.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-duaNqS95-01)(pic/–.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DN4i9Ij-02)(pic/-002777-.png)]
选择Spring Boot版本:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S3y0wtBW-03)(pic/-039119-.png)]
选择需要引入的包,引入如下几个包即可满足web开发:
DevTools(代码修改热更新,无需重启)、Web(集成tomcat、SpringMVC)、Lombok(智能生成setter、getter、toString等接口,无需手动生成,代码更简介)、Thymeleaf (模板引擎)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5dHganKR-04)(pic/–.png)]
选择好要引入的包后直接回车,在新弹出的窗口中选择项目路径,至此Spring Boot项目创建完成
4. 打开项目
创建好后vscode右下角会有如下提示,Open it 即可打开刚才创建的Spring Boot项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W5mXQVh7-05)(pic/–.png)]
5. 项目运行跟调试
项目创建后会自动创建DemoApplication.java文件,在DemoApplication 文件目录下新建文件夹 Controller,新建文件HomeController.java。效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UxWWajjM-06)(pic/–.png)]
Ps:SpringBoot项目的Bean装配默认规则是根据DemoApplication类所在的包位置从上往下扫描。所以必须放在同一目录下否则会无法访问报如下所示错误:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JppP9r2H-07)(pic/–.png)]启动工程之前还需要配置下运行环境,如下图,点左边的小虫子图标,然后点上面的下拉箭头,选择添加配置,第一次设置时VS Code会提示选择需要运行的语言环境,选择对应环境后自动创建 launch.json 文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oKSs7CGX-08)(pic/image-054138.png)]
launch.json 调试配置文件如下,默认不修改配置也可使用:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6gxe1ol0-09)(pic/–.png)]
选择对应的配置环境调式项目如下,默认端口为8080。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fg8vKVrJ-10)(pic/image-.png)]
启动后可在控制台输出面板查看启动信息,显示如下后,访问:http://localhost:8080即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yRSJADqo-11)(pic/image-.png)]
最终效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2dibokTt-12)(pic/-017904-.png)]
6. 访问HTML页面
在spring boot 中访问html需要引入Thymeleaf (模板引擎)包,在创建项目时已引用该包这里不需在重复引用。在resources–>templates目录下创建Index.html文件,效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bTvVKv6f-13)(pic/—39.png)]
html内容:
在controller目录下新建TestController.java文件,代码如下:
Ps:如果要访问html页面注解必须为Controller不能为RestController。否则无法访问。
RestController和Controller的区别:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到success.html页面的,则其显示success.
2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回json或者xml或者自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解
效果展示如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTPwxn6y-14)(pic/–.png)]
到处基础配置结束,可以愉快的玩耍Spring Boot!
8. Tomcat安装
Windows 环境
下载地址
-
解压到安装目录
-
配置环境变量
变量名变量值CATALINA_BASED:Program filesApacheapache-tomcat-8.5.51CATALINA_HOMED:Program filesApacheapache-tomcat-8.5.51Path%CATALINA_HOME%bin -
启动
命令行中输入 或 ,然后在浏览器地址栏输入如下验证:
Linux 环境
Mac 环境
-
到官网下载安装包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZ0MQIiI-15)(pic/Screen Shot 2020-06-12 at 9.32.19 AM.png)]
-
解压tomcat文件,把它放入/usr/local目录(或其它目录)
-
授权bin目录下的所有操作
-
启动Tomcat
-
在浏览器端访问 http://localhost:8080/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v1UCDokA-17)(…/…/Desktop/Screen Shot 2020-06-12 at 10.36.49 AM.png)]
9. Mysql 安装
Windows 环境
-
在官网下载 MySQL , 安装版MySQL
-
配置初始化的my.ini文件的文件
解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件,将文件类型改为的.ini),写入基本配置: 记得改路径,Data文件夹会自动生成,无需创建
配置文件中的路径要和实际存放的路径一致
-
初始化MySQL
运行自动生成无密码的root用户。
运行自动生成带随机密码的root用户以管理员的方式打开cmd, 切换到安装目录下的bin目录下,执行:
输出:
记录下密码:OWMyd1?KzWj4
一定要以管理员的方式打开,不然会报错:Install/Remove of the Service Denied
-
安装MySQL服务 + 启动MySQL 服务
安装:
启动:
-
连接 MySQL
下载 Navicat
[安装与激活成功教程](#11. Navicat 安装与激活)
MySQL的服务已经开启了就直接打开的Navicat去连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rl2mV7PU-18)(pic/image-.png)]
还记得刚刚让你复制的root @ localhost:后面的初始密码了吗?现在要用到它了复制粘贴上去!
-
修改密码
在 Navicat 中双击连接名,修改密码
Linux 环境
MySQL下载
mysql 安装
http://www.coozhi.com/youxishuma/g4/86480.html
测试是否安装成功
linux上该命令将输出以下结果,该结果基于你的系统信息:
如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。
登录:
重置密码:
卸载与在线安装:
报错:
-
bash: mysqladmin: command not found
解决:
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
使用 MySQL Client(Mysql客户端) 执行简单的SQL命令
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到 MySQL 服务器上,默认情况下 MySQL 服务器的登录密码为空,所以本实例不需要输入密码。
命令如下:
以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:
Mysql安装后需要做的
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
现在你可以通过以下命令来连接到Mysql服务器:
注意:在输入密码时,密码是不会显示了,你正确输入即可。
MySQL提示ERROR 1698 (28000): Access denied for user ‘root’@’localhost’错误解决办法
Step1:修改mysqld.cnf配置文件
在ubuntu的terminal(也即终端)上输入
进入到配置文件后在这个配置文件中的 [mysqld] 这一块中加入skip-grant-tables这句话。
[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-daEPulfR-19)(pic/copycode.gif)]](javascript:void(0)😉
保存:wq,退出。
step2:设置root密码
在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入mysql后,分别执行下面三句话:
step3:注释掉skip-grant-tables
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RnCSU220-20)(pic/–.png)]
navicat Can’t connect to local MySQL server through socket ‘/var/lib/mysqld/mysqld.sock的解决办法
navicat上报错的路径var/lib/mysqld/mysqld.sock和mysql配置环境的路径不一样,在配置环境中改一下[mysqld]下的sock路径,并给大权限
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
对于这类错误,要么找到/tmp/mysql.sock文件 进行修改(但是比较麻烦)。但是我没找到这个文件 于是就用下面的方法了比较暴力但是很实用,直接卸载重装
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
客户端:终端和navicat的socket地址不一样,没有制定客户端所以两个不能同时登录。可以在配置文件中添加如下配置:
服务管理
卸载
Mac
参考 : https://www.cnblogs.com/nickchen121/p/11145123.html
MySQL下载
直接双击安装 : mysql-8.0.20-macos10.15-x86_64.dmg
设置环境变量
- 配置环境变量 :编辑~/.bash_profile文件
- 输入
- 使配置文件的修改生效,并查看环境变量是否设置成功
-
MySQL服务的启停和状态的查看
-
启动mysql服务
-
登陆服务
https://blog.csdn.net/chi0830/article/details/
https://www.cnblogs.com/R-S-PY/p/12680870.html
10. IDEA 部署 Tomcat
使用Idea的时候,修改了代码,需要反复的重启Tomcat,查看效果,是不是贼烦?还记得刚上手idea的时候,瞎配置部署Tomcat,结果最后修改一个jsp都要重新启动服务器,我这金牛座程序员能忍?这个时候就必须砸电脑了这个时候就可以在项目中加入热部署,这样才会大大节省开发效率!
Tomcat 下载~
官网地址-进入 http://tomcat.apache.org/
Tomcat 安装
解压即可,安装就over了,但解压路径最好不要是C盘,可能会出现拒绝访问等各种奇葩问题,还有解压路径不要有中文和特殊字符,切记!!!
Tomcat 热部署到IDEA
intellij idea默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化
这时就需要热部署。
看过来 : 如果各位觉得烦可以不看下面一大串文字当我在放P,直接按图操作也是完全OK滴!!!
在idea tomcat 中server的配置里,有个on frame deactivation,选择update classes and resources。另外有个配置on update action,就是手动操作的时候采取什么动作,可以重启服务器,也可以像上面一样更新类和资源文件,我选的是Redeploy。可是当前项目没有update classes and resources这个选项,有个Hot Swap classes。这是由于服务器添加的Artifact类型问题,一般一个module对应两种类型的Artifact,一种是war,一种是war explored。war就是已war包形式发布,当前项目是这种形式,在这种形式下on frame deactivation配置没有update classes and resources选项。war explored是发布文件目录,选择这种形式,on frame deactivation中就出现update classes and resources选项了。具体操作如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MvXginfM-22)(pic/IDEA连接Tomcat1-61.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OTveKICU-23)(pic/IDEA连接Tomcat2.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r5m5c4Vl-23)(pic/IDEA连接Tomcat3.png)]
server 的配置里,找到 on frame deactivation 条目,选择 update classes and resources
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vRWgdsLK-24)(pic/IDEA连接Tomcat4.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sEecmTd0-25)(pic/IDEA连接Tomcat5.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zNGfZXyH-27)(pic/IDEA%E8%BF%9E%E6%8E%A5Tomcat6-35.png)]
注:Artifact在project structure里设置,如果没有 系统会自动提示。artifact放的是服务器从项目中copy的web目录的内容,建议保存目录写到服务器安装目录的 webapps 下
idea两种热部署设置方法
第二种方法:在pom.xml添加相应依赖(不太建议使用),至于为什么不建议是因为之后开发没有那么多闲功夫注重有没有引入热部署坐标依赖,还不如直接在idea上配置,所谓一劳百益嘛!!!具体操作类似入下
到这里,两种方法也讲完了,哎哎这不就讲了一种吗,我顶你个肺…兄弟别冲动别急着顶我个fei,第一种方法就是idea自带的设置,上面已经配好了!挥爪,告辞那个要顶我fei的同学放学别走啊…
11. Navicat 安装与激活
Navicat 可以说是众多程序猿小伙伴的忠爱了,因为界面简洁且操作简单,让我们爱不释手;最近Navicat Premium 15发布了, 让我们来看看如何安装永久激活版哦(简称白嫖版)
Windows 环境
1. Navicat Premium 15 安装
安装软件包和注册机:
链接:https://bianchenghao.cn/s/1C1CkGtVhWMz-VEhS80HSVw
提取码:6umm
进入安装页面直接疯狂点下一步直到安装成功即可,当然你可以自己选择安装目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UlMHJtiC-28)(pic/—98.png)]
2. Navicat Premium 15 激活
使用注册机先退出所有杀毒软件,再打开注册机,否则会一直报错哦!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJTxXfMl-29)(pic/—27.png)]
1.Patch
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JAI7NZtH-30)(pic/—86.png)]
在 1) Patch 中选择Backup、Host、Navicat v15这三个,默认也是选择了这三个;勾选这三个后Patch
Patch按钮并找到Navicat Premium 15的安装目录的navicat.exe文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q7DhVnOg-31)(pic/–.png)]
出现以下提示说明Patch成功了,但别高兴的太早,这还只是第一步。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qFmFm8Hs-32)(pic/–.png)]
2. License. Product and Language
License里选中Enterprise、在Produce里选择Premium、在Languages里选择Simplified Chinese(简体中文)
3. Resale License
保持默认选择即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vaQRcowV-33)(pic/–.png)]
4. Keygen / Offline Activation
Generate按钮就会生成一个许可证秘钥,将许可证秘钥复制后就打开Navicat Premium 15
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-obmf7FFP-34)(pic/-033056-.png)]
然后打开Navicat Premium 15,一个是试用14天,一个是注册,这里我们注册
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l3hTpvpD-37)(pic/–.png)]
粘贴刚刚注册机生成的许可证秘钥,然后激活
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXGom5v2-38)(pic/–.png)]
激活后会提示因为激活服务器暂时不可用,所以你的许可证未能激活,我们就选择手动激活。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sgituxmy-38)(pic/–.png)]
手动激活后会生成一个请求码
复制请求码到注册机中的Request Code里面,之后Activation Code下面的Generate按钮就会生成一个激活码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NSe3tz1D-40)(pic/—52.png)]
将激活码复制到Navicat Premium 15中的激活码框框里,激活即可完成激活
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6hUf9Dq-41)(pic/–.png)]
Linux 环境
1. Navicat下载
2. 官方安装
3. 实际安装与激活成功教程
-
在官网下载软件,注意不是for Mysql版的,激活工具不能激活
-
下载wine,运行激活工具激活
下面等等方式测试失败
3.1 提取AppImage文件到文件夹里
如果 密码错误,可参见这里,可以用,先输入当前用户密码,再输入新密码。
3.2 编译安装(如果你觉得git下载太慢 keystone-master.zip)
3.3 生成私钥 (下载navicat-patcher和navicat-keygen 激活工具.zip)
3.4 激活
1)选择类别
2)选择语语言
3)主版本号
4)输入用户名)
5)输入组织名
6)在navicat中找到注册 输入序列号
7) 激活
8)选择 手动激活
9)复制 请求码 到keygen,连按两次回车结束
10)最终你会得到一个base64编码的 激活码
11)将之复制到 手动激活 的窗口,然后 激活
12 wine
sudo apt-get autoremove –purge
.文件在/home/cxy下
Wine安装成功后Linux系统上会有一个wine命令,wine命令的使用方法是这样的,:
运行一个exe文件:
wine exe文件在linux上的路径
报错
0052:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed
Solution: Winetricks
I decided to go old school and fall back to this neat little wrapper script, which you can use to install tons of common Windows applications, libraries and utilities, and hopefully, not have to deal with any fancy errors. I installed the script from the repos, and then installed dotNET 4.5 using it.
The UI launched, and I started clicking buttons. Progress was made. Errors came up, but the wizard did not crash. The errors are far from helpful, and unless they block the installation, they should not be shown.
Ubuntu 18.04下给Wine设置微软雅黑字体(4步操作)
2、新新建一个空文本,取名为msyh_font.reg(后缀是reg即可,文件名随便取的),终端命令操作:
sudo gedit msyh_font.reg
再把下面内容复制进去(注意Tahoma Bold那一行我是对应的之前复制过来的msyh粗体,如果你只复制了常规字体,下面应该全部填msyh.ttc):
保存好之后,终端执行命令才能生效:
regedit msyh_font.reg
3、进入wine目录,编辑system.reg配置文件:
sudo gedit ~/.wine/system.reg
查找关键词FontSubstitutes,把它下面挨着的“MS Shell Dlg”=”SimSun”改为“MS Shell Dlg”=”msyh”。
改完记得保存。
4、终端执行命令打开wine配置管理:
winecfg
选中默认设置,再把系统改成Windows 10或者Win 7,这个随意,只要不是Windows XP什么的就行,因为老系统上没有雅黑这个字体,所以会看不到效果。
最好是重启下系统或者注销一下,搞定。既能解决乱码问题,又美观。
13 Maven 安装
1. 下载压缩包
官网地址
注意下载二进制包(binary),不要选择源码包(source)
2. 解压
提取到想要安装的目录
3. 配置环境变量
配置 MAVEN_HOME 和 PATH,如果没有配置JAVA_HOME,也加上
4.使配置生效
修改配置文件($MAVEN_HOME/conf/setting.xml)
5. 验证安装是否成功
14. GitLab安装
镜像地址
1.安装依赖包
2. 邮件配置
选择Internet那一项,不带Smarthost的
安装期间,可能会出现配置屏幕。选择“Internet Site”,按回车键。使用您的服务器的外部DNS ‘mail name’ :gitlab.atguigu.com和按回车。如果出现其他屏幕,继续按enter以接受默认设置。如果点确定没有反应就按Tab键
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8w8rrS3j-42)(pic/InternetSite.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-adGiFVvJ-43)(pic/DNS-64.png)]
3. 安装方式一:镜像安装
免费版
企业版
4. 安装方式二:下载安装
5. 配置访问路径
6. 更新配置
7. 重新启动gitlab
结果如下图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OT4Jlyf7-43)(pic/-816e0b.png)]
8. 打开 sshd 和 postfix 服务
9. 查看gitlab服务器状态
10. 结果
在浏览器中访问http://gitlab.atguigu.com
参考:
https://www.bianchenghao.cn/p/2eef885b4aed
https://www.bianchenghao.cn/p/907bdc
15. Redis安装
Ubuntu
安装
启动 Redis
查看 redis 是否启动?
以上命令将打开以下终端:
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
whereis redis 查看redis的安装位置
Mac
其余的同Ubuntu
16. Xmind安装
1.下载安装包
2. 安装相关依赖
注: 后面步骤可以视情况而定,如果直接能打开了就不用后面的步骤
3. 修改配置文件
将相对路径改为绝对路径 :
4. 配置环境变量
5. 创建桌面图标
打开目录 /usr/share/applications
创建appname.desktop文件(需要管理员权限,名称任意,不影响在开始菜单中的名称)
添加下面代码
17. 安装gif制作工具
安装
Linux
Mac
先安装 imagemagick
还要安装 pkg-config
然后安装 imagick
应用
把图片放缩为640×480
图片生成动态 GIF
如果你有静态的 jpg 图片序列,在 Linux 中也可轻松生成动态 GIF,而不必动用到 Windows 中像 Photoshop 这样的神器。先将所有 JPG 放到同一文件夹,再在终端中执行如下命令即可:
- -delay 120 表示 GIF 动画速度
- -loop 0 表示无限循环
视频生成GIF
要将视频转换为 GIF 只使用到 ffmpeg 命令,格式如下:
- -ss 表示起始点
- -i 后面跟要操作的那个视频文件
- -to 表示文件的终止点
- -r 帧速率,可以增大这个值输出更画质更优的 GIF 文件
- -vf 图形筛选器,GIF 的缩放大小
18. 虚拟环境配置
1. 安装虚拟机
virtualbox就可以打开
https://www.cnblogs.com/luengmingbiao/p/10859905.html
https://www.bianchenghao.cn/p/9cc4622d11f6
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wuz5TQjf-44)(pic/image-.png)]
19. [集群环境搭建](#7. 集群环境搭建)
1. 删除所有dump.rdb文件
2. 安装ruby
3. 安装Hadoop
[Hadoop安装](#5. Hadoop安装)
4. 启动YARN并运行MapReduce程序
配置见BigData.md
20. 双系统下对Ubuntu系统扩容
1. 在Windows系统下对磁盘分区
核心:想要从哪个磁盘分出空间,就在那个盘右键选择压缩卷,设置要压缩的空间. 然后在新的未分配区上右键,新建分区,后面的就根据情况设置,基本是默认
1-3 计算机–>管理–>管理磁盘:
右键单击所要分区的硬盘,在菜单中选择“压缩卷”。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ssqr2JGV-46)(pic/0e.jpg)]
4、分配分区大小,“压缩”。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17A0i3iK-47)(pic/e.jpg)]
5、接着会出现一个未分配的分区,即刚刚压缩的,在此盘符上单击右键,在弹出的菜单中选择“新建简单卷”。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WmeB7PSv-48)(pic/.jpg)]
6、新建简单卷向导。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-azhkRC1I-49)(pic/.jpg)]
7、指定简单卷大小,此处默认即可,下一步。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bL8ftIjs-50)(pic/.jpg)]
8、分配以下驱动器号,即盘符号,可在出现的各字母中任意选择,下一步。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2I0JivRC-51)(pic/.jpg)]
9、格式化分区,一般设置默认即可,下一步。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XuxzCXjO-52)(pic/.jpg)]
10、单击完成,稍等片刻。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-71n95D9n-53)(pic/e.jpg)]
11、正在格式化ing……
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xt9YYO-54)(pic/f.jpg)]
12、格式化成功!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hea5Jq0N-55)(pic/.jpg)]
13、新建好的E盘,可以存储数据了!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gyBRSQRf-56)(pic/f.jpg)]
2. 在Ubuntu系统下安装Gparted
3. 用Gparted分区
前提: 交换空间和/根目录都是带锁的
核心: 先分区,将分出的盘符一步步移动到交换空间上面, 卸载交换空间,得以和当前盘符交换,交换后启动交换空间.此时分出的盘符在Linux swap交换空间下面. 继续移动到/根目录前面,不能交换了,制作虚拟硬盘,按F12 or F10进入bios 启动USB启动盘, 选择try Ubuntu,进去再打开Gparted就可以将当前的未分区盘符合并到根目录上了. z
注意: 注意要把操作应用到系统才能生效
别人的教程: 过程是看了多个教程自己琢磨的, 具体看上面的分析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qI6V3VxP-57)(pic/.png)]
右上角, 选择当前磁盘(小C这里是250G固态和1T机械,ubuntu装在机械硬盘里),如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5fphlUy3-58)(pic/.png)]
在这里插入图片描述可以看到320G未分配区域,这块区域是小C从windows系统下腾出来(也可以不用腾),要一步步挪到/根目录上方,最后与根目录合并的.后面给出合并过程.在此之前,我们需要将ext4前面的小钥匙去掉,有它存在,我们就不能对根目录操作了呢~
接着,制作ubuntu16.04的U盘启动盘,从U盘启动,进入安装ubuntu界面,选择”try ubuntu”(切记不要安装),直接进入试用ubuntu界面,如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-733Xv3z0-59)(pic/.png)]
进入GParted,发现小钥匙不见了!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2rlTYC7k-60)(pic/.jpg)]
接下来,选中linux-swap,右键,选择”禁用交换空间/swapoff”,小钥匙又不见了! 终于可以放心合并空间了.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DU4xL57F-62)(pic/.jpg)]
右键fat32,选择”调整大小/移动”:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WIRbpYt0-63)(pic/55212.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lX56KO3i-64)(pic/.jpg)]
这里有三个编辑框,分别是:
- Free Space Preceding: 代表从sda4压缩出未分配空间,并将其放在sda4的上方,即sda4与sda3之间
- New Size: 表示sda4的容量,若要从sda4压缩出未分配空间,该处为减去压缩值后的值
- Free Space following : 代表从sda4压缩出未分配空间,并将其放在sda4的下方,即sda4与sda5之间
由于小C已经提前压缩了未分配空间,这里只需将Free Space Preceding的容量剪切到Free Space following里,然后选择”resize/move”就可以了.
tip:若没有提前压缩,选择你想腾出空间的磁盘,只需将Free Space Preceding或Free Space following里填入需要压缩的容量(New Size里会自动计算剩余值),再把未分配空间一步步挪到根目录上方或下方就可以了.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZylO1SHm-65)(pic/.jpg)]
可以看到未分配空间已经挪到了sdb4和sdb5之间,中间提示的警告可以忽略.同样的方法将其挪到根目录上方.如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M7Jt0BeK-66)(pic/.jpg)]
右键ext4,选择”调整大小/移动”:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-14BVIyag-67)(pic/.jpg)]
将上方的条形框拉到最大,此时Free Space Preceding和Free Space following都为0,选择”resize/move”.如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rpG42iot-69)(pic/.jpg)]
至此,调整工作完成! 如下图(根目录扩充到了490G). 但是别急,后面还有重要的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TmmSCMii-70)(pic/.jpg)]
如果发现调整的不对,不用担心,上方橙色的箭头可以撤销,检查没有问题,绿色对号,将调整结果应用到整个系统.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKBTecnY-71)(pic/.jpg)]
进度条走完后,还有项非常重要的工作,敲小黑板啦~ 将linux-swap的小钥匙添加回来(右键-启动交换空间/swapon), 否则,重启系统会出错!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cjPSEnt0-74)(pic/.jpg)]
21. Docker安装
官方文档
Ubuntu
sudo apt-get install docker-ce=5:19.03.83-0ubuntu-bionic docker-ce-cli=5:19.03.83-0ubuntu-bionic containerd.io
Docker Engine-Community 支持以下的 Ubuntu 版本:
- Xenial 16.04 (LTS)
- Bionic 18.04 (LTS)
- Cosmic 18.10
- Disco 19.04
- 其他更新的版本……
Docker Engine – Community 支持上 x86_64(或 amd64)armhf,arm64,s390x (IBM Z),和 ppc64le(IBM的Power)架构。
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
当前称为 Docker Engine-Community 软件包 docker-ce 。
安装 Docker Engine-Community,以下介绍两种方式。
使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker 。
设置仓库
更新 apt 包索引。
安装 apt 依赖包,用于通过HTTPS来获取仓库:
添加 Docker 的官方 GPG 密钥:
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。
使用以下指令设置稳定版仓库
安装 Docker Engine-Community
更新 apt 包索引。
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:
使用第二列中的版本字符串安装特定版本,例如
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功
设置镜像加速器
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KHWvH0c-75)(pic/02F3AF04-8203-4E3B-A5AF-96973DBE515F.jpg)]
之前还有 Docker 官方加速器 https://registry.docker-cn.com ,现在好像已经不能使用了,我们可以多添加几个国内的镜像,如果有不能使用的,会切换到可以使用个的镜像来拉取
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
之后重新启动服务:
测试是否安装成功:
Docker卸载
- 删除某软件,及其安装时自动安装的所有包
- 删除docker其他没有没有卸载
3.卸载没有删除的docker相关插件(结合自己电脑的实际情况)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oHtPAmuP-76)(pic/–.png)]
- 删除docker的相关配置&目录
- 确定docker卸载完毕
Mac
下载docker desktop
拖动Docker 移动至Applications 完成安装
如果启动Hadoop容器报错:WARNING: Error loading config file: /Users/xiyucai/.docker/config.json: EOF
解决:
- Locate the file located under the folder in your folder.
- If the file is empty, add to the file and save it.
- Try the Docker task or command again.
22.Docker 内安装实例
1. Docker安装Tomcat
1. 通过docker pull tomcat
查找 Docker Hub 上的 Tomcat 镜像:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3CaNYDhg-77)(pic/F5FE5252-6FD3-4DE3-880B-E45676.jpg)]
可以通过 Sort by 查看其他版本的 tomcat,默认是最新版本 tomcat:latest。
此外,我们还可以用 docker search tomcat 命令来查看可用版本:
这里我们拉取官方的镜像:
等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 tomcat 的镜像。
查看镜像的版本号并修改
2. 通过 Dockerfile 构建
1. 创建 tomcat 目录
首先,创建目录tomcat(仓库的路径必须不含有大写字母),用于存放后面的相关东西。
- webapps 目录将映射为 tomcat 容器配置的应用程序目录
- logs 目录将映射为 tomcat 容器的日志目录
- conf 目录里的配置文件将映射为 tomcat 容器的配置文件。
将安装包复制到tomcat目录
2. 进入创建的 tomcat 目录,创建 Dockerfile
Ubuntu:
Mac :
3. 构建
4. run
命令说明:
-p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的 test 挂载到容器的 /test。
查看容器启动情况:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uGoPfa77-78)(pic/image-.png)]
5. 通过浏览器访问
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmzDuHUR-79)(pic/image-.png)]
在容器外面操作:
注意事项
- 仓库的路径必须不含有大写字母
- 如果想要修改镜像,可删掉本地的logs文件夹,再修改Dockerfile文件 重新build 和 run 即可
在Tomcat上的发布演示
- 假设当前在tomcat9目录下, 在宿主机上test目录下新建 $PWD/test/WEB-INFO/web.xml
- 在宿主机上当前目录下新建 $PWD/test/a.jsp
-
查看服务器端是否有宿主机上刚刚上传的文件
-
重启容器(tomcat服务器)
-
在网页上查看a.jsp
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-90WD6B3U-80)(pic/image-.png)]
-
修改a.jsp, 刷新网页, 也跟着变了
-
查看logs
可以看到a.jsp里写的代码中后台打印的内容
2. Docker 安装MySQL
运行镜像
因为我宿主端安装过MySQL,所以3306端口被占用,将服务器端的端口改为3307了
- -p 3307:3306 : 将主机的
查看是否安装成功
用宿主机的Navicat连接Docker内的MySQL
退出mysql,退出容器后,查看容器结构,复制容器的IP地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vdn7lhHD-81)(pic/image-.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNcb8tJk-82)(pic/image-.png)]
3. Docker安装Redis
运行容器
安装完成后,我们可以使用以下命令来运行 redis 容器:
-p 6379:6379:映射容器服务(服务器端)的 6379 端口到宿主机(客户端)的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务
测试redis服务
接着我们通过 redis-cli 连接测试使用 redis 服务。
4. 安装Hadoop
具体参照[本机安装](#5. Linux Hadoop安装)
1. 配置Dockerfile
2. 构建镜像
3. 运行镜像
4. 配置环境变量
5. 安装ruby
6. 安装ssh
报错:ssh: connect to host hadoop1 port 22: Connection refused
Install server.
For Ubuntu command is :
In hadoop-env.sh file ( present in /etc/hadoop) add the following line :
Start SSH server:
Try again:
7. 集群环境搭建
详见标题19,以及BigData.md,以下只贴代码
1. 单机模式/本地模式(Standalone Operation)
这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统,一般仅用于本地MR程序的调试
- 官方Grep案例
- 官方WordCount案例
2. 伪分布模式(不要求掌握)
这种模式也是在一台单机上运行(一个节点),但用不同的Java进程模仿分布式运行中的各类结点: (NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode)
请注意分布式运行中的这几个结点的区别:
1. 启动HDFS并运行MapReduce程序
-
配置集群
注意java和Hadoop的HOME目录和缓存不要错了,localhost根据需要想要登录的主机名(要改就全部地方都改)
切换到$HADOOP_HOME/etc/hadoop路径下:
-
hadoop-env.sh
-
core-site.xml
将下面里的内容存到配置文件的里
-
hdfs-site.xml
注:第二个属性中/home/cxy/Hdp/app/tmp路径用来存放临时文件,因为hadoop.tmp.dir的默认路径…tmp重启会被清空
-
/opt/hadoop-2.6.0-cdh5.9.3/etc/hadoop/slaves
将localhost改为主机名.只有在群起的时候slaves才发挥作用,其余都不用配置slaves
-
-
启动集群(后面的操作都在HADOOP_HOME目录下)
-
第一次启动Hadoop必须要格式化,格式化不要重复执行, 如果格式化没报错则配置完成
-
启动NameNode
-
启动DataNode
-
-
查看集群
- 查看是否启动成功 :
注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps
-
web端查看HDFS文件系统
http://localhost:50070/dfshealth.html#tab-overview
如果是docker上的Hadoop,请将localhost改为仓库的ip地址(可用docker inspect [容器ID] 查看ip),如:
http://172.17.0.2:50070/dfshealth.html#tab-overview
注意自己设置的端口号
http://localhost:50071/dfshealth.html#tab-overview
看到如下图则配置成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kqZuIJLu-84)(pic/image–03.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mtgai2TY-85)(pic/image–04.png)]
-
操作集群
-
在HDFS文件系统上创建一个input文件夹
-
将测试文件内容上传到文件系统上
-
查看上传的文件是否正确
-
运行MapReduce程序
- 查看输出结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDuWACLG-86)(pic/image–55.png)]
- 将测试文件内容下载到本地
- 删除输出结果
-
2. 启动YARN并运行MapReduce程序
- 配置YARN
注意java和Hadoop的HOME目录和缓存不要错了,localhost根据需要想要登录的主机名(要改就全部地方都改)/usr/local/hadoop-2.6.0-cdh5.9.3
-
yarn-env.sh
-
yarn-site.xml
将下面里的内容存到配置文件的里
-
mapred-env.sh
-
mapred-site.xml
2.启动集群(以下命令在$HADOOP_HOME下运行)
-
启动前必须保证NameNode和DataNode已经启动
-
启动ResourceManager
-
启动NodeManager
-
查看集群
-
查看是否启动成功 :
-
操作集群
-
YARN的浏览器页面
http://localhost:8088/cluster
or (docker inspect [containerID])查看自己的ip
http://172.17.0.2:8088/cluster
查看,如图2-35所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cQYiytDH-87)(pic/image–00.png)]
-
删除文件系统上的output文件
-
执行MapReduce程序
-
查看运行结果
3. 完全分布模式
Docker Ubuntu容器安装ping
3.1 开启3个容器实例
https://cr.console.aliyun.com/repository/cn-chengdu/cxy_explore
-
如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
-
生成镜像并推送到Registry
-
开启3个hadoop的实例
–hostname 和–ip中的配置会加载到 /etc/hosts中,但是当容器关闭,/etc/hosts中的自己配置的内容就会清掉,建议不要随便关掉容器.
-
改配置中的主机名和设置hosts(vim /etc/hosts),容器和宿主机的hosts都要将所有ip加进去
- core-site.xml
- yarn-site.xml
- slaves
- /etc/hosts : 因为后面要实现服务器之间传文件,所以在各自的主机中都要把所有的主机名和ip地址加上
3.2 编写集群分发脚本
-
如果是虚拟机,可以用scp在虚拟机间传数据
如果是docker, 需要要宿主机作中介
- 从容器内拷贝文件到宿主机上
- 从宿主机拷文件到容器里
-
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。输入文件夹和输出文件夹必须是同一路径
开启ssh(此步骤可在rsync之前)
选项功能-a归档拷贝(修改时间,权限,所有者等信息和原来完全一致)-v显示复制过程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ecxkGNbV-88)(pic/image-.png)]
-
xsync集群分发脚本
(1)需求:循环复制文件到所有节点的相同目录下
(2)需求分析:
-
期望脚本:xsync要同步的文件名称
-
说明:在/home/xxx/bin或/usr/local/bin 这个目录下存放的脚本,用户可以在系统任何地方直接执行。
脚本实现:
在/usr/local/bin 目录下创建 xsync 文件
注意看每个主机的hosts有没有配置好
同理,创建jpsall:
如果报错:bash: jps: command not found,可输入jps命令下的绝对路径:
建立群起集群的脚本:start-dfs.sh
注意:如果将xsync放到/home/xxx/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下
-
-
快速分发Hadoop和java
3.3 集群配置
-
集群部署规划
hadoop2hadoop3hadoop4HDFSDataNode
NameNodeDataNodeDataNode
SecondaryNameNodeYARNNodeManagerNodeManager
ResourceManagerNodeManager -
配置集群(先在主机hadoop2在配置再分发出去)
-
core-site.xml
指定HDFS中NameNode的地址(如上表): hadoop2
-
slaves
slaves文件只作用在NameNode上面,比如我在slaves里面配置了
host1
host2
host3
三台机器,这时候如果突然间新增了一台机器,比如是host4,会发现在NN上host4也自动加入到集群里面了,HDFS的磁盘容量上来了,这下子不是出问题了?假如host4不是集群的机器,是别人的机器,然后配置的时候指向了NN,这时候NN没有做判断岂不是把数据也有可能写到host4上面?这对数据安全性影响很大。所以可以在hdfs-site.xml里面加限制 -
yarn-site.xml
-
hdfs-site.xml
-
mapred-env.sh, hadoop-env.sh, yarn-env.sh
只配置JAVA_HOME, 生成镜像时已配
-
-
在集群上分发配置好的Hadoop配置文件
注: 直接将HDFS的主机hadoop1的etc文件夹分发给从机即可
-
查看文件分发情况
-
配置完成,保存镜像
https://cr.console.aliyun.com/repository/cn-chengdu/cxy_explore
3.4 集群单点启动(手动一个个地启动)
关闭:
http://172.17.0.2:50070/dfshealth.html#tab-overview
http://localhost:50071/dfshealth.html#tab-overview
3.5 SSH无密登录配置
- ssh
- ssh-1:对称加密,加密和解密都用相同的密钥
- ssh-2:非对称加密(如下图)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gfoE3A15-89)(pic/image-.png)]
-
测试用hadoop2免密登录hadoop3
注意每次重新打开容器,端口都会重新分配的(因为/etc/hosts中的配置被清掉,建议不要随便关闭容器),查看每个主机中的hosts,把所有主机都加上
注: ~/.ssh/authorized_keys里装的是所有已知的能免密登录本机的密钥
- authorized_keys: 存放授权过得无密登录服务器公钥
- id_rsa : 生成的私钥文件
- id_rsa.pub : 生成的公钥文件
- know_hosts : 记录ssh访问过计算机的公钥(public key)
3.6 群起集群
- 配置slaves
- 启动集群
如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
- 启动HDFS
-
启动YARN
注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN
或者直接用脚本启动:
-
Web端查看SecondaryNameNode
http://172.17.0.2:50070/dfshealth.html#tab-overview
http://localhost:50071/dfshealth.html#tab-overview
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6anU9sgT-90)(pic/image-.png)]
注意: 如果发现只有hadoop2一个节点,可能是因为我之前的镜像是格式化且启动过hdfs发,导致datanode的VERSION里面有2个id是一样的,datanodeUuid和storageID,因此在master:50070上死活只看到一个datanode.
解决方法: 删掉hadoop3,hadoop4的temp和logs文件夹
http://172.17.0.3:8088/cluster : 看Nodes
http://localhost:8090/cluster 注意端口
-
在Mac下不能ping通容器的IP。
LINUX的docker架构 OSX的docker架构
docker是在linux内核容器基础上实现的,linux安装docker后,会创建一个为docker0的虚拟网卡,linux宿机与docker容器之间的通信,通过docker0虚拟网卡进行
docker在OSX的实现方式,是首先创建一个linux的虚拟机,在将docker放入到虚拟机中实现,而对于linux虚拟机,与OSX之间的通信,目前版本采用这种socket文件来通信,在OSX宿机中自然ping不通docker容器。
-
集群基本测试
-
上传文件
-
计算
-
-
一些问题
如果登录后执行,用到的环境变量文件是 : /etc/profile
未登录执行($ ssh hadoop2 “jps”),用到的环境变量文件: .bashrc
若JAVA的环境变量配置在etc_profile, 则采取未登录执行命令的方式就没有配置的环境变量了. 解决方案:
-
到~/.bashrc中配置环境变量
3.7 集群启动/停止方式总结
- 各个服务组件逐一启动/停止
分别启动/停止HDFS组件
启动/停止YARN
- 各个模块分开启动/停止(配置ssh是前提)常用
整体启动/停止HDFS
整体启动/停止YARN
$ start-yarn.sh
$ stop-yarn.sh
3.8 历史服务器和日志聚集配置(跳过,失败了)
配置之前先停止集群
配置:
mapred-site.xml
日志聚集配置在哪个主机都可以,因为hadoop4空着,所以配置在hadoop4上。加上下面的配置
yarn-site.xml
分发配置到所有主机
启动集群
3.9 集群时间同步(失败)
时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间
- vim /etc/ntp.conf
- vim /usr/sbin/ntpd(不用设置,时间已经同步了)
-
启动ntp服务
5. 配置Zookeeper集群
-
上传文件到hadoop2
-
解压
-
重命名apache-zookeeper-3.6.0-bin/conf这个目录下的zoo_sample.cfg为zoo.cfg
-
配置zoo.cfg文件
Server.A=B:C:D。
A是一个数字,表示这个是第几号服务器;
B是这个服务器的IP地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:
1.tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)
2.initLimit =10:LF初始通信时限
集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。
3.syncLimit =5:LF同步通信时限
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
4.dataDir:数据文件目录+数据持久化路径
主要用于保存Zookeeper中的数据。
5.clientPort =2181:客户端连接端口
监听客户端连接的端口。
-
创建并修改zkData下的myid(如果是本地模式,则不用配置此文件)
-
分发zookeeper配置, 并分别修改myid文件中内容为3、4
-
修改hadoop3,hadoop4的myid文件中内容为3、4
-
启动zookeeper
-
查看状态
6. 配置HDFS-HA集群
官方地址:http://hadoop.apache.org/
- 准备Hadoop
-
修改Hadoop的环境变量,$HADOOP_HOME改到ha下
hadoop-env.sh
-
配置core-site.xml
-
配置hdfs-site.xml
-
分发配置好的hadoop环境到其他节点
启动HDFS-HA集群
- 命令启动 journalnode 服务
-
在[nn1]上,对其进行格式化,并启动
http://172.17.0.2:50070/dfshealth.html#tab-overview
http://localhost:50071/dfshealth.html#tab-overview
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NVB5rurI-91)(pic/image–43.png)]
-
在[nn2]上,同步nn1的数据信息
-
启动[nn2]
http://172.17.0.3:50070/dfshealth.html#tab-overview
http://localhost:50072/dfshealth.html#tab-overview
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GSaUuH9i-92)(pic/image–44.png)]
-
在[nn1]上,启动所有datanode
-
将[nn1]切换为Active
-
查看是否Active
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZMeCfIfi-93)(pic/image–44.png)]
配置HDFS-HA自动故障转移
1. 具体配置
-
先停掉集群,删除log,data
-
在hdfs-site.xml中增加
-
在core-site.xml文件中增加
-
分发配置
2. 启动
- 命令启动 journalnode 服务
- 启动Zookeeper集群(之前没有关可跳过)
- 在[nn1]上,对其进行格式化
- 初始化HA在Zookeeper中状态
3. 验证
-
在[nn1]上,对其进行格式化,并群起集群
-
在[nn2]上,同步nn1的数据信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kfP0VwA4-94)(pic/image–45.png)]
-
将[nn1]切换为Active
-
查看是否Active
7. 配置YARN-HA集群
-
规划集群
hadoop2hadoop3hadoop4NameNodeNameNodeJournalNodeJournalNodeJournalNodeDataNodeDataNodeDataNodeZKZKZKResourceManagerResourceManagerNodeManagerNodeManagerNodeManager -
具体配置
-
yarn-site.xml
-
同步更新其他节点的配置信息
-
-
启动zookeeper
-
启动集群
-
查看是否成功
http://172.17.0.2:8088/cluster/nodes
http://localhost:8089/cluster
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dH1wVmKn-95)(pic/image-.png)]
查看hadoop3会自动跳到hadoop2,跳过去是用的域名,如果不能显示,查看hosts里有没有加入hadoop2,hadoop3,hadoop4的IP地址
8. Hive 安装与配置
注: Hive的使用依赖于Hadoop,所以启动Hive前先要[启动Hadoop集群](#8.2. Hadoop集群配置). 为了实现登录Hive可以打开多窗口,使用mysql作为数据库.所以如果配置了mysql作为数据库,就要[开启mysql服务](#8.3. 安装MySql).此时再登录Hive
-
Hive官网地址
http://hive.apache.org/
-
文档查看地址
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
-
下载地址
http://archive.apache.org/dist/hive/
-
github地址
https://github.com/apache/hive
8.1. 安装
-
将安装包复制到hadoop2
-
unpack the tarball.
-
配置环境变量
-
修改conf目录下的hive-env.sh.template名称为hive-env.sh,并配置hive-env.sh文件
8.2. Hadoop集群配置
-
设置hosts,开启ssh服务
-
启动Hadoop集群
创建shell脚本启动
或启动hdfs和yarn
-
在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改他们的同组权限可写
-
启动Hive
8.3. 安装MySql
为了将数据放到MySQL而安装MySQL,在hadoop2中安装mysql
安装MySql服务器(在hadoop3中安装)
建议apt安装,下载的安装包安装会出现很多问题
1. apt安装mysql
https://bianchenghao.cn/article/157282.htm
如果报找不到套接字的错误,可能是上次卸载没有删除干净,先找到目录删除了再重装。或者用auto-remove移除
如果报错:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1AZwCXwn-96)(pic/image-.png)]
查看启动日志,发现是因为之前安装一个的mysql.sock文件没有删,找到报错的目录把那个文件删了重新初始化就好了
修改密码:
这里是关键点,由于mysql5.7没有password字段,密码存储在authentication_string字段中,password()方法还能用
修改完密码,需要重启mysql (我没有重启,貌似也可以)
2. 下载安装包安装
测试是否安装成功
如果报错:bash: mysqladmin: command not found
linux上该命令将输出以下结果,该结果基于你的系统信息:
如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。
登录:
如果报错:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BXsutSbY-98)(pic/image-.png)]
查看启动日志,发现是因为之前安装一个的mysql.sock文件没有删,找到报错的目录把那个文件删了重新初始化就好了
重置密码:
MySql中user表中主机配置,配置无主机登陆
现在还只能在hadoop3上登陆mysql。
目标是配置: 只要是root用户+密码,在任何主机上都能登录此主机上的MySQL数据库。
- 进入mysql
2.显示数据库
3.使用mysql数据库
4.展示mysql数据库中的所有表
5.展示user表的结构
6.查询user表
7.修改user表,把Host表内容修改为%
8.删除root用户的其他host,有则删
9.刷新
10.退出
8.4. Hive基本操作
- 在新hadoop2窗口启动mysql
- 启动hive
如果报错:…Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure…
可能是因为把hive和mysql都装在一个主机上了,此时需要在hive-site.xml中将主机名改为localhost
- 查看数据库
- 打开默认数据库
- 显示default数据库中的表
- 创建一张表
- 查看表的结构
- 向表中插入数据
- 查询表中数据
- 删除表
如果不能删除,可能是字符集的问题,退出hive,在mysql中移除hive的database,再新建其字符集,改变字符集,最后重启hive。如下:
10.退出hive
说明:(查看hive在hdfs中的结构)
数据库:在hdfs中表现为${hive.metastore.warehouse.dir}目录下一个文件夹
表:在hdfs中表现所属db目录下一个文件夹,文件夹中存放该表中的具体数据
8.5. 将本地文件导入Hive案例
需求:
将本地(容器本地,不是宿主机本地) student.txt 的数据导入到hive的student(id int, name string)表中。
-
先将从宿主机将文件传到hadoop2,或者直接在hadoop2下新建文本文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P0Apsx75-99)(pic/image-.png)]
-
创建student表, 并声明文件分隔符’ ’
- 加载/opt/datas/student.txt 文件到student数据库表中。
- Hive查询结果
- 再打开一个客户端窗口启动hive,会产生java.sql.SQLException异常。
原因是,Metastore默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qpip04LG-00)(pic/b58f8c5494eef01fc3eab5f4babd317d57.jpeg)]
hive默认将数据存储到本地内嵌的Derby数据库中,但是Derby不支持多会话链接,因此我们使用mysql数据库来存储hive的数据。配置完成hiveSQL的数据库之后再开始安装、配置hive
8.6. Hive数据配置到MySql
驱动下载: https://mvnrepository.com/artifact/mysql/mysql-connector-java
1. 驱动拷贝:
2. 配置Metastore到MySql
注:后面创建分区表出错,所以没有用mysql作为数据库,即不用hive-site.xml文件下列内容
1.根据官方文档配置参数,拷贝数据到hive-site.xml文件中
-
把数据放到Mysql
退出mysql,新建窗口打开hadoop2容器,登录Hive
登录Hive前 登录Hive后
Navicat for Premium 9.0.2激活
- 配置完毕后,如果启动hive异常,可以重新启动虚拟机。(重启后,别忘了启动hadoop集群)
8.7. 多窗口启动Hive测试
在两个窗口中分别启动Hive
8.8. Hive常用交互命令
因为之前将本地数据读入Hive了,而Hive是将数据存在HDFS上的,所以在Hive上新建table(相当于建立索引),就会到hdfs上对应位置去寻找有没有该表. 注:Hive存的是对应关系,HDFS存的是数据
-
“-e”不进入hive的交互窗口执行sql语句
-
“-f”执行脚本中sql语句
-
在/opt/datas目录下创建hivef.hql文件
-
执行文件中的sql语句
-
执行文件中的sql语句并将结果写入文件中
-
8.9. Hive其他命令操作
-
退出hive窗口
在新版的hive中没区别了,在以前的版本是有的:
exit:先隐性提交数据,再退出;
quit:不提交数据,退出;
- 在hive cli命令窗口中如何查看hdfs文件系统
- 在hive cli命令窗口中如何查看本地文件系统
-
查看在hive中输入的所有历史命令
(1)进入到当前用户的根目录/root或/home/atguigu
(2)查看. hivehistory文件
8.10. Hive常见属性配置
1. 查询后信息显示配置
1)在hive-site.xml文件中添加如下配置信息,就可以实现显示当前数据库,以及查询表的头信息配置。
2)重新启动hive,对比配置前后差异。
Hive重启前 Hive重启后
- 配置完毕后,如果启动hive
2. Hive数据仓库位置配置
-
Default数据仓库的最原始位置是在hdfs上的:/user/hive/warehouse路径下。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-109aovDL-01)(pic/image-.png)]
-
在仓库目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹。
-
修改default数据仓库原始位置(将hive-default.xml.template如下配置信息拷贝到hive-site.xml文件中)。
配置同组用户有执行权限
3. Hive运行日志信息配置
-
Hive的log默认存放在/tmp/root/hive.log目录下(当前用户名下)
-
修改hive的log存放日志到/opt/hive/logs
-
修改conf/hive-log4j.properties.template文件名称为:hive-log4j.properties
-
在hive-log4j.properties文件中修改log存放位置
-
8.11 参数配置方式
1.查看当前所有的配置信息
-
参数的配置三种方式
-
配置文件方式
默认配置文件:hive-default.xml
用户自定义配置文件:hive-site.xml
注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。配置文件的设定对本机启动的所有Hive进程都有效。
-
命令行参数方式
启动Hive时,可以在命令行添加-hiveconf param=value来设定参数。
注意:仅对本次hive启动有效
-
参数声明方式
可以在HQL中使用SET关键字设定参数
注意:仅对本次hive启动有效
上述三种设定方式的优先级依次递增。即配置文件<命令行参数<参数声明。注意某些系统级的参数,例如log4j相关的设定,必须用前两种方式设定,因为那些参数的读取在会话建立以前已经完成了。
-
23. VSCode访问Docker容器内的文件系统
-
在vscode中下载插件: Remote – Containersms
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o9O0sdO2-02)(pic/image-.png)]
-
Attach
Another way to learn what you can do with the extension is to browse the commands it provides. Press to bring up the Command Palette and type in for a full list of commands.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EbR1J2Ge-03)(pic/remote-command-palette.png)]
You can also click on the Remote “Quick Access” status bar item to get a list of the most common commands.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2jBnROB-04)(pic/remote-dev-status-bar.png)]
For more information, please see the extension documentation.
-
选择需要打开的文件
选择File –> open file
24. ubuntu 安装anydesk
-
进入anydesk官网下载最新版linux版本
-
直接双击运行.deb格式的安装包,然后在软件超市中安装即可
25. Mac 安装 Matlab
-
下载安装包
-
安装包太大,被分成多个保存,用The Unarchiever打开 Matlab98R2020a_Mac64.zip。自动生成dmg格式安装包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YI40H80q-05)(pic/Screen Shot 2020-06-13 at 10.05.26 AM.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEnQC1Yv-06)(pic/Screen Shot 2020-06-13 at 10.04.31 AM.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DwzffSns-07)(pic/Screen Shot 2020-06-13 at 10.06.06 AM.png)]
-
双击dmg文件开始安装
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9XIo2jZF-08)(pic/Screen Shot 2020-06-13 at 10.18.14 AM.png)]
-
输入密钥
09806-07443-53955-64350-21751-41297
-
选择license file,license_standalone.lic的目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8hbVGWvM-09)(pic/Screen Shot 2020-06-13 at 10.37.46 AM.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZ8Jqdj9-11)(pic/Screen Shot 2020-06-13 at 10.40.41 AM.png)]
-
激活成功教程
安装完成,我们来激活Matlab R2020a,解压激活成功教程补丁(激活成功教程证书)压缩包,拷贝替换补丁即libmwlmgrimpl.dylib文件到软件安装目录
我的是在/Applications/Matlab/R2020a/bin/maci64/matlab_startup_plugins/lmgrimpl下
-
在安装目录下的bin目录下active激活
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WiDLaxut-12)(pic/Screen Shot 2020-06-13 at 1.38.19 PM.png)]
之后按提示操作即可
-
创建桌面图标
26. MAC Python CGI编程
https://www.runoob.com/python/python-cgi.html
你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现。当用 户请求一个指定URL或者和网页交互(比如””提交”按钮)的时候,CGI脚本就会被web服务器启用。CGI脚本调用执行完毕后,它的输出结果就会被web服务器用来创建 显示给用户的网页。
所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。
CGI文件的扩展名为.cgi,python也可以使用.py扩展名。
默认情况下,Linux服务器配置运行的cgi-bin目录中为/var/www。
如果你想指定其他运行CGI脚本的目录,可以修改httpd.conf配置文件.
1. 配置Apache web服务器,让其能运行CGI脚本
MAC 上Apache web服务器已经安装好的,我们只需要对Apache 支持CGI 配置:即可使用。
进入/etc/apache2/httpd.conf`
修改过程中可能会遇到无权修改问题,可以用进行权限修改
修改完成之后重启:
2. 第一个CGI程序
我们使用 Python 创建第一个 CGI 程序,文件名为 hello.py,文件位于 /var/www/cgi-bin 目录中,内容如下:
文件保存后修改 hello.py,修改文件权限为 755:
以上程序在浏览器访问 http://localhost/cgi-bin/hello.py 显示结果如下:
这个的hello.py脚本是一个简单的Python脚本,脚本第一行的输出内容”Content-type:text/html”发送到浏览器并告知浏览器显示的内容类型为”text/html”。
用 print 输出一个空行用于告诉服务器结束头部信息。
27. vscode刷leetcode
https://www.cnblogs.com/techflow/p/12590795.html
vscode的插件
vscode之所以强大很大的原因是因为拥抱开源,我们每个人都可以为它开发插件。也正是因为这点,vscode当中有着非常非常多的插件,无论我们想得到的还是想不到的,可以说是应有尽有。
我们左侧边栏的extensions打开插件市场,我们可以当中进行搜索。
比如你想要写Python,那么我们就输入Python,排名第一的就是Python的解释器:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-foKUy639-14)(pic/00831rSTgy1gd9xkwrdksj30sg0lcn1i.jpg)]
并且右侧还会有详细的说明和介绍文档,介绍这款插件的使用方法或者是配置方法,以及我们可以自己根据需要设置的配置。
换成C++也是一样:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fEi1XGvC-15)(pic/00831rSTgy1gd9xlht6lvj30sg0lcn17.jpg)]
这些说明其实对应github仓库当中的一个repo,所以当我们其中的一些链接会跳转到github当中。另外,如果我们自己开发了相应的插件,同样也可以注册到vscode当中来,给其他人使用。
这也是开源精神所在,即使微软家大业大,仅仅靠它一家公司的努力,是不可能同时支持和维护这么多功能和插件的。
另外,需要注意的是大部分插件是安装好了可以直接使用的,但是也有些插件是需要配置的,这需要我们在安装和使用之前详细阅读文档。
leetcode插件
熟悉了vscode的插件之后,我们开始进入本文的正题。和预料的一样,我们在插件市场当中搜索leetcode,然后安装下载量最高的那个即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UX6XdiwB-16)(pic/00831rSTgy1gd9xmcsdx5j30sg0lcq5x.jpg)]
我们安装之后,按住shift + ctrl(command) + p,打开插件搜索栏。输入leetcode,选择第一个sign in,然后输入账号和密码即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b3J6hygT-17)(pic/00831rSTgy1gd9xmudjohj30sg0lcacy.jpg)]
但是你会发现登陆失败了。
怎么回事,为什么失败了,难道是记错密码了吗?
于是你打开leetcode的网站又尝试了一下,发现密码没有记错,网页可以登陆。
我们打开官网,会发现官方已经知道登陆失败的问题了,这是由于leetcode官网升级了登陆机制导致的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tBBUaPR-18)(pic/00831rSTgy1gd9xnqldo9j31he0fc0xt.jpg)]
但是leetcode只升级了国际版,对于国内的版本还没有升级,所以如果你使用的是国内的leetcode账号,那么我们只需要更换leetcode版本即可。更换的方式也很简单,上方地球形状的按钮进行选择即可:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EYvQjVi4-19)(pic/00831rSTgy1gd9xojaghlj30sg0lcdi2.jpg)]
但是,我个人更推荐使用国际版,因为英文的题目描述会更加清楚,并且题目的更新也会更加及时。况且以后说不准中文版的leetcode也会升级登陆机制,到时候还是会面临无法登陆的问题。
很遗憾的是,对于无法登陆这个问题,官方很坦率地承认了对于这个问题没有特别好的解决方法,只能使用cookie来绕开。
cookie登陆
cookie在网站当中经常使用,我们可以简单地将它认为是一个标识身份的令牌或者说证书。
我们都知道,现在的网站往往有自动登录机制。因为我们每打开一次都要用户输入一次账号密码实在是太反人类了,并且有时候我们打开多个相同网站中的不同站点,也会想要保持登录的状态,而不是再输入账号密码。cookie正是基于整个目的诞生的。
cookie的原理也很简单,我们在登录网站成功之后,网站的服务器会根据我们的账号id或者是其他信息使用加密算法生成一串密文。并且将这串密文发送给浏览器,浏览器会将这串密文存储起来,这样下次浏览器在访问网站的时候,只需要携带上这串密文,网站拿到密文进行解密之后就能识别出这是哪一个用户,自动设置成已经登录的状态,并且返回对应的数据。
因此cookie数据非常重要,它关乎我们许多账号的安全。如果我们的cookie被黑客获取,我们的账号都会面临被盗的风险。由于对称加密算法几乎不可攻破,所以目前许多针对浏览器账户的攻击手段都和cookie有关。
我猜测登录问题出现的原因应该是leetcode官方人为限制了第三方插件通过账号密码代理登录,所以解决方法很简单,就是我们使用cookie来进行模拟登录。
前期准备
由于leetcode插件底层是使用的leetcode-cli命令行工具,所以我们需要现在本地保证我们的命令行工具的版本正确。
首先,我们需要安装Node.js 8以上的版本,关于Node.js的安装方法网上随便就能搜到,安装也很简单,这里就不赘述了。
接着,我们通过npm工具安装最新版本的leetcode-cli:
操作流程
首先,我们需要通过浏览器获取我们账号的cookie。下面以Google Chrome浏览器举例。
我们先打开leetcode用我们自己的账号和密码登录,然后右击选择inspect:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-44XtZRVN-21)(pic/00831rSTgy1gd9xr4zkbhj312s0rqdje.jpg)]
接着选择Network下的XHR:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6LEofp8O-22)(pic/00831rSTgy1gd9xrdj2g0j31ce0pstba.jpg)]
然后我们网站导航栏中的problems:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R1EAN6LR-23)(pic/00831rSTgy1gd9xrnhkapj319o0o0djz.jpg)]
这时候右边会显示出前端网页跳转的请求信息,我们找到其中一个名叫all的请求,选择Headers,往下拉就能找到cookie:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LJAOKVUM-24)(pic/00831rSTgy1gd9xrxq32cj315z0u011p.jpg)]
我们把这一串字符串复制下来。
重新打开vscode,打开leetcode插件,选择sign in,这一次在选择登录方式的时候我们选择使用cookie登录:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-952v2wBc-25)(pic/00831rSTgy1gd9xsevf8kj30sg0lc0v0.jpg)]
然后输入账号,粘贴进我们刚才复制下来的cookie即可。
顺利的话,看到下图红框当中的边栏出现,就说明我们已经成功登录了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gL9kanGO-27)(pic/00831rSTgy1gd9xsxfljqj30sg0lc76q.jpg)]
leetcode插件使用
leetcode的使用很简单,和网页版差距不大,我们点开all可以看到所有的问题,我们问题的标题会自动为我们加载题目的详细信息,已经通过的问题会打上绿色的勾。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tn36W52a-28)(pic/00831rSTgy1gd9xtf7tzzj30sg0lcn1t.jpg)]
我们要做题的话就右击选择Show Problem
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3wUyyLsg-28)(pic/00831rSTgy1gd9xtpsr9zj30gy07amxv.jpg)]
之后会弹出语言让我们选择,我们就选择我们最常用的语言就好。比如我最近用Python做题,就选择Python3:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HAzURhBF-29)(pic/00831rSTgy1gd9xtz95cpj30sg0lcwhf.jpg)]
之后选择Just Open The problem file
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qCByfEUy-30)(pic/00831rSTgy1gd9xubhp12j30oy05qt9a.jpg)]
vscode会自动为我们打开一个分屏。我们就可以一边看问题一边写代码了,不得不说实在是非常方便。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7rIeSqgE-31)(pic/00831rSTgy1gd9xunln8hj313s0lc78l.jpg)]
leetcode配置
最后简单讲一下leetcode插件的一些配置。
leetcode这个插件当中的配置还蛮多的,但是我个人觉得最主要的是其中的两个。一个是配置我们每个问题代码存放的文件路径,方便以后我们找到这些写好的代码。
这个配置名字叫做leetcode.workspaceFolder,默认的路径是$HOME/.leetcode。这里的HOME是你系统的环境变量,不同的系统这个变量指定的位置不一样。
我们可以打开终端输入
查看一下我们当前的$HOME目录指向哪里,当然我们也可以自己修改这个配置。我们打开vscode的配置文件,搜索leetcode.workspaceFolder,就可以找到vscode当中的配置,我们修改我们想要的path即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ATwqn2S-33)(pic/00831rSTgy1gd9xwihlltj30pr09sgm5.jpg)]
另一个配置是编辑器的快捷方式,我们仔细观察会发现我们打开的leetcode py文件下面会有两个按钮。我这张图里是三个,因为我设置过。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIz4t7dr-33)(pic/00831rSTgy1gd9xwvteduj30gl08eglu.jpg)]
这些按钮是可以的,它们都有具体的功能。比如Submit是提交当前的code到leetcode网站,帮我们提交代码。Test是执行样例,看看样例是否能够通过。除了这两个之外还有两个,一个叫做Solution,可以查看当前最高赞的代码。另一个是Description,是显示问题描述。
我们可以在leetcode.editor.shortcuts配置当中进行修改:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jc9Va2eO-34)(pic/00831rSTgy1gd9xxe7o7yj30j4087glt.jpg)]
最后,配置你喜欢的编译器:
在设置中搜索leetcode,转到settings,配置路径和默认编译器:
28 配置 MySQL 慢查询日志
https://bianchenghao.cn/developer/article/
今天的文章
Navicat for Premium 9.0.2激活(Java后台日常学习环境搭建)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/107897.html