四种Hadoop集群搭建(一)

一搭建单节点hadoop
*安装环境
Hadoop-2.4.1
jdk1.7.0_25
Cenos 32位
虚拟机:senior.shizhan04
*设置linux系统的启动页面.      
linux系统不启动图形界面,而是启动命令行截面
Sudo vi  /ect/inttab 
Id:3:initdefault:

*设置ip地址

图形化界面修改IP

四种Hadoop集群搭建(一)

四种Hadoop集群搭建(一)

四种Hadoop集群搭建(一)


命令行界面修改ip地址,修改IPADDR即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0

*修改主机名
vi /etc/hosts  //添加
192.168.195.13 senior.shizhan04
*设置hadoop用户具备管理员权限
更改用户的sodu权限,切换到root用户下,修改/etc/sudoers
添加: hadoop   ALL=(ALL)     ALL
*关闭防火墙
chkconfig iptables off

*安装jdk,配置环境变量等

                        在安装jdk之前,先查看自己的linux中是否自带jdk,如果自带可以卸载,然后安装自己需要的jdk版本
                              rpm -qa|grep jdk
                              rpm -qa|grep gcj
                              查看自带的jdk相关的信息
                              卸载自带jdk:yum -y remove  (查询jdk信息)

创建文件:
[[email protected] ~]$ mkdir software
安装jdk:
[[email protected] ~]$ tar -zxvf jdk-7u65-linux-i586.tar.gz  -C  software/
配置jdk:
[[email protected] ~]$ sudo   vi /etc/profile
添加以下两行:
export  JAVA_HOME=/home/hadoop/software/jdk1.7.0_65
export PATH=$PATH:$JAVA_HOME/bin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*安装hadoop,并配置文件
[[email protected] ~]$ tar -zxvf hadoop-2.4.1.tar.gz  -C  software/
配置jdk:
[[email protected] ~]$ sudo   vi /etc/profile
添加以下两行:
export  HADOOP_HOME=/home/hadoop/software/ hadoop-2.4.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*配置hadoop的文件
hadoop-env.xml ,需修改jdk的安装目录
export JAVA_HOME=/home/hadoop/software/jdk1.7.0_25
core-site.xml
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
hdfs-site.xml
<property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
mapred-site.xml
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
  </property>
yarn-site.xml
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
Slaves
senior.shizhan04

*配置ssh免秘登陆
ssh-****** -t rsa  
ssh-copy-id senior.shizhan04

*测试
格式化
bin/hdfs namenode -format
启动dfs
sbin/start-dfs.sh  //同时启动namenode与datanaode,还有其他的启动方式,可以在sbin目录下查看
启动yarn
sbin/start-yarn.sh
执行mapreduce程序
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount inputData outputData
        关闭服务
sbin/stop-dfs.sh

$ sbin/stop-yarn.sh

二 搭建三台伪分布式的hadoop集群
*实验环境
Hadoop-2.4.1
jdk1.7.0_25
Cenos 32位
三台虚拟机,分别为senior.shizhan02(192.168.195.11)、senior.shizhan03(192.168.195.12)、senior.shizhan04(192.168.195.13)
其中senior.shizhan04是namenode,senior.shizhan03是secondarynamenode,senior.shizhan02是resourcemanager
*设置linux系统的启动页面.      
linux系统不启动图形界面,而是启动命令行截面
Sudo vi  /ect/inttab 
Id:3:initdefault:

*修改三台机器的ip

图形化界面修改IP

四种Hadoop集群搭建(一)

四种Hadoop集群搭建(一)

四种Hadoop集群搭建(一)

命令行界面修改ip地址,修改IPADDR即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0

*修改主机名
vi /etc/hosts  //添加
192.168.195.13 senior.shizhan04
192.168.195.12 senior.shizhan03
192.168.195.11 senior.shizhan02

*设置三台机器上hadoop用户具备管理员权限
更改用户的sodu权限,切换到root用户下,修改/etc/sudoers
添加: hadoop   ALL=(ALL)     ALL
*关闭防火墙
chkconfig iptables off

*安装jdk,配置环境变量等
创建文件:
[[email protected] ~]$ mkdir software
安装jdk:
[[email protected] ~]$ tar -zxvf jdk-7u65-linux-i586.tar.gz  -C  software/
配置jdk:
[[email protected] ~]$ sudo   vi /etc/profile
添加以下两行:
export  JAVA_HOME=/home/hadoop/software/jdk1.7.0_65
export PATH=$PATH:$JAVA_HOME/bin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*安装hadoop,并配置文件
[[email protected] ~]$ tar -zxvf hadoop-2.4.1.tar.gz  -C  software/
配置jdk:
[[email protected] ~]$ sudo   vi /etc/profile
添加以下两行:
export  HADOOP_HOME=/home/hadoop/software/ hadoop-2.4.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让配置文件生效:
[[email protected] ~]$ source /etc/profile

*核心文件设置
*hdfs
hadoop-env.xml ,需修改jdk的安装目录
export JAVA_HOME=/home/hadoop/software/jdk1.7.0_25

core-site.xml
<!-- 配置namenode的节点所在机器-->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://senior.shizhan04:8020</value>
</property>
<!-- 配置集群数据存放目录-->
<property>
        <name>dfs.tmp.dir</name>
        <value>/home/hadoop/software/hadoop-2.4.1/data/tmp</value>
</property>

hdfs-site.xml
<!-- 配置secondarynamenode所在机器-->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>senior.shizhan03:50090</value>
</property>


Slaves
<!--  配置集群所有的机器 -->
senior.shizhan04
senior.shizhan03
senior.shizhan02

*yarn
yarn-site.xml
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>senior.shizhan02</value>
</property>
<!-- 陪着这个,可以在web页面上查看mapreduce的计算日志-->
<property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
</property>
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>640800</value>
</property>


*mapreduce
mapre-site.xml
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>senior.shizhan04:10020</value>
</property>
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>senior.shizhan04:19888</value>
</property>

*置ssh免密登陆
//以senior.shizhan04为例,两外两台也是这样
ssh-****** -t rsa  
ssh-copy-id senior.shizhan04
ssh-copy-id senior.shizhan03
ssh-copy-id senior.shizhan02
//测试三台机器的无秘钥登陆
ssh  senior.shizhan04
*复制配置文件
将配置文件复制到另外两台机器上

*格式化集群
bin/hdfs dfs  namenode -format

*集群测试
*启动服务
启动hdfs
sbin/start-dfs.sh
启动yarn
sbin/start-yarn.sh
启动historyserver
sbin/mr-jobhistory-daemon.sh  start historyserver

*hdfs测试
读写操作
bin/hdfs dfs -mkdir -p  /newDre
bin/hdfs dfs -put  1.text  /newDre
bin/hdfs dfs -text  /newDre 
bin/hdfs dfs -get  /newDre   /home/hadoop/software/

*Yarn 测试
bin/yarn   jar    share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar     wordcount   /inputDre/   /outputDre
*web页面

senior.shizhan04:50070(senior.shizhan04是namenode),可以看到一共有三个活动的节点

四种Hadoop集群搭建(一)

senior.shizhan02:8088(resourcemanager),可以看到执行过的mapreduce,还可以看到map与reduce两个阶段的执行日志

四种Hadoop集群搭建(一)

*测试完成之后关闭服务
关闭dfs:
sbin/stop-dfs.sh 
关闭yarn,在resourcemanager可以一次性关闭集群中有关yarn的服务
sbin/stop-yarn.sh 
关闭historyserver
sbin/mr-jobhistory-daemon.sh  stop historyserver

*注意
在格式化之后,如果发现各种问题,可以查看hadoop安装目录下的logs的下的日志信息,并学会根据错误定位错误可能出现的位置。