平台组件安装

Hadoop 分布式安装

  1. Ssh免密登陆

    # 创建ssh密钥
    ssh-keygen
    # 发送密钥到其他机器
    ssh-copy-id 用户@ip
    # 测试是否可以登陆
    ssh ip
  1. 解压安装文件并配置环境变量

#### 解压

# 解压jdk 1.8
[root@master h3cu] tar -xvzf jdk-8u144-linux-x64.tar.gz -C /usr/local/src
# 解压hadoop
[root@master h3cu] tar -xvzf hadoop-2.6.0.tar.gz -C /usr/src/

#### 配置环境变量

# 配置环境变量
[root@master h3cu] vi /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_144   
export HADOOP_HOME=/usr/src/hadoop-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
[root@master h3cu] source /etc/profile
  1. 修改host文件

    [root@master h3cu]# vi /etc/hosts 
    172.16.1.2 master                                                                   
    172.16.1.3 slave1                                                                   
    172.16.1.4 slave2
    [root@master h3cu]# scp /etc/hosts root@slave1:/etc/hosts                           
    hosts                                             100%  213   752.9KB/s   00:00    
    [root@master h3cu]# scp /etc/hosts root@slave2:/etc/hosts
    hosts                                             100%  213   566.5KB/s   00:00  
  1. 配置hadoop文件

    [root@master hadoop-2.6.0]# cd /usr/src/hadoop-2.6.0/etc/hadoop/

### 以下修改均在<configuration>xml节点下添加

  • 修改 hadoop-env.sh 文件

    [root@master hadoop]# vi hadoop-env.sh
    export JAVA_HOME=${JAVA_HOME}
    修改为
    export JAVA_HOME=/usr/local/src/jdk1.8.0_144
  • 修改 core-site.xml 文件

    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
      <value>/home/hadoop/tmp/</value>
    </property>
  • 修改 hdfs-site.xml 文件

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/dfs/data1,/home/hadoop/dfs/data2,/home/hadoop/dfs/data3</value>
    </property>
  • 修改 mapred-site.xml 文件

    这个文件目录下是没有的 需要 cp mapred-site.xml.template mapred-site.xml

    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    • 修改 yarn-site.xml 文件

      <property>                                                                  
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    • 修改 slaves 文件

    ### 这个文件将所有从机加入进去就可以了

    [root@master hadoop]# vi slaves 
    [root@master hadoop]# cat slaves
    slave1
    slave2
    1. 将hadoop、jdk、环境变量发送到从机

      # Hadoop
      [root@master hadoop]# scp -r /usr/src/hadoop-2.6.0/ root@slave1:/usr/src/hadoop-2.6.0/
      [root@master hadoop]# scp -r /usr/src/hadoop-2.6.0/ root@slave2:/usr/src/hadoop-2.6.0/
      # Jdk1.8
      [root@master hadoop]# scp -r /usr/local/src/jdk1.8.0_144/ root@slave1:/usr/local/src/jd
      k1.8.0_144/
      [root@master hadoop]# scp -r /usr/local/src/jdk1.8.0_144/ root@slave2:/usr/local/src/jd
      k1.8.0_144/
      # profile
      [root@master hadoop]# scp /etc/profile root@slave1:/etc/                               
      profile                                           100% 1953   389.7KB/s   00:00     
      [root@master hadoop]# scp /etc/profile root@slave2:/etc/
      profile                                           100% 1953   554.3KB/s   00:00 
      • 在两台从机下运行以下命令 出现 java版本说明没有错误

        [root@slave1 ~]# source /etc/profile
        [root@slave1 ~]# java -version
        java version "1.8.0_144"
        Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
        Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
    2. 格式化 NameNode

      [root@master hadoop-2.6.0]# hadoop namenode -format  
      /************************************************************
      SHUTDOWN_MSG: Shutting down NameNode at master/172.16.1.2
      ************************************************************/
    3. 启动集群

      [root@master hadoop-2.6.0]# start-all.sh 
    1. 验证是否启动

      • 主节点运行jps返回

        [root@master hadoop-2.6.0]# jps                                                     
        2659 SecondaryNameNode
        2488 NameNode
        2796 ResourceManager
        3055 Jps
      • 从节点运行jps返回

        [root@slave1 ~]# jps
        2291 NodeManager
        2371 Jps
        2185 DataNode