hadoop搭建和使用

1.搭建

1.集群

  1. jdk安装

    配置JDK环境变量
    
  2. 在局域网中关闭防火墙

    service iptables stop
    
  3. 设置主机映射

    1. 打开配置文件
        vim /etc/hosts
    2. 内容
        192.168.80.111 server1
        192.168.80.112 server2
        192.168.80.110 server3
    
  4. 配置SSH免密登录

    1. 生成私钥
        ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
    2. 将私钥添加公钥中
        cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    3. 将多台的 authorized_keys 内容合并一起,之后放入各自的authorized_keys
    
  5. 安装hadoop

    1. 上传hadoop
      放入指定文件夹
      /download
      
    2. 在 / 目录下创建一个hadoopServer的文件夹
      mkdir /hadoopServer
      
    3. 解压hadoop的压缩包,之后把解压的hadoop移入到 /hadoopServer
      进入
          cd /download
      解压
          tar -zxvf hadoop.tar
      移动
          mv hadoop /hadoopServer
      
    4. 配置环境变量
      1. 打开配置文件
          vim /etc/profile
      2. 内容
          export HADOOP_HOME=/hadoopServer/hadoop
          export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      
    5. 在 hadoopServer/hadoop中创建文件夹(数据节点)
          cd /hadoopServer/hadoop
      1. 创建临时目录
          mkdir tmp
      2. 创建服务节点的文件夹
          mkdir -p /hdfs/namenode
      3. 创建数据节点存放的位置
          mkdir -p /hdfs/data
      
    6. 在 /hadoopServer/hadoop/hadoop-2.7.1/etc/hadoop 拷贝
      cp mapred-site.xml.template  mapred-site.xml
      
    7. 在 /hadoopServer/hadoop/hadoop-2.7.1/etc/hadoop 修改配置
      1. hadoop-env.sh
           ## 1. 修改java_home
           export JAVA_HOME=/usr/local/java
          
      2. yarn-env.sh
          ## 修改 java_home
          # some Java parameters
          export JAVA_HOME=/usr/local/java
          
      3. core-site.xml
          <configuration>
      
            <!-- 配置主机-->
            <property> 
              <name>fs.default.name</name> 
              <value>hdfs://192.168.80.111:9000</value> 
              <description>HDFS的URI</description> 
            </property> 
            
            <!-- 配置临时目录-->
            <property> 
              <name>hadoop.tmp.dir</name> 
              <value>/hadoopServer/hadoop-2.7.1/tmp</value> 
              <description>tmmp dir</description> 
            </property> 
            
          </configuration>
              
      4. hdfs-site.xml
              <configuration>
              
                <!-- 配置元数据-->
                <property> 
                  <name>dfs.name.dir</name> 
                  <value>/hadoopServer/hadoop-2.7.1/hdfs/namenode</value> 
                  <description>namenode</description> 
                </property> 
                
                <!-- 物理存储位置-->
                <property> 
                  <name>dfs.data.dir</name> 
                  <value>/hadoopServer/hadoop-2.7.1/hdfs/data</value> 
                  <description>datanode</description> 
                </property> 
                
                <!-- 副本个数,要小于等于实际的Hadoop服务的个数-->
                <property> 
                  <name>dfs.replication</name> 
                  <value>3</value> 
                  <description>dis number</description> 
                </property> 
                
              </configuration>
              
      5. mapred-site.xml
              <configuration>
              
                <!-- 启动yarn -->    
                <property> 
                  <name>mapreduce.framework.name</name> 
                  <value>yarn</value> 
                </property> 
                
              </configuration>
              
      6. yarn-site.xml
          <configuration>
          <!-- Site specific YARN configuration properties -->
          
            <!-- 启动shuffle job-->
            <property> 
              <name>yarn.nodemanager.aux-services</name> 
              <value>mapreduce_shuffle</value> 
              <description>shuffle job</description> 
            </property> 
            
            <!-- yarn的web监视端口-->
            <property> 
              <name>yarn.resourcemanager.webapp.address</name> 
              <value>192.168.80.111:8099</value> 
              <description>year web</description> 
            </property> 
            
          </configuration>
          
      7. slaves
          ## 配置连接节点
          192.168.80.111
          192.168.80.112
          192.168.80.110
      
    8. 远程复制(其他节点)
      1. 格式
        scp -r 目录 root@[hostName]:[目标地址]
      2. 实操
        scp -r /hadoopServer root@server1:/hadoopServer
      
    9. 进行格式化
      1. 进入hadoop的bin目录
        cd /hadoopServer/hadoop/bin
      2. 执行格式化(只用在主服务上使用一次就可以)
        ./hdfs namenode -format
      

2.伪集群

  1. 修改配置(在安装之后,变为伪集群)
1. 修改配置 
    1. hdfs-site.xml 
        <!--为单台节点-->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
            <description> dis number </description>
        </property>
    2. slaves
        localhost
2. 删除旧版信息(如果之前安装过,就要进行此步骤)
    cd /tmp/
    rm -rf *
    cd /hadoopServer/hadoop-2.7.1/tmp/
    rm -rf *
    cd ../logs/
    rm -rf *
    cd ../hdfs/namenode/
    rm -rf * 
    cd ../datanode/
    rm -rf *
3. 重新格式化
     ./hdfs namenode -format
4. 就可以启动

2.使用

1. 启动
    start-all.sh
2. 停止
    stop-all.sh

3. 注意

1. 格式化

  1. 不要多次格式化,会造成事务ID不一致

2. 管理后台

http://192.168.63.110:50070/
端口 50070

2. 出现安装失败

  1. 删除旧版信息

    cd /tmp
    rm -rf *
    cd /hadoopServer/hadoop-2.7.1/tmp
    rm -rf *
    cd ../logs/
    rm -rf *
    cd ../hdfs/namenode
    rm -rf *
    cd ../datanode/
    rm -rf *
    
  2. 格式化

    1. 进入bin目录
        cd /hadoopServer/hadoop-2.7.1/bin
    2. 格式化
        ./hdfs namenode -format
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。