Windows下安装运行hadoop的几个要点

hadoop2.7.1要使用的jdk必须是64位的,使用javac命令,如果是64位的jdk会有64的字眼出现,没有就不是64位的,这一点很关键,32位的sdk是运行不了hadoop2.7.1的。 hadoop的压缩包解压需要管理员权限 环境变量里面要添加HADOOP_HOME,path路径里面要增加hadoop安装目录下的bin 要修改Hadoop-2.7.1/etc/hadoop/hadoop-env.cmd里面java的路径,JAVA_HOME=%JAVA_HOME%,理论上如果环境变量里面设置了JAVA_HOME也就不需要改了 伪集群运行,配置文件哪些是必须填的,哪些是选择,有什么作用? <!--core-site.xml--> <configuration> <property> <!--这是选择使用默认的文件系统--> <name>fs.defaultFS</name> <!--使用localhost,这样hdfs的客户端连接端口会默认启动在localhost:8020上,才能在本机通过hadoop fs命令以及直接用java api 访问--> <value>hdfs://localhost/</value> </property> </configuration> <!--mapred-site.xml--> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> <!--hdfs-site.xml--> <configuration> <property> <!--配置副本数--> <name>dfs.replication</name> <value>1</value> </property> <!--下面的namenode和datanode路径是可选的,主要是为了指定namenode和datanode的路径,如果不指定的话,hadoop会在默认路径下生成这些文件,好像是直接在根目录下生成(反正不在安装目录下,要看一下日志文件),指定路径就要在相对于的位置下(这里是安装目录下)创建相对应的目录--> <property> <name>dfs.namenode.name.dir</name> <value>/hadoop-2.7.1/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/hadoop-2.7.1/data/datanode</value> </property> </configuration> <!--yarn-site.xml--> <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 执行hdfs namenode –format,在bin目录下,bin目录已经设在path里了,应该在哪里都可以直接使用 执行start-all.cmd,在sbin目录下 会启动四个服务,使用jps可以查看 四个服务分别是namenode的服务,datanode的服务,yarn里面的两个服务,一个负责资源管理,一个负责节点管理

September 29, 2022 · 1 min

使用vscode调试c

在vscode下创建tasks.json文件,该文件会被vscode用来执行生成可执行文件的操作。 { "version": "2.0.0", "tasks": [ { "label": "build c", "type": "shell", "command": "cc", "args": [ "-std=c99", "-Wall", "-ledit", "-lm", "-g", "${workspaceFolder}/**.c", "-o", "${workspaceFolder}/${fileBasenameNoExtension}.out" ], "group": "build" }, ] } Command 和 args 是主要的参数,如何生成可执行文件就如何编写。 ${workspaceFolder}表示工作目录 ${fileBasenameNoExtension}如其名表示去掉后缀的文件名 创建launch.json文件,该文件会被vscode用来执行debug操作。 { "version": "0.2.0", "configurations": [ { "preLaunchTask": "build c", "name": "Launch C", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/${fileBasenameNoExtension}.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb", } ] } preLaunchTask填写生成调试文件的task的label。...

September 28, 2022 · 1 min

Python的路径和版本管理

我现在的mac上已经安装了如下几个python /opt/homebrew/opt/python@3.10/bin/python3.10 /usr/bin/python3 /Library/Frameworks/Python.framework/Versions/2.7/bin/python 这些包从哪里安装的 homebrew的安装包是通过homebrew使用brew命令进行安装的,可以使用brew uninstall进行卸载,如果brew安装的其他项目有使用python,就无法直接卸载了。 /usr/bin/python3这个python是系统自带的,不推荐卸载,/usr/bin/python3应该是一个硬链接。 python2是为了使用npm安装不得已下载的。 pip install安装的包放在哪里? 对于mac自带的python3,系统做了一些工作使得这个的安装包路径在/Users/<user_name>/Library/Python/3.8/lib/python/site-packages下 参考博客https://frostming.com/2019/03-13/where-do-your-packages-go/ Python 是如何寻找包的 现在大家的电脑上很可能不只有一个 Python,还有更多的虚拟环境,导致安装包的时候,一不小心你就忘记注意安装包的路径了。首先我们来解决找包的问题,这个问题回答起来很简单,但很多人不知道这个原理。假如你的 Python 解释器的路径是 $path_prefix/bin/python,那么你启动 Python 交互环境或者用这个解释器运行脚本时,会默认寻找以下位置1: $path_prefix/lib(标准库路径) $path_prefix/lib/pythonX.Y/site-packages(三方库路径,X.Y 是对应 Python 的主次版本号,如 3.7, 2.6) 当前工作目录(pwd命令的返回结果) 这里如果你用的是 Linux 上的默认 Python,$path_prefix 就是 /usr,如果你是自己使用默认选项编译的,$path_prefix 就是 /usr/local。从上面第二条可以看到不同 Python 版本的三方库路径不同,如果你把 Python 从 3.6 升级到 3.7 那么之前装的三方库都没法用了。当然你可以整个文件夹都拷贝过去,大部分情况不会出问题。 几个有用的函数 sys.executable:当前使用的 Python 解释器路径 sys.path:当前包的搜索路径列表 sys.prefix:当前使用的 $path_prefix 为什么vscode的终端使用的python3是brew的而系统的终端用的默认的python3 我重新打开了一个系统的终端之后也变成使用brew自带的了,说明是环境变量设置的问题。 使用echo $PATH查看环境变量,得到结果 /Users/chuhuilong/.nvm/versions/node/v10.15.3/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin 管理python 使用python遇到的最大问题就是python的版本管理了,虽然使用其他的语言也会有版本管理问题,但是python最大的难点在于,python2和python3不兼容,并且它们的安装方式还有多种,安装下来的位置也都不同。另外有些系统比如mac自带python3,种种原因使得python的版本管理地位非常重要,没有好的版本管理,就不清楚自己在运行什么版本,下载的包也会丢在不同的地方。 pyenv 根据这篇文章https://opensource.com/article/19/5/python-3-default-mac,博主在安装另一个软件时也遇到了和我一样的问题,python版本太多太混乱。很多人遇到了这些问题,于是有了各种解决方案,其中pyenv受到了Moshe Zadka的推荐。 pyenv使用很简单 安装brew **install** pyenv 下载指定pythonpyenv install 3.10.0...

September 17, 2022 · 1 min

OpenCV的安装与环境配置(window10,Visual Studio 2019)

OpenCV的安装 **第一步:**下载OpenCv https://opencv.org/releases/,本文使用 OpenCV-4.5.0 。 **第二步:**下载得到 opencv-4.5.0-vc14_vc15.exe 文件,运行该文件,选择解压到目标地址,本文解压到目录 D:\Library 。 **第三步:**为了方便以及清晰,这一步添加系统环境变量 OPENCV_DIR 。方法为以管理员身份运行 cmd ,输入并运行命令setx -m OPENCV_DIR D:\Library\opencv\build\x64\vc15,(此处根据平台环境可能需要有所调整)。 第四步:添加系统环境变量Path中的环境变量,添加%OPENCV_DIR%\bin Visual Studio 2019项目的配置 解决方案配置为 Debug ,解决方案平台为 x64 。 项目属性 - VC++ 目录 - 包含目录,添加 D:\Library\opencv\build\include 路径 项目属性 - VC++ 目录 - 库目录,添加 D:\Library\opencv\build\x64\vc15\lib 路径 项目属性 - 链接器 - 输入 - 附加依赖项,添加 opencv_world450d.lib ,(此处lib文件可在 D:\Library\opencv\build\x64\vc15\bin 中查看,d表示debug,解决方案与平台需要根据实际情况做调整) 测试程序 #include <iostream> #include <stdio.h> #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" using namespace std; using namespace cv; int main() { // 设置窗口 Mat img = Mat::zeros(Size(800, 600), CV_8UC3); img....

April 17, 2021 · 1 min