设为首页 收藏本站
查看: 748|回复: 0

[经验分享] 学不死的程序员

[复制链接]
发表于 2017-12-17 06:25:16 | 显示全部楼层 |阅读模式
目标
  在3台服务器上搭建 Hadoop2.7.3 集群,然后测试验证,要能够向 HDFS 上传文件,并成功运行 mapreduce 示例程序
搭建思路
  (1)准备基础设施
  准备3台服务器,分别命名为 master、slave1、slave2
  互相配置为 SSH 免密码登录,并都安装好 JAVA 环境
  (2)安装配置 hadoop
  在 master 上下载解压 hadoop,修改相应配置文件,包括:
  core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves
  配置文件比较多,但也比较好理解
  core-site.xml 是核心配置,需要为 hadoop 指定基本配置信息
  hdfs 和 mapreduce 是核心构成,自然要配置相应的 hdfs-site.xml 和 mapred-site.xml
  mapreduce 用到了 yarn 框架,所以也要设置对应的配置文件 yarn-site.xml
  还需要在 slaves 中添加从节点的IP
  配置完成后,把 master 上的 hadoop 目录复制到 slave1 slave2
  (3)启动 hadoop
  在 master 中进行 hdfs 初始化,执行启动命令,打开相应网页查看状态信息
搭建过程

  •   准备基础设施
  (1)为3台服务器设置名称
  修改每台服务器的 /etc/hosts,添加
  192.168.31.164 master
  192.168.31.242 slave1
  192.168.31.140 slave2
  (改为自己服务器的IP)
  (2)SSH无密码登陆
  在每台服务器上都执行以下命令
  $ ssh-keygen
  (执行后会有多个输入提示,不用输入任何内容,全部直接回车即可)
  $ ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@master
  $ ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@slave1
  $ ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@slave2
  注:JAVA环境的安装配置没做介绍,请自己准备好

  •   安装配置 hadoop
  (1)安装
  在 master 中执行
  $ cd /home
  $ wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
  $ tar -xzf hadoop-2.7.3.tar.gz
  $ mv hadoop-2.7.3 hadoop
  $ cd hadoop
  $ mkdir tmp hdfs
  $ mkdir hdfs/data hdfs/name
  (2)配置
  在 master 中执行
  修改 /home/hadoop/etc/hadoop/core-site.xml
  在 <configuration> 块儿中添加:
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000</value>
  </property>
  <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/home/hadoop/tmp</value>
  </property>
  <property>
  <name>io.file.buffer.size</name>
  <value>131702</value>
  </property>
  修改 /home/hadoop/etc/hadoop/hdfs-site.xml
  在 <configuration> 块儿中添加:
  <property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/home/hadoop/hdfs/name</value>
  </property>
  <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/home/hadoop/hdfs/data</value>
  </property>
  <property>
  <name>dfs.replication</name>
  <value>2</value>
  </property>
  <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>master:9001</value>
  </property>
  <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
  </property>
  修改 /home/hadoop/etc/hadoop/mapred-site.xml
  这个文件默认不存在,需要从 mapred-site.xml.template 复制过来
  $ cp mapred-site.xml.template mapred-site.xml
  在 <configuration> 块儿中添加:
  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.address</name>
  <value>master:10020</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>master:19888</value>
  </property>
  修改 /home/hadoop/etc/hadoop/yarn-site.xml
  在 <configuration> 块儿中添加:
  <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
  </property>
  <property>
  <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
  <name>yarn.resourcemanager.address</name>
  <value>master:8032</value>
  </property>
  <property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>master:8030</value>
  </property>
  <property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>master:8031</value>
  </property>
  <property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>master:8033</value>
  </property>
  <property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>master:8088</value>
  </property>
  修改 /home/hadoop/etc/hadoop/slaves
  删除已有内容,添加:
  slave1
  slave2
  修改 /home/hadoop/etc/hadoop/hadoop-env.sh
  找到 export JAVA_HOME=${JAVA_HOME},改为自己JAVA_HOME的绝对路径
  (3)复制 hadoop 到 slave1,slave2
  在 master 上执行
  $ scp -r /home/hadoop slave1:/home
  $ scp -r /home/hadoop slave2:/home
  注意:如果各台服务器中JAVA_HOME位置不同,记得对 hadoop-env.sh 进行相应修改
  (4)设置 hadoop 环境变量
  在每台服务器上都执行:
  $ vim ~/.bashrc
  添加:
  export PATH=$PATH:/home/hadoop/bin:/home/hadoop/sbin
  保存退出
  $ source ~/.bashrc

  •   启动 hadoop
  在master启动hadoop,从节点会自动启动
  初始化
  $ hdfs namenode -format
  启动
  $ hadoop-daemon.sh start namenode
  $ hadoop-daemon.sh start datanode
  $ start-dfs.sh
  $ start-yarn.sh
  $ mr-jobhistory-daemon.sh start historyserver
  检查
  查看状态,在3台服务器上分别执行
  $ jps
DSC0000.jpg

DSC0001.jpg

  浏览器中访问:
  http://master ip:50070/
DSC0002.jpg

  http://master ip:8088/
DSC0003.jpg

  可以正常访问的话,可以说明集群启动成功了,但不一定可以正常运行,还需要下面的实际验证
测试验证
  (1)hdfs 操作
  创建目录
  $ hdfs dfs -mkdir -p /user/hadoop/input
  上传文件,把现有的一些配置文件上传到刚刚创建的目录中
  $ hdfs dfs -put /home/hadoop/etc/hadoop/kms*.xml /user/hadoop/input
  如果没有返回错误信息,说明操作成功
  访问 http://master ip:50070/,在文件浏览页面查看
DSC0004.jpg

  (2)mapreduce 操作
  hadoop 安装包中提供了一个示例程序,我们可以使用它对刚刚上传的文件进行测试
  $ hadoop jar /home/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /user/hadoop/input /user/hadoop/output 'dfs[a-z.]+'
DSC0005.jpg

DSC0006.jpg

  注:在执行过程中,如果长时间处于 running 状态不动,虽然没有报错,但实际上是出错了,后台在不断重试,需要到 logs 目录下查看日志文件中的错误信息
  环境搭建完成,内容较长,感谢阅读,希望对想要搭建hadoop环境的朋友有点帮助

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424886-1-1.html 上篇帖子: hadoop HA YARN 搭建 下篇帖子: hadoop生态圈列式存储系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表