上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】

guduadmin11天前

Hadoop高可靠集群搭建步骤(手把手教学)

【超级详细】

文章目录

  • 1 HA集群基础配置
    • 1.1 创建系统为Centos7(Linux)的虚拟机
    • 1.2 基本网络配置
    • 1.3 连接FinalShell
    • 2 NTP时间同步和免密登录
      • 2.1 NTP时间同步
      • 2.2 集群免密登录
      • 3 JDK的安装与配置
      • 4 Zookeeper的安装与配置
      • 5 高可靠的Hadoop集群的安装与配置【核心】
      • 6.功能验证
        • 注意
          • 创作不易,关注一波呗

1 HA集群基础配置

	基于VMware Workstation 17 Pro

1.1 创建系统为Centos7(Linux)的虚拟机

一、用管理员身份运行虚拟机

二、创建新的虚拟机:

选择自定义→选择硬件兼容性:Workstation 15.x→选择稍后安装→选Linux(L)(选CentOS 7 64位)→编辑虚拟机名字并选择文件位置→处理器数量和内核数量均选1→选择虚拟机内存(若运行内存是8G,则选择1G,若16G则选择2G,以此类推)→选择网络NAT模式(NAT模式就是电脑能上网虚拟机就能上网)→控制器类型选择推荐→磁盘类型也选择推荐→选择创建新虚拟磁盘→最大磁盘大小选择10G,并选择将虚拟磁盘存储为单个文件(若电脑为256或512G的就选择10G,1t的可选择20G)→在自定义硬件中可以把打印机和声卡移除

三、安装系统:

点击CD/DVD,选择使用ISO映像文件,找到已下载好的光盘iso文件CentOS-7-x86_64-Minimal-1908.iso

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第1张

图 3-1虚拟机创建

四、开启虚拟机,选择第一个安装虚拟机(即直接按回车)

五、文字选英文版→选系统选→点击Done→安装的同时可设置密码

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第2张

1.2 基本网络配置

一、修改主机名

1、配置hostname文件:

vi /etc/hostname

输入master

2、配置network文件:

vi /etc/sysconfig/network

输入NETWORKING=yes

HOSTNAME=master

(修改名字后要reboot重启虚拟机)

二、NET网络设置

首先以管理员身份进入,在页面左上角寻找“编辑”,点击进入后选择“虚拟网络编辑器”,点击“添加网络”,选择”VMnet8”,将”仅主机模式”改为“NAT模式”,

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第3张

1、子网设置:

子网IP:192.168.222.0 #子网的最后一位一定是0

子网掩码:255.255.255.0

2、DHCP设置:

起始IP地址:192.168.222.128

结束IP地址:192.168.222.254

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第4张

图 3-4 DHCP设置

3、NAT设置:

网关IP:192.168.222.2

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第5张

图 3-5 NAT设置

以上三步做完点击“应用”,再点击“确定”

三、虚拟机网络配置

1、配置ifcfg-ens33文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=dhcp   改为BOOTPROTO=static  #静态的意思
ONBOOT=no        改为ONBOOT=yes 

再添加5条记录

IPADDR=192.168.222.171 #IPADDR 互联网协议地址GATEWAY=192.168.222.2  #GATEWAY 网关
NETMASK=255.255.255.0  #NETWORK子网掩码
DNS1=192.168.222.2     #DNS1域名解析服务器1
DNS2=8.8.8.8           #DNS2 域名解析服务器2

2、网络服务重启并关闭防火墙:

service network restart

systemctl stop firewalld

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第6张

四、克隆四台虚拟机:虚拟机–管理–克隆–选完整克隆

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第7张

图 3-7虚拟机克隆界面

五、修改克隆的虚拟机IP、机器名、网络名:

vi /etc/hostname
vi /etc/sysconfig/network
vi /etc/sysconfig/network-scripts/ifcfg-ens33

1.3 连接FinalShell

打开finalshell,页面左上角有一个文件夹图标,点击之后在弹出的页面上再点击左上角的文件夹图标,然后点击新建一个连接,点击“SSH连接”(免密安全登录)

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第8张

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第9张

将ip 地址和名字做连接

vi /etc/hosts键入:

192.168.222.171 master master.root
192.168.222.172 slave1 slave1.root
192.168.222.173 slave2 slave2.root
192.168.222.174 masterback masterbak.root

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第10张

2 NTP时间同步和免密登录

2.1 NTP时间同步

安装NTP软件,并以master为时间服务器做时间同步

一、安装NTP:yum install -y ntp

二、修改ntp配置文件:

vi /etc/ntp.conf

末尾追加:server 127.127.1.0

Fudge 127.127.1.0 stratum 10

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第11张

图 3-11配置conf文件

三、重启时间服务

/bin/systemctl restart ntpd.service

可以在slave1、slave2、slave3、masterbak上去更新时间(以master为标准进行时间的校对):

ntpdate master 结果:如下图

代码如下(示例):

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第12张

2.2 集群免密登录

操作发现两个服务器之间通信(例如传数据)需要密码才可以。

当集群运行起来后,频繁交换数据,每次输入密码是不可能的。不输入密码如何保证安全呢?那就是进行加密

明文—加密—密文—解密—明文

具体实现步骤如下:

一、四台机器上生成公钥-密钥

ssh-keygen -t dsa(以master为例)

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-13 master公钥密钥包,第13张

二、传递公钥(以slave1为例)

1.进入slave1中的 .ssh 文件夹:cd/root/.ssh

2.将slave1的公钥传递到master中

scp id_dsa.pub root@master:/root/.ssh/s1.pub

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第14张

三、slave2,slave3和masterbak操作同上

四、在master中将五个公钥合并成一个公钥包

1.先切换到/root/.ssh目录下面:

cd /root/.ssh

2.将五个公钥合并成一个公钥包:

cat id_dsa.pub s1.pub s2.pub s3.pub mb.pub >> authorized_keys

五、将master中合成的公钥包分发至集群内其他机器:

scp authorized_keys root@slave1:/root/.ssh
scp authorized_keys root@slave2:/root/.ssh
scp authorized_keys root@slave3:/root/.ssh
scp authorized_keys root@masterbak:/root/.ssh

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第15张

六、验证

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第16张


3 JDK的安装与配置

一、创建/opt/soft 文件夹:

mkdir -p /opt/soft

二、切换到这个目录下面:

cd /opt/soft

三、点击页面上的上传按钮,将JDK文件(jdk-8u171-linux-x64.tar.gz)上传到该目录下面

四、创建一个目录用来安装jdk

mkdir -p /usr/java

五、将JDK安装到特定的目录下:

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java

六、修改环境变量

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

七、让环境变量生效:source /etc/profile

八、测试JDk安装配置成功:

1、java -version

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第17张

九、分发至集群内其他机器

4 Zookeeper的安装与配置

一、切换到这个目录下面(master机器中):

cd /opt/soft

二、点击上传按钮,将zookeeper文件(zookeeper-3.4.10.tar.gz)上传到soft文件夹内部

三、创建一个目录用来安装zookeeper:

mkdir -p /usr/zookeeper

四、安装zookeeper

tar  -zxvf   zookeeper-3.4.10.tar.gz  -C  /usr/zookeeper

五、配置zookeeper

(1)配置zoo.cfg

/usr/zookeeper/zookeeper-3.4.10/conf下的zoo_sample.cfg 复制一份为zoo.cfg

进入该目录下,cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

编辑添加:

dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog server.1=192.168.222.171:2888:3888
server.2=192.168.222.172:2888:3888
server.3=192.168.222.173:2888:3888
server.4=192.168.222.174:2888:3888

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-18 zoo.cfg文件配置,第18张

(2)创建zoo.cfg里配置的目录:

mkdir zkdata/mkdir zkdatalog

在 zkdata中:vi myid 并编辑内容为1

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-19 Zookeeper相关目录配置,第19张

六、对另外四台机器进行分发

scp -r /usr/zookeeper root@slave1:/usr
scp -r /usr/zookeeper root@slave2:/usr
scp -r /usr/zookeeper root@slave3:/usr
scp -r /usr/zookeeper root@masterbak:/usr

七、修改slave1,slave2,slave3和masterbak的myid,分别为 2,3,4和5(注意:这里的数字2、3、4、5要与zoo.cfg中的server.数字 一一对应)

八、配置环境变量:

vi /etc/profile

添加:

export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10/
export PATH=$PATH:$ZOOKEEPER_HOME

使环境变量生效:source /etc/profile

九、分发至集群内其他机器

十、启动四台虚拟机的zookeeper服务:

bin/zkServer.sh start

查看四台虚拟机的zookeeper状态(以master为例):

bin/zkServer.sh status

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第20张

5 高可靠的Hadoop集群的安装与配置【核心】

一、在master上创建:

mkdir -p /usr/hadoop

二、解压安装:

cd /opt/soft上传已下好的hadoop-2.7.3

tar -zxvf hadoop-2.7.3.tar.gz -C /usr/hadoop

三、在五台机器上配置环境变量:

vi /etc/profile

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

让环境变量生效:source /etc/profile

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-21 环境配置,第21张

四、在master中cd /usr/hadoop/hadoop-2.7.3/etc/hadoop进入到hadoop配置文件

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-22 Hadoop配置文件,第22张

1、vi hadoop-env.sh修改java的安装目录:

export JAVA_HOME=/usr/java/jdk1.8.0_171

2、vi yarn-env.sh修改java的安装目录:

export JAVA_HOME=/usr/java/jdk1.8.0_171

3、配置vi core-site.xml,放在,中间)



    
        fs.defaultFS
        hdfs://cluster
    
    
            
    ha.zookeeper.quorum    192.168.222.171:2181,192.168.222.172:2181,192.168.222.173:2181,192.168.222.174:2181,192.168.222.175:2181
    
    
        ha.zookeeper.session-timeout.ms
        60000
    
 
    
  ha.failover-controller.cli-check.rpc-timeout.ms
        60000
    
    
    
        ipc.client.connect.timeout
        20000
    
    
    
        hadoop.tmp.dir
        file:/usr/hadoop/tmp
    

4、配置vi mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

vi mapred-site.xml



     mapreduce.framework.name
        yarn


5、配置vi hdfs-site.xml

vi hdfs-site.xml


   
    
        dfs.nameservices
        cluster
    
    
    
        dfs.ha.namenodes.cluster
        nn1,nn2
    
    
    
        dfs.namenode.rpc-address.cluster.nn1
        192.168.222.171:8020
    

        dfs.namenode.rpc-address.cluster.nn2
        192.168.222.175:8020
    
    
    
        dfs.namenode.http-address.cluster.nn1
        192.168.222.171:50070
    
    
        dfs.namenode.http-address.cluster.nn2
        192.168.222.175:50070
    
    
        dfs.namenode.servicerpc-address.cluster.nn1
        192.168.222.171:53310


    
        dfs.namenode.shared.edits.dir        qjournal://192.168.222.172:8485;192.168.222.173:8485;192.168.222.174:8485/cluster
    
    
    
        dfs.journalnode.edits.dir
        /usr/hadoop/hdfs/journal/data
    

    
        dfs.ha.automatic-failover.enabled
        true
    
    
    
dfs.client.failover.proxy.provider.cluster        org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
        
    
    
    
        dfs.ha.fencing.methods
        
            sshfence
            shell(/bin/true)
        
    
    
        dfs.ha.fencing.ssh.connect-timeout
        30000
    

        dfs.webhdfs.enabled
        true
    
    
        dfs.permissions.enable
        false
    
 
        dfs.image.transfer.bandwidthPerSec
        1048576
    
    
        dfs.replication
        3
    
    
        dfs.namenode.name.dir
        file:/usr/hadoop/hdfs/name
    
    
        dfs.datanode.name.dir
        file:/usr/hadoop/hdfs/data
    

        dfs.namenode.checkpoint.dir
        file:/usr/hadoop/hdfs/namesecondary
    

6、配置 vi yarn-site.xml



        yarn.nodemanager.aux-services
        mapreduce_shuffle


        yarn.resourcemanager.hostname
        192.168.222.171


7、配置slaves

vi slaves

删去localhost

输入

192.168.222.172

192.168.222.173

192.168.222.174

五、将配置好的hadoop分发到其他服务器上:

scp -r /usr/hadoop root@slave1:/usr
scp -r /usr/hadoop root@slave2:/usr
scp -r /usr/hadoop root@slave3:/usr
scp -r /usr/hadoop root@masterbak:/usr

六、在四台机器上启动zookeeper:

cd $ZOOKEEPER_HOME
bin/zkServer.sh start

七、启动journalNode集群(在slave1,slave2,slave3)

$HADOOP_HOME/sbin/hadoop-daemons.sh start journalnode

图 3-23 启动journalNode集群

八、格式化HDFS(namenode)第一次要格式化

(在master,masterbak中任意一台,我选择master)

hdfs namenode –format

九、在master上格式化zkfc,使zookeeper中生成HA节点:

bin/hdfs zkfc -formatZK

在master上格式化hdfs

格式成功后,查看zookeeper中可以看到

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

[cluster]

十、启动zkfc来监控NN状态(在master,masterbak)

sbin/hadoop-daemon.sh start zkfc

十一、启动HDFS(namenode)(在master即可)

sbin/start-dfs.sh

十二、把NameNode的数据同步到masterbak上(在masterbak上执行)

hdfs namenode –bootstrapStandby

十三、启动masterbak上的namenode作为standby

sbin/hadoop-daemon.sh start namenode

十四、启动YARN

在master上执行如下命令

sbin/start-yarn.sh 

启动YARN(MR)(在192.168.222.171即可)

图 3-24启动Hadoop集群

在五台机器上jps查看进程,如下图。

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-28 master-jps,第23张

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-29 slave1-jps,第24张

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-30 slave2-jps,第25张

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-31 slave3-jps,第26张

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 3-31 masterbak-jps,第27张

6.功能验证

在浏览器上:http://192.168.222.171:50070。

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第28张

在浏览器上:http://192.168.222.175:50070。

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,在这里插入图片描述,第29张

此时master节点处于standby状态,masterback节点处于active状态,当主节点namenode失效时,备用节点会自动替代上去,因此我们模拟主节点失灵,在masterbak上关闭namenode再去查看master的namenode状态。

执行命令: sbin/hadoop-daemon.sh stop namenode

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图 4-5 停止 master的namenode,第30张

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图4-6查看停止后的master的namenode状态,第31张

因为masterbak关闭了namenode,所以会拒绝连接而无法查看状态。

Hadoop高可靠集群搭建步骤(手把手教学)【超级详细】,图4-7查看停止后的masterbak的页面,第32张

注意

保证master和masterbak均有name文件,没有的话通过scp传输过去

创作不易,关注一波呗

网友评论

搜索
最新文章
热门文章
热门标签