Hadoop 伪分布式搭建 Pseudo-Distributed Mode

Hadoop 简介

Hadoop是一个开源的、可靠的、可扩展的分布式并行计算框架

主要组成:分布式文件系统HDFS和MapReduce计算模型

Hadoop 项目主要包括以下四个模块:
- Hadoop Common:为其他Hadoop模块提供基础设施
- Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统
- Hadoop MapReduce:一个分布式的离线并行计算框架
- Hadoop Yarn:一个新的MapReduce框架,任务调度与资源管理

配置操作

官网文档

如非必要,应尽量在普通用户下操作

Linux 系统配置

修改网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.138.7
NETMASK=255.255.255.0
GATEWAY=192.168.138.2
DNS1=192.168.138.2

ip地址网段和本机相同,修改完成后重启网络服务 service network restart

修改主机名

vi /etc/sysconfig/network
HOSTNAME=oldecho01.domain

关闭防火墙和子安全系统

service iptables stop
chkconfig iptables off

vi /etc/sysconfig/selinux
SELINUX=disabled

查看防火墙状态

service iptables status
chkconfig --list | grep iptables

设置域名映射

vi /etc/hosts
192.168.138.7 oldecho01.domain

设置普通用户

按需执行

useradd tom
echo blue | passwd --stdin tom
mkdir /opt/modules
mkdir /opt/softwares
chown tom:tom /opt/modules/
chown tom:tom /opt/softwares/

将压缩包放在softwares中,安装到modules中

安装JDK

检查已安装的java rpm包,如有则删除

rpm -qa | grep -i java
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.e16_3.x86_64

解压安装并配置环境变量

tar -zxvf /opt/softwares/jdk-7u67-linux-x64.tar.gz -C /opt/modules/

vi /etc/profile
JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOEM/bin

Hadoop 安装配置

修改文件建议使用Notepad++远程工具

解压安装并配置环境变量

tar -zxvf /opt/softwares/hadoop-2.5.0.tar.gz -C /opt/modules/

vi /etc/profile
export HADOOP_INSTALL=/opt/modules/hadoop-2.5.0
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin

环境变量可以不配置,通常我们都在 Hadoop 安装目录下执行命令

配置 HDFS

主要配置内容为 namenode、datanode

配置文件在 /opt/modules/hadoop-2.5.0/etc/hadoop/

修改 hadoop-env.sh

export JAVA_HOME=/opt/modules/jdk1.7.0_67

修改 core-site.xml

<!-- 指定 namenode 的访问地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://oldecho01.domain:8020</value>
</property>

<!-- 指定数据存放目录,格式化时自动生成 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/hadoop-2.5.0/data</value>
</property>

<!-- 指定 secondnamenode 地址 -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>oldecho01.domain:50090</value>
</property>

secondarynamenode 可以不配置,事实上在伪分布式下没有什么意义

修改 hdfs-site.xml

<!-- Block 的副本数,通常为3,伪分布式为1 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

格式化 namenode

cd /opt/modules/hadoop-2.5.0/
bin/hdfs namenode -format

修改 slaves

一行一个主机名,而这些主机都是datanode,而伪分布式下只有一个从节点

oldecho01.domain

配置 yarn 并将 MapReduce 交由 yarn 运行

主要配置内容 resourcemanager、nodemanager、mapreduce运行框架

nodemanager 位置也是由 slaves 决定

修改 yarn-site.xml

<!-- 指定 resourcemanager 主机 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>oldecho01.domain</value>
</property>

<!-- nodemanager 上运行的辅助(auxiliary)服务,需配置成 mapreduce_shuffle 才能运行 mapreduce 程序 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduece_shuffle</value>
</property>

修改 mapred-site.xml

拷贝 mapred-site.xml.template 文件并重命名为 mapred-site.xml

<!-- 指定 mapreduce 运行框架为 yarn -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

配置日志服务器

yarn 平台上启用日志,mapreduce 上开启jobhistory服务

修改 yarn-site.xml

<!-- 启用日志聚合功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 日志保留时间,86400s=24h -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>86400</value>
</property>

修改 mapred-site.xml

<!-- jobhistory 服务的IPC地址(inter-process communication) -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>oldecho01.domain:10020</value>
</property>

<!-- 日志的 web 访问地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>oldecho01.domain:19888</value>
</property>

启动服务

在 /opt/modules/hadoop-2.5.0/ 下,即 Hadoop 安装目录下执行命令

HDFS

sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start secondarynamenode

namenode information:

上述页面下,Utilities–Browse file system,可以查看文件系统

在文件系统内实现存储

vi test.txt
bin/hdfs dfs -mkdir /input
bin/hdfs dfs -put test.txt /input

yarn

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

yarn 的监控平台:http://oldecho01.domain:8088

运行一个 mapreduce 例子(Wordcount):

bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input /output

可以在上述监控平台上查看运行信息,使用以下命令可查看结果:

bin/hdfs dfs -cat /output/p*

jobhistory

sbin/mr-jobhistory-daemon.sh start historyserver

jobhistory 的web访问:http://oldecho01.domain:19888

此时查看 jps 可以看到以下6个守护进程:

  • namenode
  • datanode
  • secondarynamenode
  • resourcemanager
  • nodemanager
  • historyserver
配置 SSH 秘钥
cd ~/.ssh
ssh-keygen
ssh-copy-id [hostname]

此时可以按模块启动服务,historyserver 还是要单独启动

start-dfs.sh
start-yarn.sh
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值