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

[经验分享] Hadoop HA 搭建

[复制链接]

尚未签到

发表于 2018-10-30 06:19:53 | 显示全部楼层 |阅读模式
  四台机器 bei1 bei2 bei3 bei4
NNDNZKZKFCJNRM  NM(任务管理)
bei1 YYYbei2 YYYYYYYbei3 YYYYbei4YYY  1、升级组件以及关闭防火墙
  yum -y update
  PS: 如果使用本地yum源可省略该项
  新开终端在升级组件的同时操作减少等待时间
  # service iptables stop
  # chkconfig iptables off
  2、修改/etc/hosts文件中IP与主机映射关系
  # vi /etc/hosts
  192.168.31.131bei1
  192.168.31.132bei2
  192.168.31.133bei3
  192.168.31.134bei4
  3、如果是虚拟机修改/etc/sysconfig/network-scripts/ifcfg-eth0删除UUID和MAC地址
  # vi /etc/sysconfig/network-scripts/ifcfg-eth0
  4、删除/etc/udev/rules.d/70-persistent-net.rules 默认网卡MAC生成规则文件
  # rm -rf /etc/udev/rules.d/70-persistent-net.rules
  PS:如果是其它NODE节点不是虚拟机克隆或者源虚拟机复制的可省略第3、4两项
  5、yum升级后重启主机
  6、准备环境
  6.1、yum -y install gcc gcc-c++ autoconf automake cmake ntp rsync ssh vim
  yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
  PS:以上一些程序可能对于hadoop并不需要但为了以后安装其它程序可能会用到尤其是源码安装
  其中重要的三个程序是必须安装的
  ssh用于节点间通信 我选用的是CentOS6.7的版本默认已经安装了openssh
  rsync用于远程同步
  ntp用于时间同步
  6.2、当6.1中第一个yum安装完成后新开终端进行NTP时间同步该项很重要
  6.2.1配置ntp启动项
  chkconfig ntpd on
  6.2.2同步时间
  ntpdate ntp.sjtu.edu.cn
  6.2.3启动ntpd服务
  /etc/init.d/ntpd start
  6.2.4验证ntp服务已经运行
  pgrep ntpd
  6.2.5初始同步
  ntpdate -u ntp.sjtu.edu.cn
  6.2.6确认同步成功
  ntpq -p
  PS:可以一次性输入以上命令
  chkconfig ntpd on
  ntpdate ntp.sjtu.edu.cn
  /etc/init.d/ntpd start
  pgrep ntpd
  ntpdate -u ntp.sjtu.edu.cn
  ntpq -p
  等待6.2.1yum成功后建议重启主机
  7、安装jdk
  7.1 将jdk考到家目录中
  7.2 rpm -ivh jdk_xxxxxxxx.rpm
  7.3 jdk安装目录默认为/usr/java/jdk1.7.0_79
  7.4 配置jdk环境变量
  # vim ~/.bash_profile
  增加以下四行
  export JAVA_HOME=/opt/sxt/soft/jdk1.7.0_80
  export PATH=$PATH:$JAVA_HOME/bin
  export HADOOP_HOME=/opt/sxt/soft/hadoop-2.5.1
  export PATH=$PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
  编辑完成后使用source命令使文件~/.bash_profile生效执行以下命令
  source ~/.bash_profile
  检查环境变量
  printenv
  8、安装tomcat (这步可省略,不过以后肯定有用)
  将tomcat拷贝到/opt/sxt下解压
  # tar -zxvf apache-tomcat-xxxxx.tar.gz
  9、将Hadoop 上传到/opt/sxt
  # tar -zxvf hadoop-2.5.1_x64.tar.gz
  9.1 创建hadoop.tmp.dir目录及创建
  # mkdir -p /opt/hadooptmp
  9.2 etc/hadoop/core-site.xml:
  
  fs.defaultFS
  hdfs://bjsxt
  
  
  ha.zookeeper.quorum
  bei1:2181,bei2:2181,bei3:2181
  
  
  hadoop.tmp.dir
  /opt/hadooptmp
  
  
  9.3 etc/hadoop/hdfs-site.xml:
  
  dfs.nameservices
  bjsxt
  
  
  dfs.ha.namenodes.bjsxt
  nn1,nn2
  
  
  dfs.namenode.rpc-address.bjsxt.nn1
  bei1:8020
  
  
  dfs.namenode.rpc-address.bjsxt.nn2
  bei2:8020
  
  
  dfs.namenode.http-address.bjsxt.nn1
  bei1:50070
  
  
  dfs.namenode.http-address.bjsxt.nn2
  bei2:50070
  
  
  dfs.namenode.shared.edits.dir
  qjournal://bei2:8485;bei3:8485;bei4:8485/bjsxt
  
  
  dfs.client.failover.proxy.provider.bjsxt
  org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
  
  
  dfs.ha.fencing.methods
  sshfence
  
  
  dfs.ha.fencing.ssh.private-key-files
  /root/.ssh/id_dsa
  
  
  dfs.journalnode.edits.dir
  /opt/hadooptmp/data
  
  
  
  dfs.ha.automatic-failover.enabled
  true
  
  9.4 克隆
  9.5 修改主机名 IP 网关 mac
  修改主机名
  vim /etc/sysconfig/network
  修改IP地址
  vi /etc/sysconfig/network-scripts/ifcfg-eth0
  修改DNS
  vi /etc/resolv.conf 中的search ,nameserver
  10、检查ssh本地免密码登录
  10.1 第一次检查
  ssh localhost
  PS:远程成功后记得exit退出
  10.2 创建本地秘钥并将公共秘钥写入认证文件
  # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
  # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  10.3 再次检查
  ssh localhost
  PS:同样exit退出
  10.4 在NameNode上将~/.ssh/authorized_keys文件复制到各节点上
  scp ~/.ssh/authorized_keys root@hadoopsnn:~/.ssh/authorized_keys
  scp ~/.ssh/authorized_keys root@hadoopdn1:~/.ssh/authorized_keys
  scp ~/.ssh/authorized_keys root@hadoopdn2:~/.ssh/authorized_keys
  10.5 编写/opt/sxt/soft/hadoop-2.5.1/etc/hadoop/hadoop-env.sh文件默认 hadoop取不到用户环境变量里的JAVA_HOME所以要手动指定
  vim /opt/sxt/soft/hadoop-2.5.1/etc/hadoop/hadoop-env.sh
  找到export JAVA_HOME=${JAVA_HOME}
  修改为export JAVA_HOME=/opt/sxt/soft/jdk1.7.0_80
  增加以下一行
  export HADOOP_PREFIX=/opt/sxt/soft/hadoop-2.5.1
  11、 配置安装zookeeper
  11.1 三台zookeeper:bei1,bei2,bei3
  11.2 编辑zoo.cfg配置文件
  修改dataDir=/opt/sxt/zookeeperdatadir
  tickTime=2000
  dataDir=/opt/sxt/zookeeperdatadir
  clientPort=2181
  initLimit=5
  syncLimit=2
  server.1=bei1:2888:3888
  server.2=bei2:2888:3888
  server.3=bei3:2888:3888
  11.3 在dataDir目录中创建一个myid的文件,文件内容为1,2,3
  12、配置hadoop中的slaves  其中放置的是NN
  *******这一步开始要认真按步骤做,若修改配置文件了,服务需要重启*******
  13、启动三个zookeeper:/opt/sxt/zookeeper-3.4.6/bin/zkServer.sh start
  14、启动三个JournalNode:./hadoop-daemon.sh start journalnode
  15、在其中一个namenode上格式化:bin/hdfs namenode -format
  16、把刚刚格式化之后的元数据拷贝到另外一个namenode上
  16.1启动刚刚格式化的namenode :hadoop-daemone.sh start namenode
  16.2在没有格式化的namenode上执行:hdfs namenode -bootstrapStandby
  16.3启动第二个namenode
  17、在其中一个namenode上初始化zkfc:hdfs zkfc -formatZK
  18、停止上面节点:stop-dfs.sh
  19、全面启动:start-dfs.sh
  20、登录页面jps检查 登录页面检查


运维网声明 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-628131-1-1.html 上篇帖子: 大数据环境搭建-之-hadoop 2.x分布式部署-集群配置 下篇帖子: hadoop之VMware下centos的系统安装及虚拟机网络配置(第一讲笔记)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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