1.hadoop:找不到命令
原因:没有配置环境变量
解决办法:
在Linux环境内下输入export PATH=$PATH:/usr/local/hadoop/bin,检查hadoop命令是否可用 输入hadoop version
使hadoop命令永久生效方法:
如果第二次开机后,仍旧提示“hadoop:未找到命令”,那就是上次修改的$PATH 路径没有保存。
解决这个问题,就是直接将其添加到配置文件,有的配置文件在/etc/profile,有的在.bashrc文件里,我的是在.bashrc 中,下面将以此为例添加PATH路径。
vim ~/.bashrc #添加“ export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin ",引号中的内容,保存后退出
source ~/.bashrc #使修改后的 .bashrc文件生效
hadoop version #测试修改是否成功
2.bash ./ 没有那个文件或目录
ls明明有文件,但linux脚本执行会报错没有那个文件或目录
原因:没有32位的运行库 ia32-libs
解决办法:
sudo dpkg --add-architecture i386
sudo apt -get update
sudo apt-get dist-upgrade
如不成功尝试apt-get -f install 修复下载即可
3.无法启动start-dfs.sh
解决办法:
在解压的hadoop文件中的sbin文件中
vi 并编辑start-dfs.sh与stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi 并编辑start-yarn.sh与stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
再次重启dfs和yarn就能解决
4.开启集群后输入jps后缺少进程
解决:查看5个配置文件:slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
修改文件workers
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件workers
将内容修改为Slave1
修改文件core-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件core-site.xml
将内容修改为如下
修改文件hdfs-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件hdfs-site.xml
将内容修改为如下
修改文件mapred-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件mapred-site.xml
将内容修改为如下
修改文件 yarn-site.xml
修改在/usr/local/hadoop/etc/hadoop目录下的配置文件yarn-site.xml
将内容修改为如下
5.hadoop集群启动namenode成功,而datanode未启动
原因:namenode的集群ID和datanode的集群ID不一致,导致只启动了namenode而未启动datanode
首先切换到存放namenode和datanode数据文件的目录
cd data/tmp/dfs/
查看NameNode的集群ID
vim name/current/VERSION
复制namenode的集群ID,替换datanode的集群ID
打开DataNode的集群ID,用NameNode的集群ID去替换它
vim data/current/VERSION
6.JAVA_HOME is not set and could not be found.
在“/usr/local/hadoop/etc/hadoop/hadoop-env.sh”里面找到“export JAVA_HOME=${JAVA_HOME}”这行,然后,把它修改成JAVA安装路径的具体地址
7.虚拟机和主机相互ping不通
原因:
1.虚拟机防火墙禁ping
2.桥接设置的ip有冲突或者是虚拟机桥接服务不正常。
检查:
1.检查虚拟网卡有没有被禁用
2.检查虚拟机与物理机是否在一个VMNet中
3.检查虚拟机的IP地址与物理机对应的VMNet是否在一个网段
4.检查虚拟机与物理机的防火墙是否允许PING,否则可以尝试关闭防火墙