ubuntu 18.04下安装Hadoop

在Ubuntu里装完Java环境后,接下来就开始学习安装Hadoop了,参照的是以下链接

https://blog.csdn.net/xuan314708889/article/details/80500006

与之稍有不同的是我用的是实体机,Hadoop的版本是3.1.1,另外,我没有单独建hadoop帐号,直接用的是默认的的帐号。

安装过程中的几个错误及解决方法记录如下,供参考

  1. 启动时报Permission denied(publickey,password)的错误,少了以下授权步骤

    cd ~/.ssh/                       # 若没有该目录,请先执行一次ssh localhost
    ssh-keygen -t rsa            # 会有提示,都按回车就可以
    cat ./id_rsa.pub >> ./authorized_keys  # 加入授权


  2. 装完后访问Hadoop提示“It looks like you are making an HTTP request to a Hadoop IPC port. This is not the correct port for the web interface on this daemon.”,同时无法访问50070端口,原因是3.1.0版本后,50070端口 -> 9870端口了,以把50070改成9870就可以了
  3. MySQL配置文件默认情况下可能因权限不够无法修改,因此需要修改其权限
    sudo chmod 776 mysqld.cnf
    因为mysql 的特殊机制(基于安全考量,不允许这个配置文件被任何其他用户可修改),改完权限后还需改回来

    sudo chmod 644 /etc/mysql/mysql.conf.d/mysqld.cnf

  4.   webHDFS出错,如下图,提示"Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS:Server Error“,也无法透过Web界面上传文件经过一番查找之后(可找Hadoop的Log日志)确认是Jdk的版本问题,重新下载Jdk8,原Jdk11继续保留,只是在配置文件中启用Jdk8。

    配置文件包括:etc/hadoop/hadoop-env.sh和etc/profile,修改JAVA_HOME行为export JAVA_HOME=/usr/java/jdk1.8.0_191即可

    这件事得到一个教训,软件并不是版本越高越好

  5. 上传文件/创建目录报错 Permission Denied,修改hdfs-site.xml,设定dfs.permissions=false.如下

    <property>
    <name>dfs.permissions</name>
    <value>false</value>
    <description>need not permissions</description>
    </property>
  6. 本地可以上传,但在远程用其他电脑则无法上传,也无法下载Hadoop上的文件,经查发现远程访问DataNode时,地址是主机名,而非IP地址,参照“HDFS之DataNode启动过程分析”,在hdfs-site.xml配置文件中配置slave.host.name项即可。

posted @ 2018-10-16 10:40  大海胸懷  阅读(2620)  评论(0编辑  收藏  举报