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

[经验分享] hadoop2.6.0 集群搭建

[复制链接]

尚未签到

发表于 2018-10-29 10:45:04 | 显示全部楼层 |阅读模式
  声明:本文面向有linux基础的大数据初学者,因好多配置都可以单独出一篇文章,如写的过于详细篇幅较大对阅读和操作会带来负面影响,如遇到问题可以自行百度或加文章末尾留的QQ群探讨。
  整体流程如图:
DSC0000.png DSC0001.png

  
  
  
  
  准备工作:
  下载hadoop-2.6.0.tar.gz
  http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
  下载jdk-7u55-linux-i586.tar.gz 从Oracle官网下载即可。
  虚拟机环境:(本文使用的配置)
  
  ip地址         hostname
  192.168.32.130    slave1
  192.168.32.131    slave2
  192.168.32.132    slave3
  操作系统镜像:CentOS-6.7-i386-bin-DVD1.iso
  ssh工具:SecureCRT 7.3.1
  /**************************************分割线****************************************/
  第一步:准备操作系统环境:
  1、创建一台虚拟机并安装centos 6.7(以desktop类型安装即可 ),安装成功后关闭iptables  和selinux 并禁止开机启动,具体步骤如下:
  关闭iptables和selinux

  •   1-1、关闭iptables执行如下命令:(6条命令逐条运行)
[root@slave1 ~]#service iptables save  
[root@slave1 ~]#service iptables stop
  
[root@slave1 ~]#chkconfig iptables off
  
[root@slave1 ~]#service ip6tables save
  
[root@slave1 ~]#service ip6tables stop
  
[root@slave1 ~]#chkconfig ip6tables off
  1-2、关闭 selinux: (三条命令逐条运行)
[root@slave1 ~]#setenforce 0  
[root@slave1 ~]#sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
  
[root@slave1 ~]#sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  2、将下载的hadoop-2.6.0.tar.gz  、jdk-7u55-linux-i586.tar.gz 上传到centos 系统中。
  本例使用SecureCRT自带的SFTP进行上传,使用SecureCRT 用ssh连接安装好的虚拟机 。按alt+p组合键打开SFTP窗口,将文件拖放到窗口上就可以完成上传。
  3、安装jdk
  因为hadoop 及hadoop生态圈的好多组件是用java开发,所以安装并配置jdk是基础。
  3-1、检查系统是否已经存在jdk如果存在需要删除
//查看安装的jdk  
[root@slave1 ~]# rpm -qa | grep jdk
  

  
//如有的话可使用rpm -e --nodeps命令删除上面查找的内容
  3-2、解压jdk-7u55-linux-i586.tar.gz 到 /usr/local (其他目录页可以,本人习惯将软件安装到/usr/local  目录下)
[root@slave1 ~]# tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/local  3-3、配置JAVA_HOME、CLASSPATH 、path 环境变量:
  使用vim 打开并编辑  /etc/profile  文件
[root@slave1 ~]#vim /etc/profile  #不熟练vim的使用建议专门练习vim编辑器的使用  

  
#在最后添加如下信息
  

  
#java
  
export JAVA_HOME=/usr/local/jdk1.7.0_55
  
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
  
export PATH=$JAVA_HOME/bin:$PATH
  

  
#保存后使用source /etc/profile 使配置生效
  
[root@slave1 ~]#source /etc/profile
  如图,
DSC0002.png

  验证jdk是否生效
[root@slave1 ~]#java -version  
[root@slave1 ~]#javac -version
  显示如下,说明安装并配置成功,如提示找不到命令需要仔细排查错误。

DSC0003.png

  4、将以上配置好的系统使用VMware 的虚拟机克隆 分别克隆出两台虚拟机(建议使用链接克隆的方式,可以减少硬盘空间的使用) ,克隆完成后开机并检查ip地址的配置。
DSC0004.png

  /*******************************华丽的分割线************************************/
  第二步:部署hadoop
  1、配置主机名 (三台虚拟机都需要修改)
  1-1、修改/etc/sysconfig/network 文件
[root@slave1 ~]#vim /etc/sysconfig/network  

  
NETWORKING=yes
  
HOSTNAME=slave1.com   #另外两台机器分别是slave2.com  slave3.com
  1-2、修改/etc/hosts文件(三台虚拟机都需要修改)
[root@slave1 ~]# vim /etc/hosts  
#在原来内容的基础上添加如下内容
  
192.168.32.131 slave1.com slave1
  
192.168.32.132 slave2.com slave2
  
192.168.32.133 slave3.com slave3
  重启虚拟机,使修改生效
  分别在虚拟机中互相ping 另外两台的主机名比如在slave1 机器上
[root@slave1 ~]#ping slave2  
[root@slave1 ~]#ping slave3
  可以正常ping通说明配置成功,如果有异常需要排除。
  (再次强调三台都需要做此配置)
  2、配置ssh免密码登录
  因为集群启动的时候会通过ssh链接其他节点的集群将相关进程启动,所以需要配置ssh免密码登录。
  使用以下命令完成配置:
[root@slave1 ~]# cd /root/.ssh/  
[root@slave1 ~]# ssh-keygen -t rsa  # 不需要填写任何内容 一直按回车 生成id_rsa.pub
  
[root@slave1 ~]# cat id_rsa.pub > authorized_keys

  #将生成的 authorized_keys>[root@slave1 ~]#scp -r /root/.ssh/ root@slave2:/root.ssh  
[root@slave1 ~]#scp -r /root/.ssh/ root@slave3:/root.ssh
  分别在三台机器上 使用ssh 命令进行登录测试 第一次会要求输入密码,退出后再次ssh连接 不用输入密码直接登录成功
  比如在slave1机器上分别对slave2 机器进行ssh登录测试:
[root@slave1 ~]# ssh slave2 #第一次需要输入密码  
[root@slave2 ~]#logout  #在ssh登录状态使用logout命令退出登录 退出后再次使用上一条命令进行连接测试
  注意:
  在CentOS6.x上可能还需要输入密码,这是由于centos 6.x有个BUG:
DSC0005.png

  解决方法,在各服务器上执行如下命令,即可以无密码登陆:
[root@slave1~]# restorecon -R -v /root/.ssh  3、解压hadoop2.6 并配置环境变量
  进入到之前上传的hadoop-2.6.0.tar.gz 所在目录下使用tar将文件解压到 /usr/local/ 目录下
[root@slave1 ~]# tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local  #解压后hadoop的路径为/usr/local/hadoop-2.6.0[root@slave1 ~]# vim /etc/profile #在末尾添加如下内容  

  
#hadoop
  
export HADOOP_HOME=/usr/local/hadoop-2.6.0
  
export PATH=$HADOOP_HOME/bin:$PATH
  

  
[root@slave1 ~]#source /etc/profile
  如图,slave2 和slave3两台机器也需要将hadoop 配置到环境变量中
DSC0006.png


  4、配置hadoop 相关配置文件(hadoop的配置文件在/usr/local/hadoop-2.6.0/etc/hadoop目录 )
  4-1、hadoop-env.sh  修改JAVA_HOME(具体配置参照jdk环境变量中的配置)
[root@slave1 ~]# cd /usr/local/hadoop-2.6.0/etc/hadoop  #进入hadoop安装目录下的配置文件所在目录  
[root@slave1 hadoop]# vim hadoop-env.sh
  将注释去掉并按实际配置进行修改,如图:
DSC0007.png

  4-2、yarn-env.sh  修改JAVA_HOME
[root@slave1 hadoop]# vim yarn-env.sh  将注释去掉并按实际配置进行修改,如图:
DSC0008.png

  4-3、配置slaves文件 增加slave节点  添加slave2  slave3
[root@slave1 hadoop]# vim slaves  将另外两台虚拟机的主机名添加进来,如图:
DSC0009.png

  4-4、配置core-site.xml文件  添加hadoop核心配置
  (hdfs文件端口是9000、file:/usr/local/hadoop/tmp)
  

  
fs.defaultFS
  
hdfs://slave1:9000
  

  

  
io.file.buffer.size
  
131072
  

  

  
hadoop.tmp.dir
  
file:/usr/local/hadoop/tmp
  
Abasefor other temporary dirctories.
  

  

  
hadoop.proxyuser.spark.groups
  
*
  

  

  4-5、配置hdfs-site.xml文件  增加hdfs配置信息namenode、datanode配置和目录位置 (/usr/local/dfs/name  和/usr/local/dfs/data 以及4-4中配置里的/usr/local/hadoop/tmp  三个目录在格式化namenode的时候会自动生成这个目录可以配置到其他地方,如果是已存在的目录需要保证有755权限)
  

  
dfs.namenode.secondary.http-address
  
slave1:9001
  

  

  
dfs.namenode.name.dir
  
file:/usr/local/dfs/name
  

  

  
dfs.datanode.data.dir
  
file:/usr/local/dfs/data
  

  

  
dfs.replication
  
3
  

  

  
dfs.webhdfs.enabled
  
true
  

  

  4-6、配置mapred-site.xml文件 增加mapreduce配置(使用yarn框架、jobhistory使用地址及web地址)
  

  
mapreduce.framework.name
  
yarn
  

  

  
mapreduce.jobhistory.address
  
slave1:10020
  

  

  
mapreduce.jobhistory.webapp.address
  
slave1:19888
  

  

  4-7、配置yarn-site.xml文件 添加yarn功能
  

  
yarn.nodemanager.aux-services
  
mapreduce_shuffle
  

  

  
yarn.nodemanager.aux-services.mapreduce.shuffle.class
  
org.apache.hadoop.mapred.ShuffleHandler
  

  

  
yarn.resourcemanager.address
  
slave1:8032
  

  

  
yarn.resourcemanager.scheduler.address
  
slave1:8030
  

  

  
yarn.resourcemanager.resource-tracker.address
  
slave1:8035
  

  

  
yarn.resourcemanager.admin.address
  
slave1:8033
  

  

  
yarn.resourcemanager.webapp.address
  
slave1:8088
  

  

  5、将配好的hadoop文件拷贝到其他机器上
[root@slave1 local]# scp -r /usr/local/hadoop-2.6.0 root@slave2:/usr/local  
[root@slave1 local]# scp -r /usr/local/hadoop-2.6.0 root@slave2:/usr/local
  7、每台机器都格式化 namenode
  分别在slave1、slave2、slave3 执行以下命令,格式化namenode
[root@slave1 local]#hdfs namenode -format
DSC00010.png

DSC00011.png

DSC00012.png

  8、启动dfs(只需要在slave1上执行命令即可)
[root@slave1 local]#cd /usr/local/hadoop-2.6.0/sbin  
[root@slave1 sbin]#./start-dfs.sh
  
[root@slave1 sbin]# jps   #使用jps命令可以查看java的相关进程
DSC00013.png

  9、启动yarn
[root@slave1 local]#cd /usr/local/hadoop-2.6.0/sbin  
[root@slave1 sbin]#./start-yarn.sh
  
[root@slave1 sbin]# jps   #使用jps命令可以查看java的相关进程
DSC00014.png

  如果需要停止dfs 使用stop-dfs.sh
  如果需要停止yarn 使用stop-yarn.sh
  /*************************************再一次华丽分分割*********************************/
  至此hadoop 的分布式模式部署的基本工作已完成,在浏览器中输入http://192.168.32.130:50070 访问hadoop的web界面,如图:
DSC00015.png

  大数据技术QQ群:576216694
  扫码入群:




运维网声明 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-627896-1-1.html 上篇帖子: hadoop系列:zookeeper(3)——zookeeper核心原理(事件) 下篇帖子: hadoop之hdfs的理解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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