美文网首页
Hadoop学习笔记一:伪分布式搭建(Hadoop1.x)

Hadoop学习笔记一:伪分布式搭建(Hadoop1.x)

作者: 开发者连小超 | 来源:发表于2019-11-25 21:11 被阅读0次

    本文记录学习过程,安装伪分布式的Hadoop,搭建过程可参照官方文档:https://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

    服务器准备

    使用VM快照克隆功能,克隆出一台网络已设置、防火墙关闭、SELINUX关闭、网卡和MAC的映射取消的机器。

    克隆出的机器主机名配置为node00,配置IP 192.168.197.30、并配置主机名IP的映射关系。

    注:以上操作可参照【Linux学习笔记三:VM下配置模板机和克隆】https://www.jianshu.com/p/0310c24bda69

    准备安装包:
    jdk-7u67-linux-x64.rpm
    hadoop-2.6.5.tar.gz

    一、JDK安装

    1.上传JDK的rpm安装包,执行

    rpm -i jdk-7u67-linux-x64.rpm
    

    2.配置环境变量

    #查看java默认安装目录
    whereis java
    
    #拷贝jdk安装目录
    cd /usr/java/jdk1.7.0_67/
    pwd
    
    #编辑profile文件
    vi + /etc/profile
    #追加
    export JAVA_HOME=/usr/java/jdk1.7.0_67 
    PATH=$PATH:$JAVA_HOME/bin
    
    #执行生效
    . /etc/profile
    #检查,出进程号说明配好
    jps
    

    二、免秘钥登录

    #家目录
    cd 
    #显示所有文件
    ll -a 
    cd .ssh/
    
    #生成id_dsa和id_dsa.pub
    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    #id_dsa.pub 内容追加到 authorized_keys
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    
    #试一下是否免密登录了
    ssh node00
    #成功,退出
    exit
    

    没有成功,查看日志

    cat /var/log/secure
    提示:
      Authentication refused: bad ownership or modes for directory /root /.ssh
    解决方法:
      用户目录权限为 755 或者 700,就是不能是77x。
      .ssh目录权限一般为755或者700。
      rsa_id.pub 及authorized_keys权限一般为644
      rsa_id权限必须为600
    

    注意:谁做管理节点谁生成公钥文件(id_dsa.pub)用于分发给其他非管理节点,登录时比对。

    三、安装Hadoop

    1.解压

    mkdir /opt/sxt
    tar xf hadoop-2.6.5.tar.gz -C /opt/sxt/
    

    2.修改环境变量(让所有目录下都可执行hadoop命令)

    vi + /etc/profile
    
    #修改环境变量
    export JAVA_HOME=/usr/java/jdk1.7.0_67
    export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
    PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    . /etc/profile
    

    3.修改配置文件

    (1)配置文件位置

    cd ./etc/
    返回 drwxr-xr-x 2 root root 4096 May 24  2017 hadoop
    
    #注:hadoop集群启动时,只会读取hadoop目录
    cd hadoop/
    

    (2)二次配置JAVA_HOME

    vi hadoop-env.sh
    vi mapred-env.sh
    vi yarn-env.sh
    
    注:三个配置文件都修改,一劳永逸
    export JAVA_HOME=/usr/java/jdk1.7.0_67
    

    (3)配置NameNode主节点和副本数

    vi core-site.xml
    
    <configuration>
        #配置主节点
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node00:9000</value>
        </property>
    </configuration>
    
    vi hdfs-site.xml
    
    <configuration>
        #配置副本数
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    

    (4)配置DataNode从节点和SecondaryNameNode

    #配置从节点
    vi slaves 
    
    localhost 改为 node00
    
    #配置 SecondaryNameNode
    vi hdfs-site.xml
    
    #<configuration>里追加
    <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>node00:50090</value>
    </property>
    

    (5)修改默认文件存放路径

    vi core-site.xml
    
    #<configuration>里追加
    <property>
         <name>hadoop.tmp.dir</name>
         <value>/var/sxt/hadoop/pseudo</value>
    </property>
    
    

    4.格式化HDFS

    格式化完成后NameNode数据信息就生成在 /var/sxt/hadoop/pseudo

    hdfs namenode -format
    #查看生成的fsimage信息
    cd /var/sxt/hadoop/pseudo/dfs/name/current/
    

    注意:只能格式化一次,再次启动集群不要执行

    5.启动集群

    启动集群后 DataNode和SecondaryNameNode数据信息才会产生

    #启动集群
    start-dfs.sh
    #查看生成信息
    cd /var/sxt/hadoop/pseudo/dfs/data/current/
    cd /var/sxt/hadoop/pseudo/dfs/namesecondary/current/
    

    启动时候,三个角色以不同进程启动,提示如下:

    node00: starting namenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-namenode-node00.out
    node00: starting datanode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-datanode-node00.out
    Starting secondary namenodes [node00]
    node00: starting secondarynamenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-node00.out
    

    角色进程查看

    jps
    
    1508 SecondaryNameNode
    1355 DataNode
    1618 Jps
    1277 NameNode
    

    DataNode数据存放位置

    cd /var/sxt/hadoop/pseudo/dfs/data/current/BP-1507450169-192.168.197.30-1574759146966/current/finalized
    

    6.浏览器查看

    ss -nal
    

    浏览器访问 http://node00:50070 (window里hosts文件要映射到192.168.197.30)

    7.上传文件

    #命令查看
    hdfs dfs
    
    #创建目录
    hdfs dfs  -mkdir -p  /user/root
    #查看目录
    hdfs dfs -ls   /
    
    #上传文件
    cd ~/software/
    ls -lh ./
    hdfs dfs -put  hadoop-2.6.5.tar.gz   /user/root     
    

    此时可到浏览器 Browse the file system 去查看文件

    文件被切割成两个块,第一个128M,第二个48M


    图片.png

    两个文件块位置

    /var/sxt/hadoop/pseudo/dfs/data/current/BP-1507450169-192.168.197.30-1574759146966/current/finalized/subdir0/subdir0
    

    8.日志查看和停止集群

    日志查看

    cd /opt/sxt/hadoop-2.6.5/logs
    #out是临时文件 log是最终文件
    -rw-r--r-- 1 root root 27445 Nov 26 17:36 hadoop-root-datanode-node00.log
    -rw-r--r-- 1 root root   715 Nov 26 17:13 hadoop-root-datanode-node00.out
    -rw-r--r-- 1 root root 29081 Nov 26 17:41 hadoop-root-namenode-node00.log
    -rw-r--r-- 1 root root  4908 Nov 26 17:27 hadoop-root-namenode-node00.out
    -rw-r--r-- 1 root root 19750 Nov 26 17:13 hadoop-root-secondarynamenode-node00.log
    -rw-r--r-- 1 root root   715 Nov 26 17:13 hadoop-root-secondarynamenode-node00.out
    -rw-r--r-- 1 root root     0 Nov 26 17:13 SecurityAuth-root.audit
    
    #查看日志
    tail -100 hadoop-root-datanode-node00.log
    

    停止集群

    stop-dfs.sh 
    

    相关文章

      网友评论

          本文标题:Hadoop学习笔记一:伪分布式搭建(Hadoop1.x)

          本文链接:https://www.haomeiwen.com/subject/xffswctx.html