Hadoop集群搭建

1. 安装好linux

     / 15360
    /boot 200M 
    /swap 2048   

2.关闭防火墙  
    service iptables stop
    chkconfig iptables off

3.设置静态IP,改主机名  
    编辑vim /etc/sysconfig/network-scripts/ifcfg-eth0
    改成
=================================
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="eth0"
IPADDR=192.168.72.101
PREFIX=24
GATEWAY=192.168.72.2
DNS1=192.168.72.2
=================================
    编辑vim /etc/sysconfig/network
    改HOSTNAME=那一行
    
4. 配置/etc/hosts √
    vim /etc/hosts
=============================
192.168.72.100   JHB0
192.168.72.101   JHB1
192.168.72.102   JHB2
=============================
    
5.在/opt目录下创建两个文件夹module和software,并把所有权赋给root √
    mkdir /opt/module /opt/software
    sudo chown root:root /opt/module /opt/software
    
6.关机,快照,克隆

7.克隆的虚拟机改IP

8. 做分发脚本     
    cd ~  
    vim xsync
    内容如下:
=================================================================
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`
 
#5 循环
for((host=0; host<3; host++)); do
        echo ------------------- JHB$host --------------
        rsync -av $pdir/$fname $user@JHB$host:$pdir
done
==============================================================
    
    chmod +x xsync
    
    cp xsync /bin
    
    xsync /bin/xsync

9.配置免密登陆
    以下步骤三台机器上都得做一遍
===========================
       (1)生成密钥对                                   
        ssh-keygen -t rsa 三次回车               
                                                              
        (2)发送公钥到本机                             
        ssh-copy-id JHB0 输入一次密码         
        ssh-copy-id JHB1 输入一次密码                     
        ssh-copy-id JHB2 输入一次密码        
===========================
    以上步骤三台机器上都得做一遍

        (3)分别ssh登陆一下所有虚拟机
        ssh JHB1
        exit
        ssh JHB2
        exit
        
        (4)把/home/root/.ssh 文件夹发送到集群所有服务器
        xsync /home/root/.ssh
        
==============================安装JDK 安装Hadoop=========================================================
10.在一台机器上安装Java和Hadoop,并配置环境变量,并分发到集群其他机器
        (1)安装JDK:
查询是否安装Java软件:
[root@JHB0 opt]$ rpm -qa | grep java

如果安装的版本低于1.7,卸载该JDK:
[root@JHB0 opt]$ sudo rpm -e 软件包

解压JDK到/opt/module目录下
[root@JHB0 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

先获取JDK路径
[root@JHB0 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144

打开/etc/profile文件
[root@JHB0 software]$ sudo vi /etc/profile

在profile文件末尾添加JDK路径
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

让修改后的文件生效
[root@JHB0 jdk1.8.0_144]$ source /etc/profile

测试JDK是否安装成功
[root@JHB0 jdk1.8.0_144]# java -version
java version "1.8.0_144"

 注意:重启(如果java -version可以用就不用重启)
[root@JHB0 jdk1.8.0_144]$ sync
[root@JHB0 jdk1.8.0_144]$ sudo reboot

       (2)安装Hadoop
解压安装文件到/opt/module下面
[root@JHB0 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/    

打开/etc/profile文件
[root@JHB0 hadoop-2.7.2]$ sudo vi /etc/profile

在profile文件末尾添加JDK路径:(shitf+g)
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

让修改后的文件生效
[root@ JHB0 hadoop-2.7.2]$ source /etc/profile

测试是否安装成功
[root@JHB0 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2

重启(如果Hadoop命令不能用再重启)
[root@ JHB0 hadoop-2.7.2]$ sync
[root@ JHB0 hadoop-2.7.2]$ sudo reboot

     source /etc/profile
        
     sudo xsync /etc/profile
        
     在另两台机器分别执行source /etc/profile
======================================================================================


================###所有配置文件都在/opt/module/hadoop2.7.2/etc/hadoop=====================================
11. 首先配置hadoop-env.sh, yarn-env.sh, mapred-env.sh文件,配置Java_HOME
    在每个文件第二行添加 export JAVA_HOME=/opt/module/jdk1.8.0_144

=========================核心配置文件======================
12. 配置Core-site.xml

        <!-- 指定HDFS中NameNode的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://JHB0:9000</value>
        </property>

        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/module/hadoop-2.7.2/data/tmp</value>
        </property>
=========================================================      

=========================HDFS配置文件========================
包括hadoop-env.sh

13. 配置hdfs-site.xml   
        <!-- 数据的副本数量 -->
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <!-- 指定Hadoop辅助名称节点主机配置 -->
        <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>JHB2:50090</value>
        </property>
==========================================================        

===========================YARN配置文件========================
包括yarn-env.sh

14. 配置yarn-site.xml

        <!-- Site specific YARN configuration properties -->
        <!-- Reducer获取数据的方式 -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

        <!-- 指定YARN的ResourceManager的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>JHB1</value>
        </property>
        <!-- 日志聚集功能使能 -->
        <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
        </property>

        <!-- 日志保留时间设置7天 -->
        <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>604800</value>
        </property>
=================================================================

===========================MapReduce配置文件==========================
包括mapred-env.sh

15. 配置mapred-site.xml
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- 历史服务器端地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>JHB2:10020</value>
    </property>
    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>JHB2:19888</value>
    </property>
    
    启动历史服务器:mr-jobhistory-daemon.sh start historyserver
====================================================================
====================================================================
16. 配置Slaves
    JHB0
    JHB1
    JHB2
====================================================================    

17. 分发配置文件
    xsync /opt/module/hadoop-2.7.2/etc

=====================配置完毕,开始启动====================================
18. 在JHB0上格式化Namenode  
    hdfs namenode -format                                                                               
    启动hdfs:start-dfs.sh                                             
                                                  
19. 在JHB1上:启动start-yarn.sh                                             
                                                                                       
如果集群出了问题                                             
    stop-dfs.sh                                             
    stop-yarn.sh                                                 
    cd /opt/module/hadoop-2.7.2                                                 
    rm -rf data logs                                                         
    回到18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值