欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hadoop集群环境搭建

程序员文章站 2022-05-07 18:45:13
...

防火墙直接关死

1. Hadoop集群规划

主机名(hostname) 安装软件 运行进程
mini1 hadoop-2.7.1 nameNode、resourceManager
mini2 hadoop-2.7.1 dataNode、nodeManager
mini3 hadoop-2.7.1 dataNode、nodeManager

 

2 HADOOP集群安装步骤

  1. 准备三台Centos6.7 64bit虚拟机:注意 三台机器使用root用户登陆系统

  2. 分别修改虚拟机的主机名(hostname)

  3. 分别配置三台机器的静态i

  4. 分别修改三台机器hosts      以上步骤上一篇都有

  5. 分别为每台机器创建一个名为“hadoop”的用户

    useradd hadoop  #添加hadoop用户
    passwd  hadoop  #给hadoop用户 设置密码 
  6. 分别为每台机器的“hadoop”用户配置sudo权限

    chmod  u+w /etc/sudoers   #为sudoers文件添加一个“可以写入”的权限
    vi /etc/sudoers    #用root用户编辑sudoers文件
    
    直接yy复制  p粘贴再按i修改,其他的修改操作出错可能性大
    
    在其下root  ALL=(ALL)   ALL
    加   hadoop ALL=(ALL)   ALL
    
  7. 安装 jdk-7u55-linux-i586.tar.gz

    #(1)解压jdk
    ​
    #创建文件夹
    mkdir /home/hadoop/develop_env
    ​
    #解压
    tar  -zxvf  jdk-7u55-linux-i586.tar.gz  -C  /home/hadoop/develop_env
    ​
    #(2)将java添加到环境变量中
    ​
    vim /etc/profile
    ​
    #在文件最后添加
    export JAVA_HOME=/home/hadoop/develop_env/jdk1.7.0_65
    export PATH=$PATH:$JAVA_HOME/bin
    ​
    #刷新配置
    source /etc/profile
    
  8. 三台机器分别切换为hadoop用户并创建一个名为develop_env的文件夹

    su - hadoop     #切换到hadoop用户
    mkdir develop_env      #在hadoop的家目录下创建一个develop_env文件
    

    下面hadoop用户登场

  9. 上传hadoop-2.7.1.tar.gz到Centos6.7_min1机器的/home/hadoop/develop_env目录下

  10. 解压hadoop-2.7.1.tar.gz安装包

    cd /home/hadoop/develop_env     #切换到/home/hadoop/develop_env目录
    tar -zxvf  hadoop-2.7.1.tar.gz  -C  /home/hadoop/develop_env    #解压
  11. 设置hadoop-env.sh配置文件

    cd   /home/hadoop/develop_env/hadoop-2.7.1/etc/hadoop  #切换目录
    vi   hadoop-env.sh  #添加如下内容
    
    # The java implementation to use.
    原来的那个export JAVA_HOME=后面这些记不清了,直接删掉加上jdk的安装路径就行了
    export JAVA_HOME=/home/hadoop/develop_env/jdk1.8.0_60
  12. 设置core-site.xml配置文件

    mkdir  /home/hadoop/develop_env/hadoop-2.7.1/data   #创建一个名为的文件夹
    vi core-site.xml   #在<configuration></configuration>之间添加如下内容
    
    #内容如下:
        <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <!-- 指定了客户端访问的主机名“mini1”(也可以写ip),则该主机的hadoop就是namenode节点了-->
            <value>hdfs://mini1:9000</value>
        </property>
    
        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/develop_env/hadoop-2.7.1/data</value>
        </property>
    
    data会在格式化的时候自动创建
    
  13. 设置hdfs-site.xml配置文件(该文件默认即可,今天就不用配置此文件了)

    vi hdfs-site.xml  #添加如下内容
    #添加如下内容
    <!-- 指定HDFS副本的数量 -->
    <property>
            <name>dfs.replication</name>
            <value>2</value>
    </property>
    
    #2就是备份的数量,2或3比较好
  14. 设置mapred-site.xml配置文件

  15.  

    因为mapred-site.xml原本不存在,存在一个mapred-site.xml.template模板,直接重命名

    或者是复制一个重命名都行,建议复制一个重命名

    rename mapred-site.xml.template   mapred-site.xml  #默认mapred-site.xml vi mapred-site.xml  #添加如下内容
    #添加如下内容
    <!-- 指定mapreduce运行在yarn上 -->
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
     
  16. 设置yarn-site.xml配置文件

    vi   yarn-site.xml   #添加如下内容
    #添加如下内容
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>mini1</value>  可以是ip
    </property>
    
    <!-- reducer获取数据的方式 -->
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    
  17. 设置slaves配置文件

    vi  slaves    #修改后显示如下内容
    将localhost删了,加mini1也行,不加也行,加了本机当做一台datanode来用,建议不要加
    添加如下
    mini2
    mini3
    
  18. 配置Centos6.7_mini1到Centos6.7_mini2、Centos6.7_mini3的免密登陆:因为之前有可能配置的是root用户的免密登录,但是在这使用的是hadoop用户,所以要对hadoop用户配置免密登录,前面有,不说了

  19. 将develop_env目录下的所有文件分别拷贝到Centos6.7_min2、Centos6.7_min3

    cd ~/develop_env        #切换到/home/hadoop/develop_env目录下
    scp -r /home/hadoop/develop_env/hadoop-2.7.1  min2:/home/hadoop/
    scp -r /home/hadoop/develop_env/hadoop-2.7.1  min3:/home/hadoop

也可以自己去配置,就当是练习一下,所有的东西按照mini1来配置就行,不用修改mini1配置的所有东西

 

    20. 分别在三台机器上将hadoop添加到环境变量

(1)vim  /etc/proflie
(2)source  /etc/profile
(3)分别重启三台机器

 

  • 启动集群

  1. 格式化HDFS 因为HDFS也是文件系统,第一次使用一个文件系统都要格式化

  2.  

    以后尽量少使用格式化,每次格式化都会对data文件进行操作,有可能导致错误

    hadoop namenode  -format      #在min1机器上执行格式化命令

     

  3. 启动hdfs集群(注意启动集群时,最好将集群中所有机器的时间设置一致)

    start-dfs.sh    #在min1机器上执行启动hdfs集群命令
    #注意启动集群时,最好将集群中所有机器的时间设置一致 用到时间同步,之前也有
    

    在min1启动namenode成功显示:

[aaa@qq.com root]$ jps
2251 NameNode
2573 Jps
2447 SecondaryNameNode
 

 

在min2和min3启动datanode成功显示:

 

[aaa@qq.com root]$ jps

1746 Jps
1672 DataNode
 

 

  1. 启动yarn集群

    start-yarn.sh       #在min1机器上执行启动yarn集群命令   

    在min1启动resourcemanager成功显示:

    [aaa@qq.com root]$ jps
    2626 ResourceManager
    2902 Jps
    2251 NameNode
    2447 SecondaryNameNode

    在min2和min3启动nodemanager成功显示:

    [aaa@qq.com root]$ jps
    1672 DataNode
    1800 NodeManager
    1929 Jps
     

  2. 使用web查看集群的状态

 

使用浏览器打开 http://192.168.246.193:50070

hadoop集群环境搭建

使用浏览器打开 http://192.168.246.193:8088

hadoop集群环境搭建

 

 

上一篇: 分布式事务

下一篇: 分布式事务