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

[经验分享] Hadoop zookeeper HA高可靠集群部署搭建,及错误诊断

[复制链接]

尚未签到

发表于 2018-10-28 12:08:54 | 显示全部楼层 |阅读模式
  http://archive-primary.cloudera.com/cdh5/cdh/5/
  一.准备工作
  1.修改Linux主机名,每台都得配置
  [root@h24 ~]# vim /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=h201
  2.修改IP /etc/sysconfig/network-scripts/ifcfg-eth0
  3.修改主机名和IP的映射关系(h24,h25为主,h21,h22,h23为从)
  [root@h24 ~]# vim /etc/hosts
  192.168.1.21 h21
  192.168.1.22 h22
  192.168.1.23 h23
  192.168.1.24 h24
  192.168.1.25 h25
  ######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机、阿里云主机等)
  /etc/hosts里面要配置的是内网IP地址和主机名的映射关系
  4.关闭防火墙
  #查看防火墙状态
  [root@h24 ~]# service iptables status
  #关闭防火墙
  [root@h24 ~]# service iptables stop
  #查看防火墙开机启动状态
  [root@h24 ~]# chkconfig iptables --list
  #关闭防火墙开机启动
  [root@h24 ~]# chkconfig iptables off
  5台机器 创建hadoop 用户
  [root@h24 ~]# useradd hadoop
  [root@h24 ~]# passwd hadoop
  hadoop 密码:123456
  前4步用root用户操作,操作完后重启机器
  5.ssh免登陆hadoop用户操作
  [root@h24 ~]# su - hadoop
  #生成ssh免登陆密钥
  #进入到我的home目录
  cd ~/.ssh
  ssh-keygen -t rsa (四个回车)
  执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
  将公钥拷贝到要免密登陆的目标机器上
  [hadoop@h21 ~]$ ssh-keygen -t rsa
  [hadoop@h22 ~]$ ssh-keygen -t rsa
  [hadoop@h23 ~]$ ssh-keygen -t rsa
  [hadoop@h24 ~]$ ssh-keygen -t rsa
  [hadoop@h25 ~]$ ssh-keygen -t rsa
  [hadoop@h21 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h21
  [hadoop@h21 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h22
  [hadoop@h21 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h23
  [hadoop@h21 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h24
  [hadoop@h21 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h25
  [hadoop@h22 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h21
  [hadoop@h22 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h22
  [hadoop@h22 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h23
  [hadoop@h22 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h24
  [hadoop@h22 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h25
  [hadoop@h23 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h21
  [hadoop@h23 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h22
  [hadoop@h23 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h23
  [hadoop@h23 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h24
  [hadoop@h23 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h25
  [hadoop@h24 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h21
  [hadoop@h24 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h22
  [hadoop@h24 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h23
  [hadoop@h24 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h24
  [hadoop@h24 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h25
  [hadoop@h25 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h21
  [hadoop@h25 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h22
  [hadoop@h25 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h23
  [hadoop@h25 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h24
  [hadoop@h25 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub h25
  6.安装JDK,配置环境变量等root用户操作(  //根据自己的路金配置)
  卸载系统之前jdk版本(便于已安装的jdk生效)
  [root@h24 ~]$rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
  [root@h24 tmp]# tar -zxvf jdk-7u25-linux-i586.tar.gz -C /usr/local
  [root@h24 ~]# vim /etc/profile    或者在用户下   vim .bash_profile
  export JAVA_HOME=/usr/local/jdk1.7.0_25
  export HADOOP_HOME=/usr/local/hadoop-2.6.0
  export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  source /etc/profile 或者 source  .bash_profile
  查看java版本
  [root@h24 ~]# java -version
  ————————————————————————————————
  (/etc/bashrc
  export JAVA_HOME=/usr/jdk1.7.0_25
  export JRE_HOME=$JAVA_HOME/jre
  export PATH=$JAVA_HOME/bin:$PATH)
  ————————————————————————————————
  二.集群规划:
  主机名 IP  安装软件 运行进程
  h24 192.168.1.24:jdk、hadoop
  namenode resourcemanage
  DFSZKFailoverController(zkfc)
  h25 192.168.1.25:jdk、hadoop
  namenode resourcemanage
  DFSZKFailoverController(zkfc)
  h21 192.168.1.21:jdk、hadoop、zookeeper
  datanode nodemanage
  journalnode QuorumPeerMain
  h22 192.168.1.22:jdk、hadoop、zookeeper
  datanode nodemanage
  journalnode QuorumPeerMain
  h23 192.168.1.23:jdk、hadoop、zookeeper
  datanode nodemanage
  journalnode QuorumPeerMain
  三.安装步骤:
  1.安装配置zooekeeper集群(在hadoop-server3上)
  1.1解压
  [root@h21 tmp]# tar zxvf zookeeper-3.4.5-cdh5.5.2.tar.gz -C /usr/local/
  1.2修改配置
  [root@h21 tmp]# cd /usr/localzookeeper-3.4.5/conf/
  [root@h21 conf]# cp zoo_sample.cfg zoo.cfg
  [root@h21 conf]# vim zoo.cfg
  修改添加:
  dataDir=/usr/local/zookeeper-3.4.5-cdh5.5.2/data
  dataLogDir=/usr/local/zookeeper-3.4.5-cdh5.5.2/log
  在最后添加:
  server.1=192.168.1.23:2888:3888
  server.2=192.168.1.24:2888:3888
  server.3=192.168.1.25:2888:3888
  保存退出
  然后创建一个data文件夹
  [root@h21 ~]# cd /usr/local/zookeeper-3.4.5-cdh5.5.2/
  [root@h21 zookeeper-3.4.5-cdh5.5.2]# mkdir -pv data log
  再创建一个空文件
  touch /usr/localzookeeper-3.4.5/data/myid
  最后向该文件写入ID
  echo 1 > /usr/localzookeeper-3.4.5/data/myid
  1.3将配置好的zookeeper拷贝到其他节点
  [root@h21 ~]# scp -r /usr/localzookeeper-3.4.5/ h22:/usr/local
  [root@h21 ~]# scp -r /usr/localzookeeper-3.4.5/ h23:/usr/local
  注意:修改hadoop-server4、hadoop-server5对应/usr/localzookeeper-3.4.5/data/myid内容
  hadoop-server4:
  echo 2 > /usr/localzookeeper-3.4.5/data/myid
  hadoop-server5:
  echo 3 > /usr/localzookeeper-3.4.5/data/myid
  2.安装配置hadoop集群(在hadoop-server1上操作)
  2.1解压
  [root@h24 tmp]# tar -zxvf hadoop-2.6.0-cdh5.5.2.tar.gz -C /usr/local/
  mv hadoop-2.6.0-cdh5.5.2 hadoop-2.6.0
  2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目录下)
  #将hadoop添加到环境变量中
  vim /etc/profile或者在用户下   vim .bash_profile
  export JAVA_HOME=/usr/local/jdk1.7.0_25
  export HADOOP_HOME=/usr/local/hadoop-2.6.0
  export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
  #hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
  [root@h24 local]# cd /usr/local/hadoop-2.6.0/etc/hadoop
  2.2.1修改vim hadoop-env.sh
  export JAVA_HOME=/usr/local/jdk1.7.0_25
  2.2.2修改vim core-site.xml
  
fs.defaultFShdfs://ns1/hadoop.tmp.dir/usr/local/hadoop-2.6.0/tmpha.zookeeper.quorumh21:2181,h22:2181,h23:21812.2.3修改vim hdfs-site.xml  dfs.nameservicesns1dfs.ha.namenodes.ns1nn1,nn2dfs.namenode.rpc-address.ns1.nn1h24:9000dfs.namenode.http-address.ns1.nn1h24:50070dfs.namenode.rpc-address.ns1.nn2h25:9000dfs.namenode.http-address.ns1.nn2h25:50070dfs.namenode.shared.edits.dirqjournal://h21:8485;h22:8485;h23:8485/ns1dfs.journalnode.edits.dir/usr/local/hadoop-2.6.0/journaldatadfs.ha.automatic-failover.enabledtruedfs.client.failover.proxy.provider.ns1org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProviderdfs.ha.fencing.methodssshfenceshell(/bin/true)dfs.ha.fencing.ssh.private-key-files/home/hadoop/.ssh/id_rsadfs.ha.fencing.ssh.connect-timeout300002.2.4  拷贝生成 [root@h211 hadoop]# cp mapred-site.xml.template mapred-site.xml修改vim mapred-site.xmlmapreduce.framework.nameyarn2.2.5修改vim yarn-site.xmlyarn.resourcemanager.ha.enabledtrueyarn.resourcemanager.cluster-idyrcyarn.resourcemanager.ha.rm-idsrm1,rm2yarn.resourcemanager.hostname.rm1h24yarn.resourcemanager.hostname.rm2h25yarn.resourcemanager.zk-addressh21:2181,h22:2181,h23:2181yarn.nodemanager.aux-servicesmapreduce_shuffle2.2.6修改vim slaves(slaves是指定子节点的位置)h21h22h23—————————————————————————————————————————————————————————————-------------------------------------------********************************************************************************************************2.2.7配置免密码登陆#首先要配置hadoop-server1到hadoop-server2、hadoop-server3、hadoop-server4、hadoop-server5的免密码登陆#在hadoop-server1上生产一对钥匙ssh-keygen -t rsa#将公钥拷贝到其他节点,包括自己ssh-copy-id h201ssh-copy-id h202ssh-copy-id h203ssh-copy-id h204ssh-copy-id h205#注意:resourcemanager到nodemanager要配置免密登录#注意:两个namenode之间要配置ssh免密码登陆,别忘了配置hadoop-server2到hadoop-server1的免登陆在hadoop-server2上生产一对钥匙ssh-keygen -t rsassh-copy-id -i h201**********************************************************************************************************____________________________________________________________________________________________________________2.4将配置好的hadoop拷贝到其他节点[root@h24 ~]$ scp -r /usr/local/hadoop-2.6.0/ h21:/usr/local/[root@h24 ~]$ scp -r /usr/local/hadoop-2.6.0/ h22:/usr/local/[root@h24 ~]$ scp -r /usr/local/hadoop-2.6.0/ h23:/usr/local/[root@h24 ~]$ scp -r /usr/local/hadoop-2.6.0/ h25:/usr/local/授权[root@h24 ~]$chown hadoop.hadoop /usr/local/hadoop-2.6.0/ -R[root@h25 ~]$chown hadoop.hadoop /usr/local/hadoop-2.6.0/ -R[root@h21 ~]$chown hadoop.hadoop /usr/local/hadoop-2.6.0/ -R[root@h22 ~]$chown hadoop.hadoop /usr/local/hadoop-2.6.0/ -R[root@h23 ~]$chown hadoop.hadoop /usr/local/hadoop-2.6.0/ -R配置环境变量[root@h24 ~]$  su - hadoop[hadoop@h24 ~]$ vi .bash_profile     /etc/profileexport JAVA_HOME=/usr/local/jdk1.7.0_25export JAVA_BIN=/usr/local/jdk1.7.0_25/binexport PATH=$PATH:$JAVA_HOME/binexport>通过浏览器访问:http://192.168.1.212:50070NameNode 'h212:9000' (active)这个时候hadoop-server2上的NameNode变成了active这个时候hadoop-server1的网页刷新后 无显示处于宕机状态在执行命令:hadoop fs -ls /-rw-r--r--   3 root supergroup       1926 2015-06-24 15:36 /profile刚才上传的文件依然存在!!!手动启动那个挂掉的NameNodesbin/hadoop-daemon.sh start namenode通过浏览器访问:http://192.168.1.24:50070NameNode 'h24:9000' (standby)验证YARN:运行一下hadoop提供的demo中的WordCount程序:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount /profile /outOK,大功告成!!!测试集群工作状态的一些指令 :bin/hdfs dfsadmin -report  查看hdfs的各节点状态信息bin/hdfs haadmin -getServiceState nn1  获取一个namenode节点的HA状态sbin/hadoop-daemon.sh start namenode  单独启动一个namenode进程./hadoop-daemon.sh start zkfc   单独启动一个zkfc进程_____________________________________________________________________________*****************************************************************************报错:[hadoop@h21 bin]$ ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfgError contacting service. It is probably not running.解决办法[hadoop@h21 bin]$ vim  zkServer.sh在文件最后添加jdk环境变量export JAVA_HOME=/usr/jdk1.7.0_25export HADOOP_HOME=/usr/local/hadoop-2.6.0export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin[hadoop@h21 bin]$ ./zkServer.sh stopJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfg[hadoop@h21 bin]$ ./zkServer.sh startJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfg此时其他节点也要开启[hadoop@h21 bin]$ ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfgMode: follower[hadoop@h22 bin]$ ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfgMode: leader[hadoop@h23 bin]$ ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5-cdh5.5.2/bin/../conf/zoo.cfgMode: follower警告:[hadoop@h24 ~]$ hadoop fs -put WordCount.txt /profile/18/06/21 02:56:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java>

运维网声明 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-627485-1-1.html 上篇帖子: 配置hadoop+pyspark环境 下篇帖子: hadoop0.20.2完全分布式环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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