• Hadoop搭建与常见问题解决方案


    前言###

    先说一下当前环境:Ubuntu18.04 jdk1.8 Hadoop选用-2.6.0-cdh5.15.1 用户名:supershuai-VirtualBox
    Hadoop的下载地址:http://archive.cloudera.com/cdh5/cdh/5/ hoodp-native下载对应的版本http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.*.0.tar
    在安装Hadoop之前,首先要安装好Java环境,配置好全局变量,这里说一下我的所有环境变量都是在/etc/profile中配置的,如果你是使用的其它版本linux则在其它版本环境变量文件中进行配置(如centos7中的~/.bash_profile文件)。
    其次你要做的是确保ssh服务能够正常启动,并进一步设置ssh的免密登录,主要是为了解决每次启动Hadoop时频繁的输入密码验证的操作。ssh免密操作:

    执行:ssh-keygen -t rsa
    执行:cd ~/.ssh
    执行:ll 对文件夹内容进行查看,此时会发现私钥与公钥文件,接下来就是把公钥写入 authorized_keys文件中
    执行:cat id_rda_pub >> authorized_keys
    执行:sudo chmod 600 authorized_keys
    

    设置以后可以使用 ssh localhost 查看下是否已经可以免密远程连接

    Hadoop安装与设置###

    首先将下载的压缩包使用tar命令进行解压到本地安装目录,目录自行设定。
    配置hadoop—env.sh文件(安装目录下的/etc/hadoop下):
    vi hadoop-env.sh
    加入:

    export JAVA_HOME=你的jdk目录
    

    配置core-site.xml文件
    vi etc/hadoop/core-site.xml

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://supershuai-VirtualBox:8020</value>
        </property>
    </configuration>
    

    修改成你的机器名:8020
    配置hdfs-site.xml文件
    vi etc/hadoop/hdfs-site.xm

    (目前环境是单台机器所以设置一个副本,到用的集群后再改   )
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    

    配置 /tem 启动后清除问题 hdfs-site.xml:( /opt/tmp是新建的放置文件的目录)
    vi etc/hadoop/hdfs-site.xml

    <configuration>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/tmp</value>
        </property>
    </configuration>
    
    

    配置slaves
    vi slaves
    修改为机器名

    最后添加系统变量:
    vi etc/profile

    export JAVA_HOME=Java目录
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export HADOOP_HOME=Hadoop目录
    export PATH=$HADOOP_HOME/bin:$PATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    

    配置后source下profile 文件:source etc/profile

    启动与常见问题###

    第一次启动首先格式化文件
    执行 : hdfs namenode -format
    在sbin目录下的
    执行 : ./start-dfs.sh

    1.仍然需要输入密码的问题

    chown supershuai: /home/hadoop/.ssh         (supershuai是我的用户名名)
    chown supershuai: /home/hadoop/.ssh/*  
    chmod 700 /home/hadoop/.ssh  
    chmod 600 /home/hadoop/.ssh/* 
    

    2.Unable to load native-hadoop library for your platform... using builtin-java classes where applicable的问题

    将native文件解压到Hadoop目录下的lib文件以及lib文件下的native文件
    执行: tar -xvf hadoop-native-64-2.6.0.tar -C $HADOOP_HOME/lib/native
    执行: tar -xvf hadoop-native-64-2.6.0.tar -C $HADOOP_HOME/lib
    配置到环境变量
    vim /etc/profile
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
    

    3.ssh在Hadoop中的连接被拒绝问题

    ssh/sshd_config文件配置
    辑配置文件,允许以 root 用户通过 ssh 登录:sudo vi /etc/ssh/sshd_config
    找到:PermitRootLogin prohibit-password禁用
    添加:PermitRootLogin yes
    

    4.jps启动后只有jps进程
    这时建议要去查看logs下的.log文档,根据具体的问题进行解决。包括删除tmp目录下的文件并且重新执行 hdfs namenode -format命令
    当然以上的所有文件要在普通用户的管理和创建下进行,不然会因为权限问题导致很多错误。
    5.防火墙问题

    关闭防火墙:   sudo ufw disable
    
    开启防火墙:    sudo ufw enable
    
    开放某一个 PORT 8080:    sudo ufw allow 8080
    
    删除一个已经开启的 PORT 8080:    sudo ufw delete allow 8080
    
    查看防火墙状态:   sudo ufw status
    
  • 相关阅读:
    显著提升程序员身心健康和工作效率的装备有哪些?
    谁控制了我们的浏览器?
    利用Http Authentication Url+csrf劫持路由器DNS
    如​何​删​除​G​P​T​保​护​分​区
    Linux定时器的使用
    缺少 mcrypt 扩展。请检查 PHP 配置。(phpmyadmin)
    xxx is not in the sudoers file
    linux mysql 找不到 <mysql/mysql.h>
    C++面试常见问题(持续更新)
    代码模板(new)
  • 原文地址:https://www.cnblogs.com/supershuai/p/12377025.html
Copyright © 2020-2023  润新知