栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hadoop基本安装步骤正确的是(hadoop常见问题)

hadoop基本安装步骤正确的是(hadoop常见问题)

安装
    确认已经与java开发环境(java -version)下载hadoop.tar.zip安装包链接解压到指定位置配置环境变量(.bashrc)修改配置文件(直接搜hadoop安装):core-site.xml,hdfs-site.xml,mapred-site.xml,hadoop-env.sh,yarn-site.xml相关命令
    # 启动hadoop所有节点
    start-all.sh 
    # 关闭
    stop-all.sh
    # 查看java进程,正常应该有Jps,Namenode,Datanode,ResourceManager,NodeManager
    jps
    # 关闭安全模式,不关闭 Hbase会出错
    hdfs dfsadmin -safemode leave
    

参考
1
2

遇到的问题
    使用Hadoop命令时有警告
2022-03-18 13:42:49,610 WARN util.NativeCodeLoader: 
Unable to load native-hadoop library for your platform... 
using builtin-java classes where applicable

解决方法:忽略警告,修改hadoop/etc/hadoop/log4j.properties文件,新增

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
    start-all.sh报错:只能被root执行
[hadoop@main ~]$ start-all.sh
WARNING: Attempting to start all Apache Hadoop daemons as hadoop in 10 seconds.
WARNING: This is not a recommended production deployment configuration.
WARNING: Use CTRL-C to abort.

Starting namenodes on [0.0.0.0]
ERROR: namenode can only be executed by root.
Starting datanodes
ERROR: datanode can only be executed by root.
Starting secondary namenodes [main]
ERROR: secondarynamenode can only be executed by root.
Starting resourcemanager
ERROR: resourcemanager can only be executed by root.
Starting nodemanagers
ERROR: nodemanager can only be executed by root.

解决方法:修改hadoop/etc/hadoop/hadoop-env.sh,将最后的’root’替换为执行’命令的用户名(我的是hadoop)’

export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop
export YARN_RESOURCEMANAGER_USER=hadoop
export YARN_NODEMANAGER_USER=hadoop
    start-all.sh报错:无法写logs
    解决办法:给权限,执行sudo chmod -R 777 logs
[hadoop@main ~]$ start-all.sh
WARNING: Attempting to start all Apache Hadoop daemons as hadoop in 10 seconds.
WARNING: This is not a recommended production deployment configuration.
WARNING: Use CTRL-C to abort.
Starting namenodes on [0.0.0.0]
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
0.0.0.0: ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.
Starting datanodes
localhost: ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.
Starting secondary namenodes [main]
main: Warning: Permanently added 'main,172.17.43.2' (ECDSA) to the list of known hosts.
main: ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.
Starting resourcemanager
ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.
Starting nodemanagers
localhost: ERROR: Unable to write in /usr/local/hadoop/logs. Aborting.

    start-all.sh执行后,datanode未被启动
    原因:多次执行初始化命令hadoop namenode –format
    解决方法:

    不保留文件:删除hadoop/hdfs/data后,重新启动hdaoop保留文件:

参考
1
2

    网页无法访问
    解决方法:

      hadoop2.x端口为50070,hadoop3.x端口为9870对应端口没有放通:服务器的防火墙,云服务器的安全策略

    网页内无法上传文件
    原因:域名使用的是hadoop机器名
    解决方法:

      使用其他工具上传文件修改C:WindowsSystem32driversetchosts,域名映射

    在win10的IDEA上使用Big Data Tools时,各种错误

      端口不对:hadoop3.x使用8720端口没找到HADOOP_HOME环境变量:下载残血版hadoop,只保留bin目录,并修改环境变量HADOOP_HOME和path缺少文件(winutils.exe hadoop.dll)无法运行:下载并添加进hadoop/bin

    2&3 参考
    2&3 一次解决,链接参考里的

    使用IDEA开发HDFS程序上传文件,文件名有,内容为空
    原因:请求的namenode,需要把数据传给datanode;(同6,但6的解决办法不适用)但datanode使用的是hadoop机器名,不是正式的域名
    解决方法:

    // Configuration conf = new Configuration();
    // 加上下面这一句,直接使用真实域名
    conf.set("dfs.client.use.datanode.hostname", "true");
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/771692.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号