在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项即可。

ubuntu 18.04下安装Hadoop的更多相关文章

  1. Ubuntu 18.04下安装Steam顶级在线游戏平台

    Ubuntu 18.04下安装Steam顶级在线游戏平台 原创: 聆听世界的鱼 Linux公社 今天 Steam是由Valve公司开发的顶级在线游戏平台,是目前全球最大的综合性数字发行平台之一.它让你 ...

  2. 在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码

    在Ubuntu 18.04 下安装mysql 不知道是由于mysql更新为新版还是.Ubuntu18.04中的特性,安装过程中没有设置密码的环节,在网络上找了半天,总算解决了!特此记录下来,以便以后查 ...

  3. 在 Ubuntu 18.04 下安装 fcitx 及搜狗拼音输入法

    感觉自己傻逼透了,之前在 16.04 时折腾着要装 ibus 和 rime 输入法,现在 18.04 默认安装 ibus 了,又因为 rime 的智能联想太弱,打字不爽,又想装回搜狗一劳永逸... 环 ...

  4. ubuntu 18.04下安装配置Hue问题记录

    前段时间将Hadoop 在ubuntu环境下装好,接下来尝试安装Hue来管理Hadoop,参照的资料有: 1.高可用Hadoop平台-Hue In Hadoop 2.ubuntu16.04 安装单机H ...

  5. ubuntu 18.04下安装配置HBase问题记录

    参考资料: Ubuntu下HBase安装与使用(shell+Java API) 问题 无法正常启动hbase,在Log里报错java.lang.ClassNotFoundException: org. ...

  6. ubuntu 18.04下安装Java

    参照以下链接,这个是我找到的最易上手的学习教程了 https://blog.csdn.net/sangewuxie/article/details/80958611 按其步骤,我下载的是Java 11 ...

  7. Ubuntu 18.04 下安装pip3及pygame模块

    1.Ubuntu下pip3的安装.升级.卸载 安装pip3 sudo apt-get install python3-pip 升级pip3 sudo pip3 install --upgrade pi ...

  8. ubuntu 18.04下安装JDK

    一.安装前检查 检查是否已经安装 java -version 二.安装方式 1)通过ppa(源) 2)通过官网安装包安装  JDK官网下载地址  或百度云下载地址,提取码 rzq5 三.安装步骤 (一 ...

  9. ubuntu 18.04下安装编译的KMS,依赖库

    libboost-system1.65.1 libglib2.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libnice10 libsig ...

随机推荐

  1. 实现并发join的方法

    import threadingimport time def music(): print("begin to listen %s" %time.ctime()) time.sl ...

  2. Scala类的构造器与访问器

    1.构造器 在Scala中,每个类都有一个主构造器.主构造器与类的定义交织在一起,如下: class Person ( private var _name: String, private var _ ...

  3. 利用SparkLauncher 类以JAVA API 编程的方式提交Spark job

    一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz jav ...

  4. word2vec 评测 sg=0 sg=1 size=100 window=3

    1.评价sg=0与sg=1的区别    结果原文:sg_difference.txt sg=0     sg=1 绑定                         1 关联            ...

  5. selenium及webdriver的原理【转】

    selenium与webdriver整合后,形成的新的测试工具叫做selenium2.x.在selenium1时间,selenium使用javascript来达到测试自动化的目标. 1. seleni ...

  6. C#中,使用正则表达式匹配获取所需数据

    .NET中,使用正则表达式匹配获取所需数据 需求:获取一串字符串中,正则匹配出需要的数据. 例如以下字符串: string temp ="ErrorCode:-1,Message:{&quo ...

  7. jQuery-插入内容-新增内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Bootstrap-媒体查询-屏幕大小

    .container{padding:0 15px; margin:0 auto;} .container:before{ content: ''; display: table;/*防止第一个子元素 ...

  9. SQL语句提取某列中的HTML文本内容。或者说怎么用SQL语句去除所有HTML标签

    CREATE FUNCTION [dbo].[f_trimstr] ( @str NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS     BEGIN          ...

  10. windows中查看端口占用情况

    说几个命令, netstat 用于查看进程端口占用情况,用法可以使用netstat -h 查看 tasklist 列出当前进程,有进程号 findstr 用于过滤字符串 大致过程就是: 1. 使用 n ...