实验一 熟悉常用的Linux操作和Hadoop操作
文章目录
- 题目
- 实验环境
- 实验内容
- 熟悉常用的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命令
- 使用 cd 命令 :切换目录
切换到目录 “/usr/local”
切换到当前目录的上一级目录
切换到当前登录Linux操作系统的用户的自己的文件夹
这里我现在的用户是root用户,方便进行后续的操作
2. ls命令 :查看文件与目录
查看目录 “/usr” 下的所有文件与目录
两种方式,一种是先进入/usr目录然后使用ls,或者直接使用ls命令
mkdir命令:新建文件与目录
进入 “/tmp” 目录,创建一个名为 “a” 的目录,并查看 “/tmp” 目录下已经存在的那些目录
进入“/tmp” 目录,创建目录 “a1/a2/a3/a4”
rmdir命令 :删除空目录
将上面创建的目录 a 删除
删除上面创建的目录 ”a1/a2/a3/a4“ ,然后查看 ”/tmp“ 目录下面存在那些目录
cp 命令: 复制文件或目录
将当前用户的主文件夹下的文件.bashrc复制到目录 ”/usr“ 下,并重命名为bashrcl。
在目录 ”/tmp“下新建目录test,再把这个目录复制到 “/usr” 目录下。(这里使用cp复制目录的时候需要指定参数-r)
mv 命令:移动文件与目录,或更名
①将“/usr”目录下的文件 bashrcl 移动到 “/usr/test” 目录下。
②将“/usr”目录下的 test 目录重命名为 test2。
rm 命令:移除文件或目录。
①将“usr/test2” 目录下的 bashrcl 文件删除。
②将“/usr”目录下的 test2 目录删除。
cat命令:查看文件内容。
查看当前用户主文件夹下的.bashrc 文件内容。
tac 命令:反向查看文件内容。
反向查看当前用户主文件夹下的.bashrc 文件的内容。
more 命令:一页一页翻动查看。
翻页查看当前用户主文件夹下的.bashrc 文件的内容。
head 命令:取出前面几行。
①查看当前用户主文件夹下 .bashrc 文件内容前20行。
② 查看当前用户主文件夹下.bashrc文件内容,后面 50行不显示,只显示前面几行。tail命令:取出后面几行。
①查看当前用户主文件夹下.bashrc文件内容最后 20行。
② 查看当前用户主文件夹下.bashrc 文件内容,并且只列出 50行以后的数据。
touch 命令:修改文件时间或创建新文件。
①在“/tmp”目录下创建一个空文件 hello,并查看文件时间。
② 修改hello 文件,将文件时间修改为5 天前。
chown 命令:修改文件所有者权限。
将hello 文件所有者改为root,并查看属性。
find 命令:文件查找。
找出主文件夹下文件名为.bashrc 的文件。
tar 命令:压缩命令。
①在根目录“/”下新建文件实test,然后在根目录“/’下打包成test .tar. gz。
② 把上面的 test.tar.gz 压缩包,解压缩到“/tmp”目录
grep 命令:查找宇符串。
从 "~/bashre"文件中查找字符串’examples’
配置环境变量。
①请在"~/.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操作相关推荐
- 实验一 熟悉常用的Linux操作,实验2-熟悉常用的HDFS操作
<实验2-熟悉常用的HDFS操作>由会员分享,可在线阅读,更多相关<实验2-熟悉常用的HDFS操作(5页珍藏版)>请在人人文库网上搜索. 1.实验2熟悉常用的HDFS操作1 实 ...
- 实验1:熟悉常用的Linux操作和Hadoop操作
注:完整实验报告word文件在末尾 --------------------------------- "大数据技术原理与应用"课程实验报告 题目:实验1:熟悉常用的Linux操作 ...
- Hadoop综合大作业补交4次作业:获取全部校园新闻,网络爬虫基础练习,中文词频统计,熟悉常用的Linux操作...
1.用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)进行词频统计. (1)开启所有的服务,并创建文件夹wwc (2)查看目录下所有文件 (3)把hdfs文件系统中文件夹里的文 ...
- HBase的编程实践(实验3_熟悉常用的HBase操作)
一.Hbase中使用Shell命令: ① HBase中创建表:(create 命令:第一个变量是表名,然后是列族名) 语法:create '表名称','列族名称1','列族名称2','列族名称N' c ...
- 计算机网络实验指导书实验报告,计算机网络实验一 熟悉常用的网络命令实验报告模板...
实验一熟悉常用的网络命令实验报告 序号:姓名:学号:成绩指导教师: 1.实验目的: 学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连 ...
- Linux实验一:常用的Linux命令
文章目录 一.实验目的 二.实验要求 三.实验内容 1.系统的使用 2.命令的使用 3.文件操作 4.系统询问与权限口令 5.其它常用命令 四.实验操作 1.基本命令的使用 2.文件和目录操作 3.创 ...
- 熟悉常用的Linux操作
请按要求上机实践如下linux基本命令. cd命令:切换目录 (1)切换到目录 /usr/local cd /usr/local (2)去到目前的上层目录 cd .. (3)回到自己的主文件夹 cd ...
- 熟悉常用的Linux命令操作
请按要求上机实践如下linux基本命令. cd命令:切换目录 (1)切换到目录 /usr/local cd /usr/local (2)去到目前的上层目录 cd .. (3)回到自己的主文件夹 cd ...
- 大数据-实验2 熟悉常用的HDFS操作
1.向HDFS中上传任意文件,如果指定的文件在HDFS中已经存在,由客户指定是追加到原有文件末尾还是覆盖原有文件. 首先,打开Hadoop系统,进入Hadoop下,但是当你输入以Hadoop开头的命令 ...
最新文章
- 【安骑士】安装失败问题分析
- Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
- 记一种数据库水平扩展的技巧
- windows server如何加强云服务器的安全性
- 文献记录(part57)--半监督学习方法
- c 写c语言代码编辑器,最好用的c/cpp代码编辑器是vim,没有之一
- conda命令没找到的处理方案
- Gccgo in GCC 4.7.1[翻译]
- 比较全的机油教程(android)
- ES6 模板字符串基本用法
- 解决 git reject
- 23种PHP开发工具集合
- sys.path.append()
- 基于百度飞桨的单/多镜头行人追踪(非官方Baseline)
- R语言--计算各种距离
- win10本地组策略功能说明
- 《Java语言高级特性(阿里云大学)》笔记 第7~14章 类库+正则+国际化+比较器(文档+思维导图)
- 2020ICPC上海E The Journey of Geor Autumn
- PHP+MySQL 无限级分类的两种实现方案
- 计算机的时钟设置错误,错误:系统时钟已被设置回过去的时间。 这是不允许的!...
热门文章
- Java美元符号取值_java:我如何使用printf打印美元符号和带2位小数的双精度值?...
- 基于EasyNVR实现RTSP_Onvif监控摄像头Web无插件化直播监控
- 超实用后台UI模板有这些就够了!(一)
- 电脑端同时登陆两个微信(非网页版)
- springboot dubbo 既是提供者又是消费者demo源码
- word中删除页眉的横线
- 假如你想成为全栈工程师…
- C语言实现LDPC的校验矩阵,非正则LDPC码在AWGN信道中的性能研究
- CSS设计指南---字体和文本的布局
- oracle12c口令文件,学习笔记:Oracle 12C ASM 新特性 共享密码文件