`
wang吖
  • 浏览: 235319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop2.2.0的伪分布式搭建(可下载PDF附件)

阅读更多

目录

1. 简介

2. 所需软件

3. 安装环境配置

4. 安装JDK

5. 安装Hadoop2.2.0

6. 启动Hadoop

7. 验证HDFS是否可用

8. 设置免密码登

 

1. 简介

本文主要是介绍Hadoop2.2.0的伪分布式的搭建,通过伪分布式的搭建来认识Hadoop2.2.0主要进程,最后实现一个WordCount的单词计数。

2. 所需软件

1) 准备虚拟机VMware Workstation、CentOS6.4

2) Hadoop2.2.0的安装包,该安装包可以直接去Apache的官网上下载hadoop-2.2.0.tar.gz

3) jdk-6u24-linux-i586.bin  安装包

3. 安装环境配置

注意:为了操作方便,以下软件安装及操作均使用root用户进行操作,实际的生产环境是不可以使用root用户的。

1) 修改虚拟机IP

[root@localhost Desktop]# vi  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="static"  ### 修改

HWADDR="00:50:56:2A:0E:A4"

IPV6INIT="yes"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="2d678a8b-6c40-4ebc-8f4e-245ef6b7a969"

IPADDR="192.168.80.110" ### 修改

NETMASK="255.255.255.0"  ### 修改

GATEWAY="192.168.80.1"   ### 修改

 

 

2) 修改主机名

[root@localhost Desktop]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=hd01   ### 修改hd01可以自定义但是要和3)步骤中的映射保持一致

3) 修改主机名与IP的映射关系

[root@localhost Desktop]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.80.110  hd01  ## 添加ip与主机名的映射中间用空格或者tab键分割均可

 

4) 查看防火墙状态

 

5) 如果防火墙开启则关闭防火墙

[root@localhost Desktop]# service iptables stop

6) 设置防火墙开机不启动

[root@localhost Desktop]# chkconfig iptables off

7) 查看防火墙的状态(如果全是off则为开机不启动防火墙)

[root@localhost Desktop]# chkconfig iptables --list

iptables       0:off 1:off 2:off 3:off 4:off 5:off 6:off

 

8) 重启机器

[root@localhost Desktop]# reboot

9) 验证ip及主机名是否修改完成

Windows 下面使用ping 192.168.80.110 是否能ping通虚拟机

反过来用虚拟机ping 一下Windows的IP

10) 在Linux的根目录下面创建一个cloud目录,使用ftp工具上传jdk及hadoop安装包到该目录

至此安装环境准备完毕!!!

4. 安装JDK

使用root用户进入cloud目录

1) 安装jdk执行命令:

./jdk-6u24-linux-i586.bin

如果./jdk-6u24-linux-i586.bin无权限则授予可执行权限:chmod u+x ./jdk-6u24-linux-i586.bin

2) 配置jdk的环境变量

[root@hd01 ~]# vi /etc/profile

#### 在该文件下添加如下配置

export JAVA_HOME=/cloud/jdk1.6.0_24

export PATH=$PATH:$JAVA_HOME/bin

3) 刷新配置文件

[root@hd01 ~]# source /etc/profile

 

4) 验证安装jdk成功

[root@hd01 ~]# java -version

 

5. 安装Hadoop2.2.0

使用root用户进入cloud目录

1) 解压hadoop-2.2.0的压缩包

tar -zxvf hadoop-2.2.0.tar.gz

2) 配置Hadoop2.2.0的伪分布式,需要修改路径:/cloud/hadoop-2.2.0/etc/hadoop 下面的 5个配置文件

第一个:hadoop-env.sh  (修改第27行)

vi hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_60

 

第二个:core-site.xml

vi core-site.xml

<configuration>

<!-- 用来指定HDFS的老大(NameNode)的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://hd01:9000</value>

</property>

<!-- 用来指定Hadoop用行时产生文件的存放目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/cloud/hadoop-2.2.0/tmp</value>

</property>

</configuration>

 

第三个:hdfs-site.xml

<configuration>

<!-- 指定HDFS保存数据副本的数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

 

第四个:mapred-site.xml (首先改名:mv mapred-site.xml.template mapred-site.xml)

                然后修改mapred-site.xml

<configuration>

<!-- 告诉Hadoop以后MR运行在YARN上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 

第五个:yarn-site.xml

<configuration>

<!-- NodeManager获取数据的方式是shuffle -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>            

<value>hd01</value>

</property>

</configuration>

 

3) 将Hadoop添加到环境变量中

vi /etc/profile

export HADOOP_HOME=/cloud/hadoop-2.2.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin  

4) 刷新配置:

  source /etc/profile

5) 验证Hadoop是否安装成功:

[root@hd01 hadoop]# hadoop version

 

6. 启动Hadoop

1) 格式化hadoop

[root@hd01 cloud]# hdfs namenode –format

 

2) 启动HDFS和YARN (需要多次输入root用户密码)

[root@hd01 sbin]# ./start-all.sh

3) 启动完成验证进程是否启动成功(可以看到如下5个进程则启动成功)

[root@hd01 sbin]# jps

 

4) 使用浏览器验证:

HDFD的管理界面:  http://hd01:50070/dfshealth.jsp

 

YARN的管理界面:http://hd01:8088/cluster

 

7. 验证HDFS是否可用

1) 将/root/install.log上传到HDFS的根目录下面

[root@hd01 sbin]# hadoop fs -put /root/install.log hdfs://hd01:9000/

2) 通过浏览器查看是否上传成功

  成功!!! 

3) 运行Hadoop2.2.0安装包提供的wordcount对hdfs://hd01:9000/install.log进行单词计数

[root@hd01 mapreduce]# hadoop jar /cloud/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount hdfs://hd01:9000/install.log /out

 

4) 验证输出结果

 

  

至此Hadoop2.2.0的伪分布式搭建完成!!!

8. 设置免密码登录

1) 进入/root/.ssh 

[root@hd01 ~]# cd  ~/.ssh

2) 在~/.ssh中执行命令ssh-keygen -t rsa (一路回车下去):

[root@hd01 .ssh]# ssh-keygen -t rsa

 

3) 然后执行以下命令(输入一次密码):

[root@hd01 .ssh]# ssh-copy-id hd01

 

4) 此时在~/.ssh中将生成公私玥信息

[root@hd01 sbin]# cd ~/.ssh

[root@hd01 .ssh]# ll

 

 

5) 再次启动Hadoop将无需输入密码

 

分享到:
评论

相关推荐

    python自学教程-04-自定义JavaScript.ev4.rar

    python自学教程-04-自定义JavaScript.ev4.rar

    严蔚敏数据结构全套C语言实现

    严蔚敏数据结构全套C语言实现

    Java_Android的可扩展媒体播放器.zip

    Java_Android的可扩展媒体播放器

    源代码-DBAdmin 在线Access数据库管理程序 v2.3.zip

    源代码-DBAdmin 在线Access数据库管理程序 v2.3.zip

    Apache Dubbo的java实现RPC和微服务框架.zip

    Apache Dubbo的java实现RPC和微服务框架

    ubuntu20.04下编译mysql驱动项目源码

    ubuntu20.04下编译mysql驱动项目源码,编译项目驱动后拷贝到对应位置 scp libqsqlmysql.so /home/pc/Qt5.14.2/Tools/QtCreator/lib/Qt/plugins/sqldrivers scp libqsqlmysql.so /home/pc/Qt5.14.2/5.14.2/gcc_64/plugins/sqldrivers sudo scp libqsqlmysql.so /usr/lib/x86_64-linux-gnu

    数据分析是一个复杂而系统的过程

    数据分析是一个复杂而系统的过程

    激光雷达模拟数据采集哈哈哈

    我么采用几个黄磊经重新生成萨沙时常

    f103系列启动文件 各种都有

    startup_stm32f10系列的startup_stm32f10x_cl.s startup_stm32f10x_hd.s startup_stm32f10x_hd_vl.s startup_stm32f10x_ld.s startup_stm32f10x_ld_vl.s startup_stm32f10x_md.s startup_stm32f10x_md_vl.s startup_stm32f10x_xl.s

    信息安全基础课程实验作业-Diffie-Hellman密钥交换模块-内含源码和说明书(可自己修改).zip

    本项目是课程设计课程实验的demo,内含源码和说明书,可以自己修改

    信息安全基础课程实验作业-DAA消息认证码(MAC)模块 -内含源码和说明书(可自己修改).zip

    本项目是课程设计课程实验的demo,内含源码和说明书,可以自己修改

    grpcio-1.12.1-cp35-cp35m-manylinux1_i686.whl

    Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.15.0-cp34-cp34m-linux_armv7l.whl

    Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡图表绘制培训.pptx

    麦肯锡图表绘制培训.pptx

    前端开发;JavaScript、TypeScript、Vue、React、前端、前端架构师;最新技术学习视频资料

    内容概要:资料包括6门线上视频课程,有TypeScript 类型体操通关秘籍与TypeScript全面进阶指南、Vue3+React18+TS4入门到实战系统学习、前端实战训练营、前端架构师、以及两门知名教育机构线下就业班视频。 适用人群:想从事前端开发的大学学生、转行it的从业者、提高自己前端开发技能的从业者以及进阶架构师的程序员。 使用场景及目标:线上视频教程,目标是学习前端知识以及掌握最新前端技术。 其他:由于视频文件内存过大,文件为网盘链接,下载后复制到网盘获取即可,如有疑问可联系客服,谢谢。

    hamcrest-core-1.3.jar

    javaee/javaweb常用jar包,亲测可用,导入到java工程中即可使用

    grpcio-1.14.1-cp36-cp36m-manylinux1_x86_64.whl

    Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.16.1-cp35-cp35m-linux_armv7l.whl

    Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.16.1-cp35-cp35m-manylinux1_i686.whl

    Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    node-v11.3.0-headers.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics