Hadoop 伪分布式搭建

Hadoop 伪分布式搭建

Hadoop环境部署-JDK部分

准备工作

  • 在 /opt/目录下创建文件夹modules,和softwares
    • 修改操作权限(切换至root用户下)
    • chown -R wxt:wxt /opt/
    • 然后切换至普通用户

      mkdir softwares

      mkdir modules

    • 安装lrzsz (在linux里可代替ftp上传和下载。)

      首先安装lrzsz
      yum -y install lrzsz

    • 上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。

      rz

    • 下载文件,执行命令sz
      sz

      Hadoop环境部署-JDK部分

    • 上传jdk 至softwares
    • 解压jdk 至modules
      • tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
    • 修改环境变量
      • 切换至 root 用户修改 vi /etc/profile 文件,配置jdk环境变量
        1
        2
        3
        #JAVA_HOME
        export JAVA_HOME=/opt/modules/jdk1.7.0_67
        export PATH=$PATH:$JAVA_HOME/bin
    • source /etc/profile 使文件生效

    • 验证是否配置成功

      • java -version
        1
        2
        3
        java version "1.7.0_09-icedtea"
        OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)
        OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
    • jps命令可以查看java 进程

    • echo $JAVA_HOME

      Hadoop伪分布式环境部署-Hadoop部分

    • 上传文件hadoop-2.5.0.tar.gz,至softwares
    • 解压文件至modules
      • tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules/
    • 清理Hadoop的目录,将hadoop/share/doc目录删除,节省磁盘空间, 通过这个命令查看df -h
    • 修改hadoop/etc/hadoop/hadoop-env.sh文件
    • 修改hadoop/etc/hadoop/mapred-env.sh文件
    • 修改hadoop/etc/hadoop/yarn-env.sh文件
    • 指定Java安装路径
      • export JAVA_HOME=/opt/modules/jdk1.7.0_67
    • 注意:
      • Hadoop中的四个核心模块对应四个默认配置文件
      • HDFS,Hadoop默认的文件系统,是文件系统的访问入口
      • Namenode,所在的机器9000端口是早期Hadoop 1.x使用的,现在 Hadoop 2.x使用的是8020端口号用于节点直接内部通信,使用RPC
        通信机制
    • 修改hadoop/etc/hadoop/core-site.xml文件
      1
      2
      3
      4
      5
      6
      7
      8
      9
      <property>
      <name>fs.defaultFS</name>
      <!--bigdata-4 为我的localhost 名字-->
      <value>hdfs://bigdata-4:8020</value>
      </property>
      <property>
      <name>hadoop.tmp.dir</name>
      <value>/opt/modules/hadoop-2.5.0/data/tmp</value>
      </property>
    • 注意:
      • /tmp表示临时存储目录,系统每次重启会按照脚本预先设置好的删 除 里面的文件重新自定义系统生成的文件路径,/tmp会被清空,
        无法保证数据文件安全性。
    • 修改hadoop/etc/hadoop/hdfs-site.xml文件

      • 指定HDFS文件存储的副本数个数,默认是3个,这里是单台机
        器就设置为1,这个数字要小于datanode的节点数。
      1
      2
      3
      4
      <property>
      <name>dfs.replication</name>
      <value>1</value>
      </property>
    • 修改hadoop/etc/hadoop/slaves文件
      • 指定从节点的机器位置,添加主机名即可
      • bigdata-4

    • 格式化namenode
      • bin/hdfs namenode -format

      • 启动命令
      • sbin/hadoop-daemon.sh start namenode
      • sbin/hadoop-daemon.sh start datanode
      • 查看HDFS外部UI界面
      • bigdata-04或者IP地址 跟上50070端口号,外部通信http
        dfs.namenode.http-address 50070
      • http://bigdata-4:50070 (如果windows本地没有配置hosts,需要配置)
      • 如果不能正确打开页面,请检查防火墙是否关闭
      • 切换至root 用户,service iptables status
      • 关闭防火墙 chkconfig iptables off
      • 测试HDFS环境
      • 创建文件夹,HDFS中有用户主目录的概念,和Linux一样
      • bin/hdfs dfs -mkdir -p wxt_test/iuput
      • 上传文件到HDFS(随便找一个文件上传就行)
      • bin/hdfs dfs -put /opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml wxt_test/input/core-site.xml
      • 上传成功,HDFS外部UI界面,会有上传的文件显示
      • 读取HDFS的文件
      • bin/hdfs dfs -text /core-site.xml
      • 终端会显示上传文件的内容。
      • 下载文件到本地(指定下载到哪里,同时可以重命名成get-site.xml)

      bin/hdfs dfs -get /core-site.xml /home/wxt/Desktop/get-site.xml

      然后你会看到这个文件,并且重命名于桌面。

      Hadoop 伪分布式搭建至此结束。

      写在后面

    • 至于优化,下篇再写
    • 学习中有什么问题,可以在下面留言。
    • 欢迎加群一起学习:169033439(加群备注:wxt_bigdata)
坚持原创技术分享,您的支持将鼓励我继续创作!