文章目录

  • 题目
  • 实验环境
  • 实验内容
    • 熟悉常用的Linux命令
    • 安装Hadoop
      • 安装ssh服务端
      • 安装Java环境并设置环境变量
      • 安装单机Hadoop
      • hadoop伪分布式安装
    • 出现的问题
      • but there is no HDFS_NAMENODE_USER defined. Aborting operation.
      • JAVA_HOME is not set and could not be found.
      • 执行sbin/stop-dfs.sh时出现Attempting to operate on hdfs namenode as root...

“大数据技术原理与应用” 课程实验报告

hadoop官网:https://hadoop.apache.org/

题目

熟悉常用的Linux操作和Hadoop操作

实验环境

Ubuntu 18.04

实验内容

熟悉常用的Linux命令

  1. 使用 cd 命令 :切换目录
    切换到目录 “/usr/local”
    切换到当前目录的上一级目录
    切换到当前登录Linux操作系统的用户的自己的文件夹

这里我现在的用户是root用户,方便进行后续的操作

2. ls命令 :查看文件与目录
查看目录 “/usr” 下的所有文件与目录
两种方式,一种是先进入/usr目录然后使用ls,或者直接使用ls命令

  1. mkdir命令:新建文件与目录
    进入 “/tmp” 目录,创建一个名为 “a” 的目录,并查看 “/tmp” 目录下已经存在的那些目录
    进入“/tmp” 目录,创建目录 “a1/a2/a3/a4”

  2. rmdir命令 :删除空目录
    将上面创建的目录 a 删除
    删除上面创建的目录 ”a1/a2/a3/a4“ ,然后查看 ”/tmp“ 目录下面存在那些目录

  3. cp 命令: 复制文件或目录
    将当前用户的主文件夹下的文件.bashrc复制到目录 ”/usr“ 下,并重命名为bashrcl。
    在目录 ”/tmp“下新建目录test,再把这个目录复制到 “/usr” 目录下。

    (这里使用cp复制目录的时候需要指定参数-r)

  4. mv 命令:移动文件与目录,或更名
    ①将“/usr”目录下的文件 bashrcl 移动到 “/usr/test” 目录下。
    ②将“/usr”目录下的 test 目录重命名为 test2。

  5. rm 命令:移除文件或目录。
    ①将“usr/test2” 目录下的 bashrcl 文件删除。
    ②将“/usr”目录下的 test2 目录删除。

  6. cat命令:查看文件内容。
    查看当前用户主文件夹下的.bashrc 文件内容。

  7. tac 命令:反向查看文件内容。
    反向查看当前用户主文件夹下的.bashrc 文件的内容。

  8. more 命令:一页一页翻动查看。
    翻页查看当前用户主文件夹下的.bashrc 文件的内容。

  9. head 命令:取出前面几行。
    ①查看当前用户主文件夹下 .bashrc 文件内容前20行。
    ② 查看当前用户主文件夹下.bashrc文件内容,后面 50行不显示,只显示前面几行。

  10. tail命令:取出后面几行。
    ①查看当前用户主文件夹下.bashrc文件内容最后 20行。
    ② 查看当前用户主文件夹下.bashrc 文件内容,并且只列出 50行以后的数据。

  11. touch 命令:修改文件时间或创建新文件。
    ①在“/tmp”目录下创建一个空文件 hello,并查看文件时间。
    ② 修改hello 文件,将文件时间修改为5 天前。

  12. chown 命令:修改文件所有者权限。
    将hello 文件所有者改为root,并查看属性。

  13. find 命令:文件查找。
    找出主文件夹下文件名为.bashrc 的文件。

  14. tar 命令:压缩命令。
    ①在根目录“/”下新建文件实test,然后在根目录“/’下打包成test .tar. gz。
    ② 把上面的 test.tar.gz 压缩包,解压缩到“/tmp”目录

  15. grep 命令:查找宇符串。
    从 "~/bashre"文件中查找字符串’examples’

  16. 配置环境变量。
    ①请在"~/.bashre"中设置,配置 Java 环境变量。
    ② 查看JAVA _HOME 变量的值

    安装Java

    apt install openjdk-8-jdk-headless

    查看java安装的位置为/usr/lib/jvm/java-8-openjdk-amd64

配置环境变量
使用命令打开文件

vim ~/.bashrc

然后在文件末端加入 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

保存后退出,使用命令source ~/.bashrc使配置生效
输入$JAVA_HOME查看是否配置成功

安装Hadoop

安装ssh服务端

apt-get install openssh-server

配置免密登录

cd ~/.ssh
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys

安装Java环境并设置环境变量

上面已经安装了java环境了,就不再进行安装了

进行环境变量的配置
使用命令vim ~/.bashrc打开文件,然后在末端写入

保存后退出,使用命令source ~/.bashrc加载配置,使配置生效

安装单机Hadoop

下载hadoop

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz

解压

tar -zxvf hadoop-3.3.2.tar.gz

查看hadoop版本
bin/hadoop version

在hadoop目录下新建input目录,用来存放数据,并将etc/hadoop目录下的配置文件放入input目录下


查看可运行的测试用例为hadoop-mapreduce-examples-3.3.2.jar

运行并查看结果

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar grep input/ output ‘dfs[a-z.]+’
cat output/*

hadoop伪分布式安装

修改hadoop配置

vim etc/hadoop/core-site.xml

<configuration><property><name>hadoop.tmp.dir</name><value>file:/root/rDesk/hadoop-3.3.2/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>

vim etc/hadoop/hdfs-site.xml

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/root/rDesk/hadoop-3.3.2/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/root/rDesk/hadoop-3.3.2/tmp/dfs/data</value></property>
</configuration>

对于hdfs-site.xml文件,replication设置为1是Hadoop运行的默认最小值,限制了HDFS中同一份数据的副本数量,由于该伪分布式,集群中只有一个节点,因此replication也只能设置为1.

初始化文件系统

bin/hdfs namenode -format


初始化成功后启动HDFS
(若是出现问题可看下面出现问题目录内的内容)

sbin/start-dfs.sh

在HDFS中创建一个目录

新建一个input目录

将etc/hadoop/下的所有xml文件上传到input目录

bin/hdfs dfs -put etc/hadoop/*.xml /root/inpu


再次执行样例并使用在HDFS内创建的input目录内容进行计算,输出到HDFS文件的/root/output目录内

bin/hadoop jar /root/rDesk/hadoop-3.3.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar grep /root/input /root/output ‘dfs[a-z.]+’

查看计算结果

bin/hdfs dfs -cat /root/output/*


运行wordcount

bin/hadoop jar /root/rDesk/hadoop-3.3.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar wordcount /root/input /root/output

停止运行HDFS

sbin/stop-dfs.sh


出现的问题

but there is no HDFS_NAMENODE_USER defined. Aborting operation.

在启动hadoop时出现错误,显示没有对应的NAMENODE_USER,DATANODE_USER,等
问题截图

问题解决
打开sbin/start-dfs.sh,进行编辑

vim sbin/start-dfs.sh

在头部插入

HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

JAVA_HOME is not set and could not be found.

启动sbin/start-hdfs.sh报错

hadoop内的java环境变量没有设置好。

问题解决
打开hadoop-env.sh进行配置

vim etc/hadoop/hadoop-env.sh

找到JAVA_HOME位置,并改为自己设备内对应的java环境变量位置

执行sbin/stop-dfs.sh时出现Attempting to operate on hdfs namenode as root…

问题截图:

问题解决

编辑sbin/stop-dfs.sh文件

vim sbin/stop-dfs.sh

在头部加入

HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


然后再运行sbin/stop-dfs.sh即可

实验一 熟悉常用的Linux操作和Hadoop操作相关推荐

  1. 实验一 熟悉常用的Linux操作,实验2-熟悉常用的HDFS操作

    <实验2-熟悉常用的HDFS操作>由会员分享,可在线阅读,更多相关<实验2-熟悉常用的HDFS操作(5页珍藏版)>请在人人文库网上搜索. 1.实验2熟悉常用的HDFS操作1 实 ...

  2. 实验1:熟悉常用的Linux操作和Hadoop操作

    注:完整实验报告word文件在末尾 --------------------------------- "大数据技术原理与应用"课程实验报告 题目:实验1:熟悉常用的Linux操作 ...

  3. Hadoop综合大作业补交4次作业:获取全部校园新闻,网络爬虫基础练习,中文词频统计,熟悉常用的Linux操作...

    1.用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)进行词频统计. (1)开启所有的服务,并创建文件夹wwc (2)查看目录下所有文件 (3)把hdfs文件系统中文件夹里的文 ...

  4. HBase的编程实践(实验3_熟悉常用的HBase操作)

    一.Hbase中使用Shell命令: ① HBase中创建表:(create 命令:第一个变量是表名,然后是列族名) 语法:create '表名称','列族名称1','列族名称2','列族名称N' c ...

  5. 计算机网络实验指导书实验报告,计算机网络实验一 熟悉常用的网络命令实验报告模板...

    实验一熟悉常用的网络命令实验报告 序号:姓名:学号:成绩指导教师: 1.实验目的: 学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连 ...

  6. Linux实验一:常用的Linux命令

    文章目录 一.实验目的 二.实验要求 三.实验内容 1.系统的使用 2.命令的使用 3.文件操作 4.系统询问与权限口令 5.其它常用命令 四.实验操作 1.基本命令的使用 2.文件和目录操作 3.创 ...

  7. 熟悉常用的Linux操作

    请按要求上机实践如下linux基本命令. cd命令:切换目录 (1)切换到目录 /usr/local cd /usr/local (2)去到目前的上层目录 cd .. (3)回到自己的主文件夹 cd ...

  8. 熟悉常用的Linux命令操作

    请按要求上机实践如下linux基本命令. cd命令:切换目录 (1)切换到目录 /usr/local cd /usr/local (2)去到目前的上层目录 cd .. (3)回到自己的主文件夹 cd ...

  9. 大数据-实验2 熟悉常用的HDFS操作

    1.向HDFS中上传任意文件,如果指定的文件在HDFS中已经存在,由客户指定是追加到原有文件末尾还是覆盖原有文件. 首先,打开Hadoop系统,进入Hadoop下,但是当你输入以Hadoop开头的命令 ...

最新文章

  1. 【安骑士】安装失败问题分析
  2. Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
  3. 记一种数据库水平扩展的技巧
  4. windows server如何加强云服务器的安全性
  5. 文献记录(part57)--半监督学习方法
  6. c 写c语言代码编辑器,最好用的c/cpp代码编辑器是vim,没有之一
  7. conda命令没找到的处理方案
  8. Gccgo in GCC 4.7.1[翻译]
  9. 比较全的机油教程(android)
  10. ES6 模板字符串基本用法
  11. 解决 git reject
  12. 23种PHP开发工具集合
  13. sys.path.append()
  14. 基于百度飞桨的单/多镜头行人追踪(非官方Baseline)
  15. R语言--计算各种距离
  16. win10本地组策略功能说明
  17. 《Java语言高级特性(阿里云大学)》笔记 第7~14章 类库+正则+国际化+比较器(文档+思维导图)
  18. 2020ICPC上海E The Journey of Geor Autumn
  19. PHP+MySQL 无限级分类的两种实现方案
  20. 计算机的时钟设置错误,错误:系统时钟已被设置回过去的时间。 这是不允许的!...

热门文章

  1. Java美元符号取值_java:我如何使用printf打印美元符号和带2位小数的双精度值?...
  2. 基于EasyNVR实现RTSP_Onvif监控摄像头Web无插件化直播监控
  3. 超实用后台UI模板有这些就够了!(一)
  4. 电脑端同时登陆两个微信(非网页版)
  5. springboot dubbo 既是提供者又是消费者demo源码
  6. word中删除页眉的横线
  7. 假如你想成为全栈工程师…
  8. C语言实现LDPC的校验矩阵,非正则LDPC码在AWGN信道中的性能研究
  9. CSS设计指南---字体和文本的布局
  10. oracle12c口令文件,学习笔记:Oracle 12C ASM 新特性 共享密码文件