Hadoop学习笔记-----伪分布式搭建

来源:互联网 发布:土行孙翻墙软件怎么样 编辑:程序博客网 时间:2024/06/05 21:05

Hadoop简介

Hadoop   作者:Dong Cutting 受Google三篇论文的启发(GFS、MapReduce、BigTable)

解决问题:

  • 海量数据的存储(HDFS)
  • 海量数据的分析(MapReduce)
  • 资源管理调度(YARN)
Hadoop核心:
  • HDFS:Hadoop Distributed File System 分布式文件系统
  • YARN:Yet Another Resource Negotiator 资源管理调度系统

HDFS的架构

  • 主从结构
    1. 主节点 namenode
    2. 从节点有很多个 datanode
  • namenode负责:
    1. 接收用户操作请求
    2. 维护文件系统的目录结构
    3. 管理文件与block之间的关系。block与datanode之间的关系
  • datanode负责:
    1. 储存文件
    2. 文件被分成block存储在磁盘上
    3. 为保证数据安全,文件会有多个副本

设计一个分布式文件系统



Hadoop部署方式

  • 本地模式
  • 伪分布式模式
  • 群模
本文采用的是Hadoop 2.4.1

伪分布式环境搭建:

安装JDK,将java添加到环境变量中

安装Hadoop 2.4.1 

伪分布式需要修改5个配置文件
配置hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_65

第二个:core-site.xml
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://itcast01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/itcast/hadoop-2.4.1/tmp</value>
        </property>

第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
        </property>

第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
        </property>

第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>itcast01</value>
        </property>
<!-- reducer获取数据的方式 -->
        <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
        </property>

将hadoop添加到环境变量

vim /etc/proflie
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=/itcast/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


source /etc/profile

格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)

启动hadoop
先启动HDFS
sbin/start-dfs.sh

再启动YARN
sbin/start-yarn.sh

验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode

http://192.168.8.118:50070 (HDFS管理界面)
http://192.168.8.118:8088 (MR管理界面)

配置ssh免登陆
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh

ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id localhost

0 0
原创粉丝点击