hadoop 2.6.5下的服务器搭建记录

免密钥有两个需求场景:
1.管理脚本 远程管理其他的节点脚本启动
2.ZKFC:需要免密钥控制对方和自己

JNN配置步骤:
1.逻辑到物理的映射
2.journalnode相关位置信息的一个描述
3.发生故障免密钥的切换的配置

启动过程
1.先启动JNN
2.再启动一个NameNode进行格式化,然后启动这个namenode
3.另外一个NameNode启动进行信息同步

1.上传解压tar xf zookeeper-3.4.6.tar.gz
2. mv zookeeper-3.4.6 /opt/test/
3.配置环境变量
export ZOOKEEPER_HOME=/opt/test/zookeeper-3.4.6
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
4. cp /opt/test/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg
4. vi zoo.cfg
dataDir=/var/test/hadoop/zookeeper
server.1=192.168.0.102:2888:3888
server.2=192.168.0.103:2888:3888
server.3=192.168.0.104:2888:3888
5. 创建myid
[root@node2 conf]# mkdir -p /var/test/hadoop/zk
[root@node2 conf]# echo 1 > /var/test/hadoop/zk/myid
6.复制到其他的机器上
scp -r zookeeper-3.4.6/ node3:pwd
scp -r zookeeper-3.4.6/ node4:pwd

[root@node3 test]# mkdir -p /var/test/hadoop/zk
[root@node3 test]# echo 2 > /var/test/hadoop/zk/myid

[root@node4 ~]# mkdir -p /var/test/hadoop/zk
[root@node4 ~]# echo 3 > /var/test/hadoop/zk/myid
在node3 node4上配置环境变量
export ZOOKEEPER_HOME=/opt/test/zookeeper-3.4.6
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
7.启动 node2 node3 node4
zkServer.sh start
zkServer.sh status查看状态

zookeeper配置完毕!ok!

继续配置

  1. /opt/test/hadoop-2.6.5/etc
    cp -r hadoop hadoop-full

hadoop-full 就是以前的没有zooker的完全配置环境,完全分布式

  1. vi hdfs-site.xml

    dfs.namenode.secondary.http-address
    node2:50090

    没有意义了,在HA中secondary没有意义了


    dfs.replication
    2


    dfs.nameservices
    mycluster


    dfs.ha.namenodes.mycluster
    nn1,nn2


    dfs.namenode.rpc-address.mycluster.nn1
    node1:8020


    dfs.namenode.rpc-address.mycluster.nn2
    node2:8020


    dfs.namenode.http-address.mycluster.nn1
    node1:50070


    dfs.namenode.http-address.mycluster.nn2
    node2:50070


    dfs.namenode.shared.edits.dir
    qjournal://node1:8485;node2:8485;node3:8485/mycluster


    dfs.journalnode.edits.dir
    /var/test/hadoop/ha/jn
dfs.client.failover.proxy.provider.mycluster 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.ha.automatic-failover.enabled true

2.core-site.xml
注意:hadoop.tmp.dir的配置变更:/var/test/hadoop-2.6/ha


fs.defaultFS
hdfs://mycluster


hadoop.tmp.dir
/var/test/hadoop/ha


ha.zookeeper.quorum
node2:2181,node3:2181,node4:2181

客户端开发,保证core,hdfs-site.xml都被客户端加载。

3.将修改分发到其他的机器上
scp hdfs-site.xml core-site.xml node2:pwd
scp hdfs-site.xml core-site.xml node3:pwd
scp hdfs-site.xml core-site.xml node4:pwd
scp hdfs-site.xml core-site.xml node5:pwd

  1. node1和node2免密钥控制对方和自己
    ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
    cat id_dsa.pub >> authorized_keys
    同样的方式让node1和node2对自己免密钥
    自己可以免密钥了
    scp id_dsa.pub node1:pwd/node2.pub
    cat node2.pub >> authorized_keys
    node1对node2免密码了
    在node1上
    scp id_dsa.pub node2:pwd/node1.pub
    在node2上
    cat node1.pub >> authorized_keys
    node2对node1也免密钥了

5.部署的细节
格式化期间有限启动一个namenode
node1启动
hadoop-daemon.sh start journalnode
node2启动
hadoop-daemon.sh start journalnode
node3启动
hadoop-daemon.sh start journalnode

格式化
node1
hdfs namenode -format
启动
hadoop-daemon.sh start namenode
node2
hdfs namenode -bootstrapStandby
node1
hdfs zkfc -formatZK 在此之前确保zookeeper是否在node2 node3 node4
启动zkServer.sh status
node2 node3 node4中的一个客户端启动起来zkCli.sh

[zk: localhost:2181(CONNECTED) 3] ls /hadoop-ha/mycluster
[]

node1上启动服务:
start-dfs.sh
node04上查看
[zk: localhost:2181(CONNECTED) 0] get /hadoop-ha/mycluster/ActiveStandbyElectorLock

myclusternn1node1 �>(�>

cZxid = 0x200000007
ctime = Sun Sep 13 04:17:51 CST 2020
mZxid = 0x200000007
mtime = Sun Sep 13 04:17:51 CST 2020
pZxid = 0x200000007
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x17483f2c1de0001
dataLength = 29
numChildren = 0

node1上杀死namenode的进程
kill -9 pid
查看node4 get /hadoop-ha/mycluster/ActiveStandbyElectorLock
node2已经称为namenode
恢复
hadoop-daemon.sh start namenode
node1已经standby

50070不能访问一般是
1.hdfs-site.xml

增加如下内容:

           <property>
                    <name>dfs.namenode.http.address</name>
                   <value>slave1:50070</value>
           </property>

2.关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

访问:

http://192.168.0.200:50070
http://masterhost:50070
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值