hadoop namenode启动不了_hadoop高可用安装与配置

5d1bf94a5e759c7dfaabfc758cc26a63.png

集群的规划

host 基本的软件 运行的进程 data1 jdk、zk、hadoop NameNode、zkfc、zk、journalNode、 ResourceManager data2 jdk、zk、hadoop NameNode、zkfc、zk、journalNode、ResourceManager、datanode、NodeManager data3 jdk、zk、hadoop zk、journalNode、datanode、NodeManager

一.SSH免密登录 1.data1: ssh-keygen -t rsa , 然后一直按回车 ssh-copy-id data1 ssh-copy-id data2 ssh-copy-id data3 2.在data2和data3上重复执行1的操作

二.安装jdk 省略

三.安装zookeeper 省略

四.安装hadoop 1.下载到/data/tools: wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz 2. 添加环境变量:sudo vi /etc/profile export HADOOP_HOME=/data/tools/hadoop-2.10.0 export PATH=$HADOOP_HOME/bin:$PATH 3.修改配置文件: hadoop-env.sh、yarn-env.sh、mapred-env.sh、hdfs-site.xml、core-site.xml、mapred-site.xml、yarn-site.xml、slaves 3.1 hadoop-env.sh: export JAVA_HOME=/usr/local/jdk 3.2 yarn-env.sh: export JAVA_HOME=/usr/local/jdk 3.3 mapred-env.sh: export JAVA_HOME=/usr/local/jdk 3.4 slaves

data2data3

3.5 配置hosts 3.6 配置core-site.xml文件

fs.defaultFShdfs://ns1hadoop.tmp.dir/data/hadoop-data/tmphadoop.http.staticuser.user*hadoop.proxyuser.halo_op.hosts*hadoop.proxyuser.halo_op.groups*ha.zookeeper.quorumdata1:2181,data2:2181,data3:2181fs.trash.interval1440

3.7 配置hdfs-site.xml文件

dfs.replication2dfs.permissions.enabledfalsedfs.nameservicesns1dfs.ha.namenodes.ns1nn1,nn2dfs.namenode.rpc-address.ns1.nn1data1:9000dfs.namenode.http-address.ns1.nn1data1:50070dfs.namenode.rpc-address.ns1.nn2data2:9000dfs.namenode.http-address.ns1.nn2data2:50070dfs.namenode.shared.edits.dirqjournal://data1:8485;data2:8485;data3:8485/ns1dfs.journalnode.edits.dir/data/hadoop-data/journaldfs.namenode.name.dir/data/hadoop-data/namedfs.datanode.data.dir/data/hadoop-data/datadfs.ha.automatic-failover.enabledtruedfs.client.failover.proxy.provider.ns1org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProviderdfs.ha.fencing.methods        sshfence        shell(/bin/true)        dfs.ha.fencing.ssh.private-key-files/home/halo_op/.ssh/id_rsadfs.ha.fencing.ssh.connect-timeout30000

3.8 配置mapred-site.xml文件

mapreduce.framework.nameyarnmapreduce.jobhistory.addressdata1:10020mapreduce.jobhistory.webapp.addressdata1:19888yarn.app.mapreduce.am.staging-dir/historymapreduce.map.log.levelINFOmapreduce.reduce.log.levelINFO

3.9 配置yarn-site.xml文件

yarn.resourcemanager.ha.enabledtrueyarn.resourcemanager.cluster-idyrcyarn.resourcemanager.ha.rm-idsrm1,rm2yarn.resourcemanager.hostname.rm1data1yarn.resourcemanager.hostname.rm2data2yarn.resourcemanager.zk-addressdata1:2181,data2:2181,data3:2181yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.resourcemanager.recovery.enabledtrueyarn.resourcemanager.store.classorg.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStoreyarn.resourcemanager.address.rm1data1:8032yarn.resourcemanager.scheduler.address.rm1data1:8030yarn.resourcemanager.webapp.address.rm1data1:8088yarn.resourcemanager.resource-tracker.address.rm1data1:8031yarn.resourcemanager.admin.address.rm1data1:8033yarn.resourcemanager.ha.admin.address.rm1data1:23142yarn.resourcemanager.address.rm2data2:8032yarn.resourcemanager.scheduler.address.rm2data2:8030yarn.resourcemanager.webapp.address.rm2data2:8088yarn.resourcemanager.resource-tracker.address.rm2data2:8031yarn.resourcemanager.admin.address.rm2data2:8033yarn.resourcemanager.ha.admin.address.rm2data2:23142
   4.准备hadoop所需要的几个目录     mkdir -p /data/hadoop-data/{name,data,journal,tmp}   5.把hadoop和对应存储目录同步到data2和data3(环境变量需要各自去配)     scp -r /data/hadoop-data data2:/data     scp -r /data/hadoop-data data3:/data     scp -r /data/tools/hadoop-2.10.0 data2:/data/tools     scp -r /data/tools/hadoop-2.10.0 data3:/data/tools   6.启动     1.data1,data2,data3启动journalnode:        sbin/hadoop-daemon.sh start journalnode     2.格式化data1的namenode:       hdfs namenode -format     3.将data1上面产生的namenode的元数据信息,拷贝到data2上面       scp -r /data/hadoop-data/name data2:/data/hadoop-data/     4.data1格式化zkfc        hdfs zkfc -formatZK        实际上是在zookeeper中创建一个目录节点/hadoop-ha/ns1     5.启动hdfs        在data1机器上面或者data2上面启动:sbin/start-dfs.sh        实际上在各机器上启动了:NameNode、journalnode、zkfc,datanode     6.启动yarn       在data1上面启动sbin/start-yarn.sh       实际上时启动了:ResourceManager,NodeManager       在data2上面启动: sbin/yarn-daemon.sh start resourcemanager    如果要单独启动hdfs中某一个进程,使用脚本hadoop-daemon.sh start 进程名,如:sbin/hadoop-daemon.sh start  namenode

五.测试namenode和rm的ha

    1 访问web        hdfs            http://data1:50070            http://data2:50070            其中一个是active,一个是standby        yarn            http://data1:8088            http://data2:8088            在浏览的时候standby会重定向跳转之active对应的页面    2、ha的验证        NameNode HA             访问:                http://data1:50070                http://data2:50070                其中一个active的状态,一个是StandBy的状态                 主备切换验证:                    在data1上kill -9 namenode的进程                    这时访问data2:50070发现变成了active的                    然后在data1上重新启动namenode,发现启动后状态变成standby的        Yarn HA            web访问:默认端口是8088                data1:8088                data2:8088 -> data1:8088                                 主备切换验证:                    在data1上kill -9 resourcemanager的进程                    这时可以访问data2:8088,不会在跳转                    然后在data1上重新启动resourcemanager,再访问时就是跳转到data2:8088        主备切换结论:            原来的主再恢复时,为了系统的稳定性,不会再进行主备的切换    3、mr任务测试        1.准备一个文件,上传hdfs: hdfs dfs -put /data/tmp/mrtest.txt /        2.cd /data/tools/hadoop-2.10.0/share/hadoop/mapreduce        3.yarn jar hadoop-mapreduce-examples-2.6.4.jar wordcount /mrtest.txt /output/wc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值