Hadoop报错ERROR [org.apache.hadoop.util.Shell] - Failed to locate the winutils binary in the hadoop binary path

环境 Windows10 + IDEA2020.2专业版 + JDK8 + Hadoop2.6.0 报错信息 2020-12-03 14:37:52,196 WARN [org.apache.hadoop.util.NativeCodeLoader] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 2020-12-03 14:37:52,202 ERROR [org.apache.hadoop.util.Shell] - Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:355) at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:370) 解决方法 下载winutils的windows版本,并放在%HADOOP_HOME%\bin下 设置环境变量,设置%HADOOP_HOME%为你的Hadoop根目录,并且Path中加入%HADOOP_HOME%\bin,之后重启idea 手动在代码中指定Hadoop根目录的位置(IDEA貌似必须这样,不知为何,而cmd命令行启动jar包只需要前两个就行了) System.setProperty("hadoop.home.dir", "你的Hadoop根目录,注意右斜线的转义"); 以上三个解决方案依次尝试即可。 参考: windows下运行spark程序报错:Failed to locate the winutils binary in the hadoop binary path

2021-05-20 18:37:46 更新

由于您的浏览器禁用了COOKIE,视频无法正常播放

原因可能是 adblock等去广告插件 hosts文件 Ghostery 代理软件 杀毒软件 浏览器的COOKIE设置 修复措施 暂停插件 修改hosts文件,只保留基础的再试试 关闭Ghostery 关闭代理软件,或者修改代理策略 关闭杀毒软件 修改浏览器设置Chrome

2021-05-20 18:37:46 更新

error 'themes/next' does not have a commit checked out

hexo博客目录使用了git进行备份,但 在提交新的md文档时,提示 $ git commit -m "备份" . error: 'themes/next' does not have a commit checked out fatal: updating files failed 查询别的教程,提示说因为themes/next目录也是git仓库,删除其目录下的.git文件夹就行,但是我之前已经删除了,所以只能另辟蹊径,提交时指定文件。 git commit -m "备份" source/_posts/文档.md 或者指定目录 git commit -m "备份" source/* 即可成功,如果你接着提示 error: pathspec 'source/_posts/文档' did not match any file(s) known to git 看看你添加source/_posts/文档到暂存区了吗 使用git status 如果文件名是红色那就说明没有,先git add .填加到暂存区。

2021-05-20 18:37:46 更新

shell数值计算(含小数)

shell中进行整数数值的计算 使用expr 例如: value=3 expr $value + 7 # 加法 expr $value - 7 # 减法 expr $value \* 7 # 乘法(注意有个右斜线,防转义) expr $value / 7 # 除法 shell中进行小数数值的计算 使用bc 例如 value=3 echo `echo "${value} + 1.5"|bc` # 加法 echo `echo "${value} - 1.5"|bc` # 减法 echo `echo "${value} * 1.5"|bc` # 乘法 echo `echo "${value} / 1.5"|bc` # 除法(貌似除法结果只会取整数)

2021-05-20 18:37:46 更新

教程

2021-05-20 18:37:46 更新

WSL:Windows的Linux子系统中实现脚本开启自启

为了实现动态的域名解析到家里的设备,需要长期运行一个开源脚本mtDNS。(其实路由器上的动态DNS配合花生壳就行,但是喜欢折腾……) 在使用一段时间后,感觉到任务栏一直有个程序在显示不清爽,遂寻找后台运行的办法,而Windows平台似乎并不支持(没找到),所以想到了WSL(Windows Subsystem for Linux)。 找了在Ubuntu中开机运行脚本/程序的办法(这里)。 但经过实验,在WSL中并没有效果,所以又找了专门的WSL中实现开机自启脚本/程序的办法。 思路为:给Windows设置开机自启脚本,脚本内容是执行WSL中某个脚本,而你在WSL中的脚本里面自定义一些命令(启动你程序或者脚本的命令),从而实现WSL中的脚本开机自启。 两个大佬写的已经很全面了,所以我就不打算复述了,这里贴上链接 WSL 服务自动启动的正确方法 在Windows子系统(WSL)中配置开机自启动服务 **注意:**两位大佬的办法差不多,都是这个思路,但是我尝试给Windows启动目录添加一个vbs文件时,总是提示权限不够要求管理员权限(还有的时候提示要求向我本人的账户提出申请权限),尝试了很多办法,都没有解决这个问题(我怀疑是BUG)。最后通过把vbs文件放在别的目录,然后启动目录放vbs文件的快捷方式解决了。 步骤: 复制vbs文件 回到“启动”目录 右击选择“粘贴快捷方式”即可 吐槽:如果为了安全启动目录不让放vbs文件可以理解,但我放vbs文件的快捷方式一样可以实现效果却没有任何限制就离谱。

2021-05-20 18:37:46 更新

Python在各个系统中对换行符的处理

挖坑,等待填坑……

2021-05-20 19:36:12 更新

ubuntu设置开机自动运行自己的脚本或者一些命令

编辑/etc/rc.local文件 sudo vi /etc/rc.local 打开之后如果发现是新建的文件,也不要害怕,添加以下信息 #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # 这里添加你要开机执行的语句 exit 0 之后保存并退出...

2021-05-20 18:37:46 更新

WSL(Windows Subsystem for Linux)后台运行程序

nohup和&配合使用,退出时不要直接单击右上角的x,而是使用exit退出。 然后可以试着再次打开WSL的窗口看看进程。 不要使用jobs,因为jobs只能看当前终端启动的进程,你刚才关了又开了,就不是刚才的终端了。(巨坑,一开始我还以为没有成功后台运行) 使用ps -ux | grep 刚才的程序名或者命令名(关键字即可) 例如:ps -aux | grep node 再次退出终端就可以直接单击右上角的x了。 参考: nohup和&后台运行,进程查看及终止 linux后台运行和关闭、查看后台任务 WSL——Win10的Linux子系统 在Windows上舒适地使用Linux子系统(一):WSL的安装及配置 linux后台执行命令:&和nohup

2021-05-20 18:37:46 更新

智慧山水平台每日云端自动上报健康数据

之前写了一个程序,可以帮助上报健康数据到智慧山水。 但是一直是需要自己电脑或者服务器的支持,自己的电脑需要长期开机,或者花钱购买云服务器。 现在终于可以摆脱束缚,仅需一次配置,配置完成后无需电脑或服务器,每日云端自动提交,零成本、无电费。 以下方式可实现定时提交程序。 云端自动提交 使用腾讯云函数 腾讯云函数介绍 什么是腾讯云函数? 官方介绍: 腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码, 是实时文件处理和数据处理等场景下理想的计算平台。 您只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。 简单来说就是可以自动定时运行代码的服务器,你无需担心服务器是否正常、是否被攻击,只需要关心代码即可。 免费额度 资源类型 每月免费额度 资源使用量 40 万 GBs 调用次数 100 万次 已经够使用了。 使用方式 准备代码 下载运行环境依赖 由于代码引入了python的lxml库,但是腾讯云函数提供的环境中又没有此依赖,所以需要手动上传。 依赖下载地址:https://wwa.lanzous.com/ivuSHeukg2h 下载到一个压缩包。 打开之后结构如图所示: 将程序运行所必须的文件放入此压缩包 程序仓库:https://github.com/imldy/health-data-post(里面有代码及使用说明) 配置文件使用说明:https://github.com/imldy/health-data-post/blob/master/students_data_explain.md 必须的文件列表: HealthDataPost.py(代码) students_data.json(配置文件) 我用的解压缩软件是Bandizip,可以直接拖拽文件到压缩包。 点击“确定” 如果你的软件不支持拖拽文件到压缩包,你可以先解压依赖文件,然后和软件运行所必须的文件压缩到同一个压缩包内,是.zip格式即可。 如图所示,是准备好的压缩文件,里面包含依赖,也包含程序运行所必须的文件。 注册、登录腾讯云 链接:https://cloud.tencent.com/product/scf 打开上方链接,点击右上角登录,可以使用邮箱、QQ等,直接登录即可,很简单,不再赘述。 使用腾讯云函数 点击页面左边的“立即使用”进入控制台。 可以看到你已经拥有的函数的情况,初次使用为空正常。 点击左边的“函数服务”,可以看到已有的函数服务。 地区使用大陆地区(除非你的代码需要国际互联网的支持,但是咱们的提交健康数据使用国内网络即可)。 点击“新建” 新建函数 基本信息 函数名称:自己随便输入,我这里使用的是HealthDataPost。 运行环境:选择“Python3.6”。 创建方式:选择“空白函数”,方便我们后续添加自己的代码 单击“下一步” 函数配置 描述:填写方便自己标识各个函数的文字,例如智慧山水平台健康自动数据提交 执行方法:填写HealthDataPost.main,这里填写的是程序的入口,即程序第一个要执行的函数。.前面是代码文件名字,后边是方法名(这个方法名必须接收两个参数,我这里已经实现了)。 提交方式:即上传代码的方式,我们这里选择“通过本地上传zip包” 单击“上传” 选择我们之前准备好的代码的压缩文件,然后点击“打开”即可。 选择完文件之后配置高级设置。 单击“高级设置” 将超时时间设置为“20”秒,这里我们设置的宽裕一点,暂时不用这么节省,后期如果你经常使用腾讯云函数,可以根据情况来自行调整。 单击“完成”,选择的文件在此时正式被上传。...

2021-05-20 18:37:46 更新