Hadoop大数据开发基础系列:二、Hadoop集群搭建

1:创建虚拟机CentOs7操作系统,作为大数据集群的master节点

       (1)修改网卡配置文件     

                          #vi /etc/sysconfig/network-scripts/ifcfg-eno16777736     注意:不同版本Linux中ifcfg-eno16777736文件名不同

                             文件中    BOOTPROTO=dhcp     修改=>BOOTPROTO=static                
                                            ONBOOT=no    修改==》 ONBOOT=yes        

         (2) 重启网路            
                   #systemctl  restart network        
            
        (3)查看IP地址            
                  #ip a    

        (4) 用终端工具crt 或者xshell 进行连接

      (5)配置本地yum源(如果可以连接外网此步骤可以省略)                                    
                        1、进入本地yum源的目录    #cd /etc/yum.repos.d/                                
                        2、查看目录下文件  #ll                                
                        3、要配置的本地yum源 CentOS-Media.repo                                
                        4、将本地yum源文件以外的文件重命名  #mv  CentOS-Base.repo CentOS-Base.repo.bak                                
                        5、执行命令#vi CentOS-Media.repo            

                                                     

                      6、挂载            
                             #mount /dev/sr0 /media        
            
                     7、更新yum源      

                             # yum clean all    

             
     (6)安装及配置JDK                                
                    1、通过CRT的secureFX把JDK压缩包上传到/opt/目录下面                            
                    2、创建目录  #mkdir  /usr/jdk64                            
                    3、解压安装JDK   #tar -zxvf /opt/jdk-8u231-linux-x64.tar.gz -C /usr/jdk64                            
                    4、配置环境变量:#vi /etc/profile                            
                                             export JAVA_HOME=/usr/jdk64/jdk1.8.0_231                    
                                             export PATH=$JAVA_HOME/bin:$PATH                    
                    5、重新加载profile文件                            
                                             #source /etc/profile                        
                    6、验证jdk版本                            
                                             #java -version      

      (7)安装及配置Hadoop(2.8.5)                                            
                   1、通过CRT的secureFX把JDK压缩包上传到/opt/目录下面                                        
                   2、将hadoop解压安装在/usr/local                                        
                             #tar -zxvf /opt/hadoop-2.8.5.tar.gz -C /usr/local                                    
                                            
                  3、修改配置文件        #cd /usr/local/hadoop-2.8.5/etc/hadoop                                
              1、core-site.xml        hadoop的核心文件                            
                Hadoop的HDFS系统的命名,位置为主机的8020端口                            
                配置Haddop临时文件的位置                            
                                            
            在文件的<configuration>中添加以下代码                                
                    <property>                                
                            <name>fs.defaultFS</name>                                
                            <value>hdfs://master:8020</value>                                
                    </property>                                
                    <property>                                
                            <name>hadoop.tmp.dir</name>                                
                            <value>/var/log/hadoop/tmp</value>                                
                    </property>                                
                                            
        2、hadoop-env.sh        hadoop运行基本环境的配置                            
                在文件中修改或注释掉原有的export JAVA_HOME=                                
                修改或添加 export JAVA_HOME=/usr/jdk64/jdk1.8.0_231                            
                                            
        3、yarn-env.sh        文件是YARN框架运行环境的配置                            
                在文件中修改或注释掉原有的export JAVA_HOME=                                
                修改或添加 export JAVA_HOME=/usr/jdk64/jdk1.8.0_231                            
                                            
        4、mapred-site.xml        是MapReduce的相关配置                            
                在hadoop目录下不存在mapred-site.xml                            
                1、复制 文件                            
                #cp mapred-site.xml.template mapred-site.xml                            
                2、在文件的<configuration>中添加以下代码                            
                        <property>                            
                                <name>mapreduce.framework.name</name>                            
                                <value>yarn</value>                            
                        </property>                            
                        <property>                            
                                <name>mapreduce.jobhistory.address</name>                            
                                <value>master:10020</value>                            
                        </property>                            
                        <property>                            
                                <name>mapreduce.jobhistory.webapp.address</name>                            
                                <value>master:19888</value>                            
                        </property>                            
                                            
        5、yarn-site.xml        YARN框架的配置                            
                在文件的<configuration>中添加以下代码                            
                 <property>                            
                                <name>yarn.resourcemanager.hostname</name>                            
                                <value>master</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.resourcemanager.address</name>                            
                                <value>${yarn.resourcemanager.hostname}:8032</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.resourcemanager.scheduler.address</name>                            
                                <value>${yarn.resourcemanager.hostname}:8030</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.resourcemanager.webapp.address</name>                            
                                <value>${yarn.resourcemanager.hostname}:8088</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.resourcemanager.webapp.https.address</name>                            
                                <value>${yarn.resourcemanager.hostname}:8090</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.resourcemanager.resource-tracker.address</name>                            
                                <value>${yarn.resourcemanager.hostname}:8031</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.resourcemanager.admin.address</name>                            
                                <value>${yarn.resourcemanager.hostname}:8033</value>                            
                        </property>                            
                        <property>                            
                                <name>yarn.nodemanager.aux-services</name>                            
                                <value>mapreduce_shuffle</value>                            
                        </property>                            
                                            
        6、hdfs-site.xml        HDFS的相关配置                            
                 <property>                            
                                <name>dfs.namenode.name.dir</name>                            
                                <value>file:///data/hadoop/hdfs/name</value>                            
                        </property>                            
                        <property>                            
                                <name>dfs.datanode.data.dir</name>                            
                                <value>file:///data/hadoop/hdfs/data</value>                            
                        </property>                            
                        <property>                            
                                <name>dfs.namenode.secondary.http-address</name>                            
                                <value>master:50090</value>                            
                        </property>                            
                        <property>                            
                                <name>dfs.replication</name>                            
                                <value>3</value>                            
                        </property>                            
                                            
        7、slaves    该文件保存有slave节点的信息                注:两个节点                
                删除文件中localhost                            
                添加                            
                slave1                            
                slave2                            
                                            
          

(8)hosts    /etc/hosts            
    添加下面内容            
    192.168.60.111 master master.centos.com            
    192.168.60.112 slave1 slave1.centos.com            
    192.168.60.113 slave2 slave2.centos.com            

(9)修改主机名                
    #hostnamectl set-hostname master            
    #bash            

2、创建子节点                备注:两个子节点操作完全相同                                
    (1)克隆master节点,取名slave1                                            
    (2)修改网卡配置文件                                            
        #vi /etc/sysconfig/network-scripts/ifcfg-ens33     注意:不同版本Linux中ifcfg-ens33文件名不同                                        
        删除或者修改UUID最后一个字符,改成不一致即可                                        
    (3)重启网络                                            
        systemctl restart network                                        
    (4)查看IP地址                                            
        #ip a                                        
                                                
                                                
                                                
    (5)连接CRT 修改主机名                                            
        #hostnamectl set-hostname slave1                                        
        #bash                                        
                                                
                                                
3、配置SSH免密码登录                                                
    (1)使用ssh-keygen产生公钥与私钥对                                            
        输入#ssh-keygen -t rsa,连续按三次enter键                    注:-t用于指定要创建的SSH密钥的类型是rsa                    
        生成私有秘钥id_rsa和公有密钥id_rsa.pub两个文件                                        
    (2)用ssh-copy-id将公钥复制到远程机器中                                            
        #ssh-copy-id -i /root/.ssh/id_rsa.pub master                    输入yes,密码(000000)                    
        #ssh-copy-id -i /root/.ssh/id_rsa.pub slave1                                        
        #ssh-copy-id -i /root/.ssh/id_rsa.pub slave2                                        
                                                
        注:若通过ssh slave1进行验证是否能够无密钥登录时,验证完成用exit退出                                        
 

 4、配置时间同步服务                                                
    NTP是用来使计算机时间同步化的一种协议                                            
    (1)在master节点安装NTP服务                    注:ntp安装失败,尝试重新挂载  mount /dev/sr0 /media                        注:若要卸载ntp服务命令为yum erase ntp
        #yum install ntp -y                            yum clean all            
                                                
    (2)设置master节点为NTP服务主节点                                            
        修改ntp.conf文件                                        
        #vi /etc/ntp.conf        四行server内容注释掉                                
           

          添加                                        
                  server 127.127.1.0                                        
                  fudge 127.127.1.0 stratum 10                                        
                                            
(3)启动ntp服务                                            
    #systemctl start ntpd            启动ntp服务                            
    #systemctl enable ntpd            开机自动启动ntp服务                            
    #systemctl stop firewalld            关闭防火墙                            
                                            
(4)在slave1、slave2节点分别按照ntpdate                                            
    #yum install ntpdate -y            若安装失败,尝试重新挂载                            
    #ntpdate master            同步master节点时间        注:出现no server….........错误是,关闭master节点的防火墙                    
                                            
    #systemctl enable ntpdate            把ntpdate加入随机启动                            
                                            
   *****同步到网络时间: ntpdate pool.ntp.org                                             
 

5、在master节点配置Hadoop环境变量                            
    (1)#vi /etc/profile                        
                            
    修改内容

          

           添加一行:export HADOOP_HOME=/usr/local/hadoop-2.8.5                            
            修改PATH:export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH                            

    (2)重新加载profile文件                            
        source /etc/profile                        
                                
6、格式化HDFS文件系统                                
        #hdfs namenode  -format                        
                                
                                
                                
7、启动集群                                
    #cd /usr/local/hadoop-2.8.5/            进入Hadoop安装目录                
    #sbin/start-dfs.sh        启动HDFS相关服务                    
    #sbin/start-yarn.sh        启动YARN相关服务                    
    #sbin/mr-jobhistory-daemon.sh start historyserver                    启动日志相关服务        
                        
    同jps命令查看是否启动成功        master节点                                   slave1、slave2执行jps命令    

                                                               

8、HDFS监控                            
            http://192.168.60.111:50070            若无法访问确认master是否关闭防火墙            

                   1、    Overview    记录了NameNode的启动时间、版本号、编译版本等一些基本信息                        
                    2、    Summary    集群信息。提供集群环境的基本信息                        
 

9、关闭集群                            
    #sbin/stop-yarn.sh                        
    #sbin/stop-dfs.sh                        
    #sbin/mr-jobhistory-daemon.sh stop historyserver                        
                            
                            
    注:启动所以服务可以用sbin/start-all.sh                        
    关闭所以服务可以用sbin/stop-all.sh                        
                            
                            
                            
                            
                            
                            
完成以后,在新增节点    如果需要添加节点:                        
    1、克隆                        
    2、修改网卡配置文件                        
    3、主节点子节点中slaves文件修改添加slave3                        
    4、主节点子节点中hosts文件添加slave3                        
    5、ssh免密钥登录到slave3                        
    6、安装ntpdate 同步master时间                        
    7、在新增节点上启动DataNode                        
    8、在新增节点上启动NodeManager                        
    在master节点停止所有服务,然后在第三节点上清除缓存:                        
                        #rm -rvf /data/hadoop/hdfs                        
    再重启服务就可以了                        
 

           

发布了18 篇原创文章 · 获赞 0 · 访问量 453

猜你喜欢

转载自blog.csdn.net/weixin_45678149/article/details/104994437