大数据入门之开发环境搭建之hadoop篇

这篇教程我将会教大家如何一步步从零开始搭建好我们的大数据完全分布式实验平台

实验环境:1.由于实验环境是在linux系统中,所以我们需要用虚拟机摸拟linux操作系统,操作系统的版本我们选 centOS 7,需要建立的虚拟机的台数根据自己的电脑的配置来决定,一般为了较好的完成实验,我们需要3台或3台以上,一台master主机,其于为slave从机,虚拟机可以使用vmware或者oracl VirtualBox,这里不再讲解虚拟机的搭建

                   2.软件:本课程第一节将讲基础环境hadoop的搭建,只有把hadoop搭好了并且把hdfs(hadoop distributed file systemhadoop分布式文件存储系统)配置好,才可以使我们hadoop生态圈的其他的组件得以运行,比如我们的大数据环境下的数据库有hbase、mongodb等,包括hbase所依赖的zookeeper环境,以及不同于mapreduce计算框架的spark和storm计算框架的搭建都会在后续中讲解

                                                  java环境:jdk-8u151-linux-x64.tar.gz,

                                                                    hadoop-2.7.4.tar.gz(hdfs,mapreduce计算框架,yarn架构等都是在hadoop进行配置)

软件我们使用官方版本而不是cdh5版本,下面给出cdh5版本地址:http://archive.cloudera.com/cdh5/cdh/5/

三台虚拟机配置,网卡配置使用NAT方式,这样主机会给虚拟机自动分配IP,打开虚拟机时,进入设置,点开“网络”,把有线连接打开就行了
                master 192.168.1.103
                slave1 192.168.1.105
                slave2 192.168.1.106
                slave3 192.168.1.107

用SecureCRT远程连接虚拟机,方便上传文件。


先修改四台主机的主机名并配置主机名和ip地址的映射,依次修改为master,slave1,slave2,slave3因为我们的hadoop集群是根据是主机名通信的

大数据入门之开发环境搭建之hadoop篇_第1张图片

修改etc/hosts下的hosts的文件添加映射,centos下可以用gedit直接大开编辑

大数据入门之开发环境搭建之hadoop篇_第2张图片

在每台机器的home目录下建一个softwares用于保存软件,tar用于保存安装包

大数据入门之开发环境搭建之hadoop篇_第3张图片

在SecureCRT使用文件上传命令把tar包上传的虚拟机

先进入master机器的tar目录下


然后运行rz命令,选择文件上传(双击要选择的tar包)

上传完成之后,在虚拟机里就可以看到我们的tar包了

大数据入门之开发环境搭建之hadoop篇_第4张图片

或者我们可以直接进入/home/tar目录用ls命令查看


配置主机与从机的ssh免密码连接,在主机根目录上(cd ~可以进入根目录)运行命令  ssh-keygen -t rsa


然后连续输入回车

大数据入门之开发环境搭建之hadoop篇_第5张图片

生成的秘钥位于 ~/.ssh文件夹下。可进入查看


在master上,导入authorized_keys,进入~/.ssh目录,运行 cat id_rsa.pub >> authorized_keys命令


远程无密码登录(把master上的authorized_keys拷贝到其他主机的相应目录下)注意,你的从机上可能没有.ssh目录,所以在三个从机上cd ~,然后mkdir .ssh建立.ssh目录


master上的authorized_keys拷贝到其他主机的相应目录下

scp authorized_keys root@slave1:~/.ssh/

主意以下几点:root为你的slave1机器 linux系统的用户名,slave1是从机1的主机名,同理其他两台从机也是类似的方似

第一次连接需要输入密码,但是在linux下密码不会显示出来,所以别以为你没敲上


所有机器的~/.ssh目录下,均执行命令:chmod 600 authorized_keys


验证ssh连接,在master上 输入ssh slave1,测试已连上slave1



解压软件

在master上,进入/home/tar 运行 tar -zxf jdk-8u151-linux-x64.tar.gz -C /home/softwares解压jdk

使用命令把master上的jdk发到其他三台机器,以slave1为例

scp -r /home/softwares/jdk1.8.0_151 root@slave1:/home/softawres


然后配置环境变量,可直接在虚拟机里用gedit打开/etc/profile添加如下  三个机器上都配置

#java

export JAVA_HOME=/home/softwares/jdk1.8.0_151
exprot PATH=$JAVA_HOME/bin:$PATH


在master上,进行/home/tar 运行 tar -zxf hadoop-2.7.4.tar.gz -C /home/softwares解压hadoop

然后配置环境变量,可直接在虚拟机里用gedit打开/etc/profile添加如下 master机器上配置

#hadoop  
export HADOOP_HOME=/home/softwares/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/sbin  
export PATH=$PATH:$HADOOP_HOME/bin 

然后用source命令刷新一下/etc/profile文件使配置生效



修改hadoop的一些重要配置文件

修改/home/softwares/hadoop-2.7.4/etc/hadoop下的七个配置文件


3)配置文件:hadoop-env.sh

修改JAVA_HOME值(export JAVA_HOME=/home/softwares/jdk1.8.0_151) 

2)配置文件:yarn-env.sh

修改JAVA_HOME值(export JAVA_HOME=/home/softwares/jdk1.8.0_151

3)配置文件:slaves 这就是配置从节点

slave1

slave2

slave3


core-site.xml

  
      
        fs.defaultFS  
        hdfs://master:9000  
   
  
      
        io.file.buffer.size  
        131072  
   
  
      
        hadoop.tmp.dir  
        file:/home/softwares/hadoop-2.7.4/tempdir  
        Abase for other temporary   directories.  
   
  
 

 其中第三个属性需要我们创建一个文件夹,如果不创建它默认是在/tmp/hadoop-${user.name}

我们手动在/home/softwares/hadoop-2.7.4建一个tempdir

hdfs-site.xml

  
         
                dfs.namenode.secondary.http-address  
               master:9001  
       
  
       
             dfs.namenode.name.dir  
             file:/home/softwares/hadoop/hadoop-2.7.4/namenode  
       
  
        
              dfs.datanode.data.dir  
              file:/home/softwares/hadoop/hadoop-2.7.4/datanode  
       
  
         
               dfs.replication  
               3  
       
  
          
                 dfs.webhdfs.enabled  
                  true  
         
  

 其中第二三个属性需要我们创建一个文件夹,如果不创建它默认是在/tmp/hadoop-${user.name}

我们手动在/home/softwares/hadoop-2.7.4建一个namenode和一个datanode


mapred-site.xml

先创建然后编辑

把mapred-site.xml.template复制一份改为mapred-site.xml

  
                                                                              
        mapreduce.framework.name  
                yarn  
             
            
                  mapreduce.jobhistory.address  
                  master:10020  
            
            
                mapreduce.jobhistory.webapp.address  
                master:19888  
         
 


yarn-site.xml

  
          
               yarn.nodemanager.aux-services  
               mapreduce_shuffle  
       
  
                                                                          
yarn.nodemanager.aux-services.mapreduce.shuffle.class  
               org.apache.hadoop.mapred.ShuffleHandler  
       
  
          
               yarn.resourcemanager.address  
               master:8032  
       
  
         
               yarn.resourcemanager.scheduler.address  
               master:8030  
       
  
         
            yarn.resourcemanager.resource-tracker.address  
             master:8031  
     
  
        
              yarn.resourcemanager.admin.address  
               master:8033  
       
  
         
               yarn.resourcemanager.webapp.address  
               master:8088  
       
  
 


到此配置完成,把master上的hadoop发送slave上,以slave1为例

scp -r /home/softwares/hadoop-2.7.4 root@slave1:/home/softwares


在master

source /etc/profile

进入/home/softwares.hadoop-2.7.4

执行

bin/hdfs namenode -format
sbin/start-all.sh
启动后分别在master, slave下输入jps查看进程,如下则启动正确

master


slave1


slave2


slave3





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