0
点赞
收藏
分享

微信扫一扫

hadoop3X HA安装部署

书坊尚 2022-04-22 阅读 29

目录

 一、前期准备

1.1安装了jdk

1.2安装了zookeeper分布式

1.3配置免密码登录

1.4机器准备

二、安装部署

2.1上传

2.2解压

2.3配置环境变量(每一台都要)

2.4修改hadoo-env.sh

2.5修改core-site.xml

2.6修改hdfs-site.xml

2.7修改mapred-site.xml

2.8修改yarn-site.xml

2.9修改workers

2.10修改:yarn-env.sh

2.11拷贝到其他节点

三、验证

3.1启动zookeeper集群(每一台都要)

3.2启动

3.3jps查看进程

3.4浏览器验证9870

3.5 浏览器验证8088


注:hadoop2X HA安装部署参考:

Hadoop2X HA环境部署_一个人的牛牛的博客-CSDN博客

 一、前期准备

1.1安装了jdk

没有的可以参考:

Linux系统CentOS7安装jdk_一个人的牛牛的博客-CSDN博客

1.2安装了zookeeper分布式

没有的可以参考:

​​​​​​zookeeper单机和集群(全分布)的安装过程_一个人的牛牛的博客-CSDN博客

1.3配置免密码登录

没有的可以参考:

Linux配置免密登录单机和全分布_一个人的牛牛的博客-CSDN博客

1.4机器准备

主节点从节点
hadoop01hadoop02
hadoop02hadoop03

 笔记本性能不够,没有安装多的虚拟机,hadoop02重复使用。

二、安装部署

2.1上传

MobaXterm_Portable的简单使用_一个人的牛牛的博客-CSDN博客_mobaxterm portable和installer区别

2.2解压

进入安装包目录,执行:

tar -zvxf hadoop-3.1.3.tar.gz /training/

2.3配置环境变量(每一台都要)

vi ~/.bash_profile

#hadoop
export HADOOP_HOME=/training/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 环境变量生效

source ~/.bash_profile

2.4修改hadoo-env.sh

进入hadoop目录的etc/hadoop目录,如:/training/hadoop-2.7.3/etc/hadoop,执行:

vi hadoo-env.sh

添加内容:

export JAVA_HOME=/training/jdk1.8.0_171

2.5修改core-site.xml

进入hadoop目录的etc/hadoop目录,如:/training/hadoop-2.7.3/etc/hadoop,执行:

vi core-site.xml

添加内容:

<configuration>

<property>
     <name>fs.defaultFS</name>
     <value>hdfs://HAhadoop01</value>
 </property>
 <property>
     <name>hadoop.tmp.dir</name>
     <value>/training/hadoop-3.1.3/tmp</value>
 </property>
<property>
     <name>ha.zookeeper.quorum</name>
     <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>

</configuration>

2.6修改hdfs-site.xml

进入hadoop目录的etc/hadoop目录,如:/training/hadoop-2.7.3/etc/hadoop,执行:

vi hdfs-site.xml

添加内容:

<configuration>
    <property>
        <name>dfs.nameservices</name>
        <value>HAhadoop01</value>
    </property>

    <property>
        <name>dfs.ha.namenodes.HAhadoop01</name>
        <value>HAhadoop02,HAhadoop03</value>
    </property>

    <property>
        <name>dfs.namenode.rpc-address.HAhadoop01.HAhadoop02</name>
        <value>hadoop01:9000</value>
    </property>

    <property>
        <name>dfs.namenode.http-address.HAhadoop01.HAhadoop02</name>
        <value>hadoop01:9870</value>
    </property>

    <property>
        <name>dfs.namenode.rpc-address.HAhadoop01.HAhadoop03</name>
        <value>hadoop02:9000</value>
    </property>

    <property>
        <name>dfs.namenode.http-address.HAhadoop01.HAhadoop03</name>
        <value>hadoop02:9870</value>
    </property>

    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://hadoop01:8485;hadoop02:8485;/HAhadoop01</value>
    </property>

    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/training/hadoop-3.1.3/journal</value>
    </property>


    <property>
        <name>dfs.ha.automatic-failover.enabled.HAhadoop01</name>
        <value>true</value>
    </property>

    <property>
        <name>dfs.client.failover.proxy.provider.HAhadoop01</name>
 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>

    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>
            sshfence
            shell(/bin/true)
        </value>
    </property>

    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
    </property>

    <property>
        <name>dfs.ha.fencing.ssh.connect-timeout</name>
        <value>30000</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/training/hadoop-3.1.3/data</value>
    </property>
    <property>
        <name>dfs.datanode.name.dir</name>
        <value>/training/hadoop-3.1.3/name</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

进入hadoop目录,用mkdir创建tmp,journal,logs

2.7修改mapred-site.xml

进入hadoop目录的etc/hadoop目录,如:/training/hadoop-2.7.3/etc/hadoop,执行:

vi mapred-site.xml

添加内容:

<configuration>

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

</configuration>

2.8修改yarn-site.xml

进入hadoop目录的etc/hadoop目录,如:/training/hadoop-2.7.3/etc/hadoop,执行:

vi yarn-site.xml

添加内容:

<configuration>

    <property>
       <name>yarn.resourcemanager.ha.enabled</name>
       <value>true</value>
    </property>

    <property>
       <name>yarn.resourcemanager.cluster-id</name>
       <value>yarn</value>
    </property>

    <property>
       <name>yarn.resourcemanager.ha.rm-ids</name>
       <value>rm1,rm2</value>
    </property>

    <property>
       <name>yarn.resourcemanager.hostname.rm1</name>
       <value>hadoop01</value>
    </property>

    <property>
       <name>yarn.resourcemanager.hostname.rm2</name>
       <value>hadoop02</value>
    </property>

    <property>
       <name>yarn.resourcemanager.zk-address</name>
       <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>

    <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
    </property>
</configuration>

2.9修改workers

进入hadoop目录的etc/hadoop目录,如:/training/hadoop-2.7.3/etc/hadoop,执行:

vi workers

添加内容:

hadoop02
hadoop03

2.10修改:yarn-env.sh

 添加

export JAVA_HOME=/training/jdk1.8.0_171

2.11拷贝到其他节点

2.11.1:scp

scp -r hadoop-2.7.3/ root@hadoop02:/training/
scp -r hadoop-2.7.3/ root@hadoop03:/training/

2.11.2:rsync

xsync /training/hadoop-3.1.3

xsync分发脚本参考:

jps、kafka、zookeeper群起脚本和rsync文件分发脚本(超详细)_一个人的牛牛的博客-CSDN博客 

三、验证

3.1启动zookeeper集群(每一台都要)

进入zookeeper的bin目录下执行:

zkServer.sh start

jps查看

jps、kafka、zookeeper群起脚本和rsync文件分发脚本(超详细)_一个人的牛牛的博客-CSDN博客

3.2启动

#在所有节点启动journalnode(一次,不可多次执行)
hadoop-daemon.sh start journalnode


#格式化HDFS(在hadoop01上执行)(一次,不可多次执行)
hdfs namenode -format

#将hadoop-3.1.3/tmp拷贝到hadoop02的/root/training/hadoop-3.1.3/tmp下
scp -r /training/hadoop-3.1.3/tmp/ root@hadoop02:/training/hadoop-3.1.3/

#格式化zookeeper(一次,不可多次执行)
hdfs zkfc -formatZK
会有日志Successfully created /hadoop-ha/HAhadoop01 in ZK.

#在所有节点停止journalnode(一次,不可多次执行)
hadoop-daemon.sh stop journalnode


#hadoop01和hadoop02上启动zkfc
hadoop-daemon.sh start zkfc

#在hadoop01上启动Hadoop集群
start-all.sh

3.3jps查看进程

3.4浏览器验证9870

浏览器输入:hadoop01:9870

 

没有做ip地址映射的输入ip+9870如:192.168.12.137:9870

3.5 浏览器验证8088

 

举报

相关推荐

0 条评论