一.Hadoop介绍

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。Hadoop的框架最核心的设计就是:HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。

二.安装Hadoop

环境:Docker(17.04.0-ce)、镜像Ubuntu(16.04.3)、Hadoop(3.1.1)、JDK(1.8.0_144)

1.运行dockeer容器,指定IP
faramita2016@linux-l9e6:~> docker run -id --hostname lab-bd --net br0 --ip 10.0.0.3 ubuntu:ssh

2.在容器中执行,安装ssh、vim

root@lab-bd:~# apt-get update
root@lab-bd:~# apt-get install -y ssh vim

3.新建bigdata用户(作为hadoop用户)

root@lab-bd:~# useradd bigdata -m -g root -c /bin/bash
root@lab-bd:~# passwd bigdata
root@lab-bd:~# su - bigdata

4.解压Jdk和Hadoop

bigdata@lab-bd:~$ tar -xf jdk-8u144-linux-x64.tar.gz
bigdata@lab-bd:~$ tar -xf hadoop-3.1..tar.gz

5.编辑.bashrc文件,配置Java环境

export JAVA_HOME=/home/bigdata/jdk1..0_144
export PATH=$JAVA_HOME/bin:$PATH

6.激活Java环境变量
bigdata@lab-bd:~$ source .bashrc

7.编辑etc/hadoop/hadoop-env.sh文件,配置Java环境
export JAVA_HOME=/home/bigdata/jdk1..0_144

8.配置ssh免密登录

bigdata@lab-bd:~$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
bigdata@lab-bd:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
bigdata@lab-bd:~$ ssh localhost

9.编辑etc/hadoop/core-site.xml文件,添加如下配置

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

10.编辑etc/hadoop/hdfs-site.xml文件,添加如下配置

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

11.格式化文件系统
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs namenode -format

12.启动hdfs服务
bigdata@lab-bd:~$ hadoop-3.1./sbin/start-dfs.sh

13.浏览器访问http://10.0.0.3:9870

三.配置Yarn

1.创建bigdata用户默认文件夹
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -mkdir -p /user/bigdata

2.编辑etc/hadoop/mapred-site.xml文件,添加如下配置

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>

3.编辑etc/hadoop/yarn-site.xml文件,添加如下配置

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>

4.启动Yarn服务
bigdata@lab-bd:~$ hadoop-3.1./sbin/start-yarn.sh

5.浏览器访问http://10.0.0.3:8088

四.运行任务

1.创建hadoop任务输入文件夹
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -mkdir /user/bigdata/input

2.添加xml文件做为输入文本
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -put hadoop-3.1./etc/hadoop/*.xml /user/bigdata/input

3.执行单词统计示例任务,input输入文件夹,output输出文件夹(自动创建)

bigdata@lab-bd:~$ hadoop-3.1./bin/hadoop jar hadoop-3.1./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1..jar grep input output 'had[a-z.]+'

4.查看单词统计输出结果
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -cat /user/bigdata/output/part-r- 

五.HDFS命令

1) ls 显示目录下的所有文件或者文件夹
示例: hdfs dfs –ls /
显示目录下的所有文件可以加 -R 选项
示例: hdfs dfs -ls -R /

2) cat 查看文件内容
示例: hdfs dfs -cat /user/bigdata/test.txt

3) mkdir 创建目录
示例: hdfs dfs –mkdir /user/bigdata/a
创建多级目录 加上 –p
示例: hdfs dfs –mkdir -p /user/bigdata/a/b/c

4) rm 删除目录或者文件
示例: hdfs dfs -rm /user/bigdata/test.txt
删除文件夹加上 -r
示例: hdfs dfs -rm -r /user/bigdata/a/b/c

5) put 将文件复制到hdfs系统中,
示例:hdfs dfs -put /tmp/test.txt /user/bigdata

6) cp 复制系统内文件
示例:hdfs dfs -cp /user/bigdata/test.txt /user/bigdata/a/

7) get 复制文件到本地系统
示例:hdfs dfs -get /user/bigdata/test.txt /tmp

8) mv 将文件从源路径移动到目标路径。
示例:hdfs dfs -mv /user/bigdata/a/test.txt /user/bigdata/b/test.txt

9) du 显示目录中所有文件的大小
示例: hdfs dfs -du /
显示当前目录或者文件夹的大小可加选项 -s
示例: hdfs dfs -du -s /user/bigdata

六.运行异常

running …… beyond the 'VIRTUAL' memory limit异常

虚拟内存分配不够,Yarn直接杀死进程,需要禁止内存检查
编辑etc/hadoop/yarn-site.xml文件,添加如下配置

<configuration>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>

Hadoop伪分布式模式安装的更多相关文章

  1. 初学者值得拥有【Hadoop伪分布式模式安装部署】

    目录 1.了解单机模式与伪分布模式有何区别 2.安装好单机模式的Hadoop 3.修改Hadoop配置文件---五个核心配置文件 (1)hadoop-env.sh 1.到hadoop目录中 ​ 2.修 ...

  2. VMware workstation 下Hadoop伪分布式模式安装

    详细过程: 1.VMware安装: 2.centos 6 安装 3.jdk下载安装配置 4.Hadoop 安装配置 1.VMware Workstation 安装: https://www.vmwar ...

  3. Hadoop伪分布式模式部署

    Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...

  4. HBase入门基础教程之单机模式与伪分布式模式安装(转)

    原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...

  5. Hadoop伪分布式模式搭建

    title: Hadoop伪分布式模式搭建 Quitters never win and winners never quit. 运行环境: Ubuntu18.10-server版镜像:ubuntu- ...

  6. Hadoop完全分布式模式安装部署

    在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式 注:此教程皆是以范例讲述的,当然你可以 ...

  7. Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)

    Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...

  8. HBase入门基础教程 HBase之单机模式与伪分布式模式安装

    在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...

  9. 【HBase基础教程】1、HBase之单机模式与伪分布式模式安装(转)

    在这篇blog中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建hbase伪分布式环境的前提是我们已经搭建好了hadoop完全分布式环境,搭建ha ...

随机推荐

  1. Android Material Design控件使用(二)——FloatButton TextInputEditText TextInputLayout 按钮和输入框

    FloatingActionButton 1. 使用FloatingActionButton的情形 FAB代表一个App或一个页面中最主要的操作,如果一个App的每个页面都有FAB,则通常表示该App ...

  2. regression and anova

    regression一般是统计学的回归回归,研究一个随机变量Y对另一个(X)或一组(X1,X2,-,Xk)变量的相依关系的统计分析方法.研究一 个或多个随机变量Y1 ,Y2 ,-,Yi与另一些变量X1 ...

  3. java并发编程小结

    旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/xuri24/article/details/82078467 线程简介: 线程是操作系统调度 ...

  4. JS中replace替换全部的正确应用

    一般使用 var str = "test-test-test"; str = "test-test-test".replace("test" ...

  5. Android Studio 无法预览xml布局视图:failed to load AppCompat ActionBar with unkNown error

    问题如下: 解决方法: 找到res-->values-->styles.xml 文件 可以看到主题Them设置如下: 修改为: 界面预览可以正常显示

  6. wap2app(十)--wap2app 添加原生底部导航,添加原生标题栏,填坑

    一.添加原生标题栏 添加原生标题栏可以参照 <wap2app(六)-- wap2app的原生标题头无法隐藏>,具体如下: 1.打开 sitemap.json文件 --> page配置 ...

  7. (网页)html中页面传递参数不用cookie不用缓存,js方法搞定

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

  8. tkinter进阶版——ttk

    很长的一段时间里,我都是用tkinter进行GUI设计的,还写过一篇<tkinter模块常用参数>. 但后来慢慢地觉得,这个tkinter真的是有点丑啊. 于是,找到了现在的ttk. tt ...

  9. Symantec Backup Exec Agent 推送错误Error connecting to the remote computer. Ensure that the computer is available, has WMI enabled and is not blocked by a firewall

    如果在Symantec Backup Server上推送Symantec Backup Exec Agent到数据库服务器遇到“"Error connecting to the remote ...

  10. 洗礼灵魂,修炼python(84)-- 知识拾遗篇 —— 网络编程之socket

    学习本篇文章的前提,你需要了解网络技术基础,请参阅我的另一个分类的博文:网络互联技术(4)——计算机网络常识.原理剖析 网络通信要素 1.IP地址: 用来标识网络上一台独立的终端(PC或者主机) ip ...