Hadoop化繁为简-从安装Linux到搭建集群环境

发表于:2017-5-12 08:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:邱勇    来源:博客园

  简介与环境准备
  hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce。近年,随着大数据云计算、物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必要的配置都在入门教程出现。通过思考总结与相关教程,我想通过简单的方式传递给同样想入门hadoop的同学。其实,如果你有很好的Java基础,当你入门以后,你会感觉到hadoop其实也是很简单的,大数据无非就是数据量大,需要很多机器共同来完成存储工作,云计算无非就是多台机器一起运算。
  操作建议:理论先了解三分,先实践操作完毕,再回头看理论,在后续文章我将对理论进行分析,最后用思维导图总结了解它的hadoop的整体面貌。
  环境准备: http://pan.baidu.com/s/1i5olWI5 密码: k24m(建议自己去官网下环境,要原生原味的,不要二手货)
  CentOS-Linux系统:CentOS-7-x86_64-DVD-1511.iso
  VirtualBox虚拟机:VirtualBox-5.1.18-114002-Win.exe
  xshell远程登录工具:xshell.exe
  xftp远程文件传输:xftp.exe
  hadoop:hadoop-2.7.3.tar.gz
  jdk8:jdk-8u91-linux-x64.rpm
  hadoop的物理架构
  物理架构:假设机房有四台机器搭建一个集群环境,Master(ip:192.168.56.100)、Slave1(ip:192.168.56.101)、Slave2(ip:192.168.56.102)、Slave3(ip:192.168.56.103)。在这里简要介绍一下,至于具体内容,我将在Hadoop的Hdfs文章详细介绍。
  分布式:将不同地点,不同功能的,用于不同数据的多态计算机通过通信网络连接其他,统一控制,协调完成大规模信息处理的计算机系统。简单说,一块硬盘可以分成两部分:文件索引和文件数据,那么文件索引部署在单独一台服务器上我们称为Master根节点(NameNode),文件数据部署在Master结点管理的孩子结点被称为Slave结点(DataNode)。
  利用VirtulBox安装Linux
  参考:http://www.cnblogs.com/qiuyong/p/6815903.html
  配置集群在同一虚拟局域网下通信
  说明:通过上述操作,已经搭建好master(192.168.56.100)这台机器,开始配置虚拟网络环境在同一虚拟机下。
  · vim /etc/sysconfig/network
  · NETWORKING=yes  GATEWAY=192.168.56.1(说明:配置意思是,连上VirtualBox这块网卡)
  · vim /etc/sysconfig/network-sripts/ifcfg-enp0s3
  · TYPE=Ethernet IPADDR=192.168.56.100 NETMASK=255.255.255.0(说明:配置意思是,设置自己ip)
  · 修改主机名:hostnamectl set-hostname master
  · 重启网络:service network restart
  · 查看ip:ifconfig
  · 与windows能否ping通、若ping不同,关闭防火墙。master:ping 192.168.56.1   windows:ping 192.168.56.100
  · systemctl stop firewalld -->system disable firewalld
  利用Xshell、Xftp进行远程登录与文件传输
  利用VirtualBox登录,上传文件会比较麻烦,采用Xshell远程登录。
  采用Xftp上传文件。
  上传hadoop-2.7.3.tar.gz、jdk-8u91-linux-x64.rpm到/usr/local目录下。新手提示:在右边窗口选中/usr/local目录,左边双击压缩包就上传成功了。
  配置hadoop环境
  · 解压jdk-8u91-linux-x64.rpm:rpm -ivh  /usr/local/jdk-8u91-linux-x64.rpm-->默认安装目录到/usr/java
  · 确认jdk是否安装成功。 rpm -qa | grep jdk,java -version查看是否安装成功。
  · 解压hadoop-2.7.3.tar.gz:tar -vhf  /usr/local/hadoop-2.7.3.tar.gz。
  · 修改目录名为hadoop:mv  /usr/local/hadoop-2.7.3  hadoop
  · 切换目录到hadoop配置文件目录:cd /usr/local/hadoop/etc/hadoop
  · vim hadoop-env.sh
  · 修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default
  · 退出编辑页面:按esc键 输入:wq
  · vim /etc/profile
  · 在文件最后追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
  · source /etc/profile
  发散思考-更进一步
  问题1:现在只是配置了一台master?那slave1、slave2、slave3也这样一台一台配置吗?
  答:潜意识里面,肯定有解决办法避免。当然,VirtualBox也提供了,复制机器的功能。选中master,右键复制。这样的话,就一台跟master一模一样的机器就搞定了。我们只需要修改网络的相关配置即可。注意:搭建集群环境需要自己复制三台。
  问题2:如何查看这些linux机器是否在同一个环境下?
  答:我重新捋一遍内容。启动四台linux机器(可以右键选择无界面启动)-->利用xshell远程登录-->选择工具(发送键到所用界面)。依次输入ping 192.168.56.100、192.168.56.101、192.168.56.102、192.168.56.103。
  配置与启动hadoop
  1、为四台机器配置域名。vim /etc/hosts
  192.168.56.100 master
  192.168.56.101 slave1
  192.168.56.102 slave2
  192.168.56.103 slave3
  2、切换到hadoop配置文件目录/usr/local/hadoop/etc/hadoop   vim core-site.xml
  3、修改四台linux机器的core-site.xml,指名四台机器谁是master(NameNode)。
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000</value>
  </property>
  4、在master结点机器指名它的子节点有哪些:vim /usr/local/hadoop/etc/hadoop/slaves(其实就是指名子节点的ip)
  slave1
  slave2
  slave3
  5、初始化一下master配置:hdfs namenode -format
  6、启动hadoop集群并且用jps查看结点的启动情况
  启动master:hadoop-daemon.sh start namenode
  启动slave:hadoop-daemon.sh start datanode
  7、查看集群启动情况:hdfs dfsadmin -report或者利用网页http://192.168.56.100:50070/
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号