zoukankan      html  css  js  c++  java
  • Hadoop集群的构建和安装

    1.安装Java

    $ yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
    

     上述命令默认安装位置/usr/lib/jvm/java-1.8.0-openjdk

    设置环境变量:

    $ vim ./.bashrc
    
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    export PATH=$PATH:JAVA_HOME/bin
    

     测试:

    $ java -version
    

    2.创建unix用户账号

    HDFS,MapReduce,YARN通常作为独立的用户运行,分别命名为hdfs,mapred,yarn,都属于同一组hadoop。

    3.hadoop的安装

    CDH : http://archive-primary.cloudera.com/cdh5/cdh/5/
    
    Hadoop : wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz
    

    步骤:

    $ tar -zxf hadoop-2.x.x -C /usr/local
    $ cd /usr/local
    $ mv hadoop-2.x.x hadoop
    

     设置环境变量:

    $ vim ./.bashrc
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    
    $ source ./.bashrc
    

    4. ssh配置

    # 这一部分比较关键,因为我们是根据别名来连接slaves

    master:

    $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    # 确保公钥存放在用户所要连接的所有机器上(包括本机master)~/.ssh/authorized_keys
    

     这里还有一个点,我们ssh连接slaves服务器时,想要使用slaves服务器的别名(hostname),

    这就需要我们编辑/etc/hosts文件

    $ vim /etc/hosts
    192.168.31.111 data1
    192.168.31.112 data2
    192.168.31.113 data3
    192.168.31.110 master
    

    5.hadoop的配置

    hadoop 各版本配置详见hadoop 官网对应版本的document或见hadoop文件配置

    主要配置文件:

    hadoop-env.sh:脚本中要用到的环境变量,以运行Hadoop。

    mapred-env.sh:脚本中要用到的环境变量,以运行MapReduce。

    yarn-env.sh:脚本中要用到的环境变量,以运行YARN。

    core-site.xml:Hadoop Core配置项,例如HDFS,MapReduce和YARN常用的IO设置。

    hdfs-site.xml:Hadoop守护进程的配置项,包括namenode,辅助namenode和datanode等。

    mapred-site.xml:MapReduce守护进程的配置项,包括作业历史服务器。

    yarn-site.xml:YARN守护进程的配置项,包括资源管理器,web应用代理服务器,和节点管理器。

    slaves:纯文本,运行datanode和节点管理器的机器列表。

    https://hadoop.apache.org/docs/r2.5.2/
    # 文档地址,各版本文档不同
    

    6.hdfs的格式化

    以hdfs用户身份运行以下命令

    $ hdfs namenode -format
    

    7.启动和停止守护进程

     当然也可以start-all.sh。

    # 以hdfs用户身份运行以下命令可启动HDFS守护进程
    $ start-dfs.sh
    

    start-dfs.sh 所做事情如下:

    1. 在每台机器上运行一个namenode,这些机器由hdfs getconf -namenodes得到的返回值确定

    2. 在slaves 文件所列举的每台机器上启动一个datanode

    3. 在每台机器上启动一个辅助namenode,这些机器由hdfs getconf -secondarynamenodes得到的返回值确定

    hadoop的集群是基于master/slave模式,namenode、ResourceManager、jobtracker属于master,datanode、NodeManager、tasktracker属于slave,master只有一个,而slave有多个

    # yarn守护进程以相同的方式启动,
    # 以yarn用户身份在托管资源管理器的机器上运行
    $ start-yarn.sh
    

     在这种情况下,资源管理器总是和start-yarn.sh运行在同一机器上,脚本明确完成以下两件事:

    1. 在本地机器上运行一个资源管理器ResourceManager

    2. 在slaves文件列举的每台机器上启动一个节点管理器NodeManager

    7. 创建用户目录

    $ hadoop fs -mkdir /user/username
    $ hadoop fs -chown username:username /user/username
    
    # 给用户目录设置最大空间
    $ hdfs dfsadmin -setSpaceQuota 1t /user/username
    
  • 相关阅读:
    QT中的列表容器
    QT中的Buttons
    QT中的常用控件
    [机房测试]弟娃
    CF1580C Train Maintenance
    [机房测试]数据恢复
    Sentry 监控
    Sentry 监控
    Sentry 监控
    Sentry 后端监控
  • 原文地址:https://www.cnblogs.com/zenan/p/10118402.html
Copyright © 2011-2022 走看看