Hadoop 伪分布式搭建 Pseudo-Distributed Mode

  • Hadoop 简介
  • 配置操作
    • Linux 系统配置
    • Hadoop 安装配置
      • 解压安装并配置环境变量
      • 配置 HDFS
      • 配置 yarn 并将 MapReduce 交由 yarn 运行
      • 配置日志服务器
      • 启动服务
        • 配置 SSH 秘钥

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


<property>
    <name>fs.defaultFSname>
    <value>hdfs://oldecho01.domain:8020value>
property>


<property>
    <name>hadoop.tmp.dirname>
    <value>/opt/modules/hadoop-2.5.0/datavalue>
property>


<property>
    <name>dfs.namenode.secondary.http-addressname>
    <value>oldecho01.domain:50090value>
property>

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

修改 hdfs-site.xml


<property>
    <name>dfs.replicationname>
    <value>1value>
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


<property>
    <name>yarn.resourcemanager.hostnamename>
    <value>oldecho01.domainvalue>
property>


<property>
    <name>yarn.nodemanager.aux-servicesname>
    <value>mapreduece_shufflevalue>
property>

修改 mapred-site.xml

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


<property>
    <name>mapreduce.framework.namename>
    <value>yarnvalue>
property>

配置日志服务器

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

修改 yarn-site.xml


<property>
    <name>yarn.log-aggregation-enablename>
    <value>truevalue>
property>


<property>
    <name>yarn.log-aggregation.retain-secondsname>
    <value>86400value>
property>

修改 mapred-site.xml


<property>
    <name>mapreduce.jobhistory.addressname>
    <value>oldecho01.domain:10020value>
property>


<property>
    <name>mapreduce.jobhistory.addressname>
    <value>oldecho01.domain:19888value>
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:

  • http://oldecho01.domain:50070/
  • http://oldecho01.domain:50070/dfshealth.jsp

上述页面下,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

你可能感兴趣的:(大数据-hadoop)