更多内容关注个人博客:Halo-blog
-
ssh远程命令脚本Commands.sh
Commands.sh #!/bin/bash params=$@ $params i=1 for((i=1;i<=2;i=$i+1));do echo ======== slave$i $params=========== ssh slave$i "$params" done #vim test
遇到ssh远程命令找不到
bash: ***: command not found
-
配置好所需环境【.bashrc】
当你没有配置你所需环境时,非系统环境变量/etc/profile,就会找不到命令。
如:java环境未在.bashrc中配置。
解决:
export JAVA_HOME=/usr/local/java export HADOOP_INSTALL=/usr/local/hadoop export PATH=$PATH:$HADOOP_INSTALL/bin export PATH=$PATH:$HADOOP_INSTALL/sbin export HADOOP_MAPRED_HOME=$HADOOP_INSTALL export HADOOP_COMMON_HOME=$HADOOP_INSTALL export HADOOP_HDFS_HOME=$HADOOP_INSTALL export YARN_HOME=$HADOOP_INSTALL export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
-
-
namenode或datanode无法启动
一般是下面几种原因:
-
多次Hadoop namenode -format导致clusterID不一致
-
解决办法1:
关闭hadoop所有程序
stop-all.sh
删除tmp临时文件
在hadoop根目录下执行
rm -rf ./tmp
重新格式化namenode
hdfs namenode -format
-
-
hdfs配置文件出错
-
-
无法启动子节点
- 如果是节点初始化后出现,可以尝试删除各节点hadoop目录下./tmp目录,再重新进行初始化。
- 如果是在节点重启后,可以尝试关闭所有节点重新启动hadoop集群。
-
权限问题
执行./start-all.sh等命令时,提示-bash: ./startup.sh: Permission denied
解决办法:用命令chmod修改权限
chmod u+x *.sh
-
权限问题一定要注意!
- 记住在开发系统中所用的用户,如:我常在master节点及slave节点中创建hadoop用户来进行操作,此时的hadoop目录应在hadoop用户下有操作权限。
-
IDEA向hadoop发起请求报错Name node is in safe mode.
原因:hadoop平台下Datanode节点进入了安全模式。
为什么会进入安全模式呢?1、NameNode发现集群中DataNode丢失达到一定比例(0.01%)时会进入安全模式,此时只允许查看数据不允许对数据进行任何操作。
2、HDFS集群即使启动正常,启动只会依旧会进入安全模式一段时间,这时你不需要理会他,稍等片刻即可。
3、集群升级维护时手动进入安全模式。
解决:hadoop dfsadmin -safemode leave
-
IDEA win环境下向hadoop发起请求,提示Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
原因:本机环境下,hadoop单机模式搭建或配置出错。
解决:
步骤一(必须有的步骤):- 配置Hadoop环境变量
- 在hadoop安装目录\bin目录导入winutils.exe、hadoop.dll
- 在windows安装盘下\windows\System32\目录下导入hadoop.dll
步骤二:
如果步骤一都已正确导入仍报错,那么可以重启一下,可能是环境变量没刷新,导致hadoop未被java读取到,重启之后会刷新。
步骤三(最终方案):
如果步骤一都已正确导入仍报错,步骤二也无效,那么可以在java文件中添加System.setProperty(“hadoop.home.dir”,“此处替换为hadoop安装目录”)
-
jar打包问题
1、问题描述
老版本Intellij idea可以很方便地打带Manifest文件的jar包,也就是可行性的Jar包。今天使用新版的Intellij idea打jar包时遇到了坑,jar包中竟然没有MANIFEST文件。
2、新版的Intellij idea打带Manifest文件的jar包步骤
2.1 F4 → Project Structure→Artifacts→+→jar→From modules with dependency
2.2 选择对应的Module和Main Class
注意,META-INF的目录选择${projecthome}/src,删除其后的/main/java