Hadoop HA集群部署

1、环境要求

这里使用的hadoop包是源码编译过后的,可以支持压缩。若小伙伴的没有经过编译,在修改配置文件的时候要注意说明。

组件 版本 说明
Centos7.2 2核4G 3台虚拟机 自己先配置好3台虚拟机,互相ping通
Hadoop Hadoop-2.6.0-cdh5.7.0.tar.gz http://archive.cloudera.com/cdh5/cdh/5/ ,我使用的是源码编译过后的hadoop包
jdk jdk-8u45-linux-x64.gz https://pan.baidu.com/s/1NfOv2ODV9ktKXM8zfaofzQ 提取码:mgwr
Zookeeper zookeeper-3.4.6.tar.gz https://pan.baidu.com/s/1NfOv2ODV9ktKXM8zfaofzQ 提取码:mgwr

2、角色分配

主机 NN DN RM NM JN ZK ZKFC
vm01
vm02
vm03

3、部署前准备

注意:3.1-3.7小节,3台机器都要操作

小技巧:CRT发送一条命令,同时操作多台机器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1 添加用户和相关目录

[root@vm01 ~]# useradd hadoop
[root@vm01 ~]# su - hadoop
[hadoop@vm01 ~]$ mkdir app soft source lib data maven_repo shell mysql

3.2 安装lrzsz并上传软件

#先安装上传下载的工具,rz上传,sz filename下载,下载的路径查看:CRT会话选项-x/y/Zmodem
[root@vm01 ~]# yum install -y lrzsz
[root@vm01 ~]# su - hadoop
[hadoop@vm01 ~]#$ cd soft
[hadoop@vm01 soft]$ rz  
[hadoop@vm01 soft]$ ll
-rw-r--r--. 1 hadoop hadoop  42610549 Jul  9 20:33 hadoop-2.6.0-cdh5.7.0.tar.gz
-rw-r--r--. 1 hadoop hadoop 173271626 Jul 10 04:41 jdk-8u45-linux-x64.gz
-rw-r--r--. 1 hadoop hadoop  17699306 Jul 10 04:40 zookeeper-3.4.6.tar.gz

3.3 关闭防火墙

#清空防火墙规则
[root@vm01 ~]# iptables -F
[root@vm01 ~]# iptables -L
[root@vm01 ~]# systemctl stop firewalld
[root@vm01 ~]# systemctl disable firewalld

#永久关闭防火墙
[root@vm01 ~]# service iptables stop
[root@vm01 ~]# chkconfig iptables off
[root@vm01 ~]# service iptables status

3.4 配置hosts文件

[root@vm01 ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.130         vm01
192.168.137.131         vm02
192.168.137.132         vm03

3.5 配置SSH免密通信

[root@vm01 ~]# su - hadoop
[hadoop@vm01 ~]$ rm -rf ./.ssh
[hadoop@vm01 ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  #生成秘钥
[hadoop@vm01 ~]$ cd .ssh
[hadoop@vm01 ~]$ ll
-rw-------. 1 hadoop hadoop  668 Jul 11 00:53 id_dsa
-rw-r--r--. 1 hadoop hadoop  601 Jul 11 00:53 id_dsa.pub
-rw-r--r--. 1 hadoop hadoop  546 Jul 11 01:01 known_hosts
#将vm02、vm03的秘钥复制到vm01目录
[hadoop@vm02 .ssh]$ scp -r  ~/.ssh/id_dsa.pub root@vm01:/home/hadoop/.ssh/id_dsa.pub2
[hadoop@vm03 .ssh]$ scp -r  ~/.ssh/id_dsa.pub root@vm01:/home/hadoop/.ssh/id_dsa.pub3

[hadoop@vm01 .ssh]$ cat id_dsa.pub >authorized_keys
[hadoop@vm01 .ssh]$ cat id_dsa.pub2 >>authorized_keys
[hadoop@vm01 .ssh]$ cat id_dsa.pub3 >>authorized_keys
[hadoop@vm01 .ssh]$ chmod 600 authorized_keys

[hadoop@vm01 .ssh]$ scp -r  authorized_keys root@vm02:/home/hadoop/.ssh/
[hadoop@vm01 .ssh]$ scp -r  authorized_keys root@vm03:/home/hadoop/.ssh/
//注意:scp文件到vm02,vm03,authorized_keys文件的归属用户和组都是root,所以要用root用户把该文件归属改成hadoop用户和组
[root@vm02 .ssh]$chown hadoop:hadoop authorized_keys
[root@vm03 .ssh]$chown hadoop:hadoop authorized_keys
#第一次ssh远程执行需要输入密码验证,之后就不需要了
#ssh 远程机器执行date命令,不需要输入密码,则ssh免密码配置成功
[hadoop@vm01 ~]$ ssh vm01 date
[hadoop@vm01 ~]$ ssh vm02 date
[hadoop@vm01 ~]$ ssh vm03 date

[hadoop@vm02 ~]$ ssh vm01 date
[hadoop@vm02 ~]$ ssh vm02 date
[hadoop@vm02 ~]$ ssh vm03 date

[hadoop@vm03 ~]$ ssh vm01 date
[hadoop@vm03 ~]$ ssh vm02 date
[hadoop@vm03 ~]$ ssh vm03 date

3.6 安装jdk

[root@vm01 ~]# mkdir /usr/java/
[root@vm01 ~]# tar -zxvf /home/hadoop/soft/jdk-8u45-linux-x64.gz -C /usr/java/
[root@vm01 ~]# chown -R root:root /usr/java

#配置环境变量,行尾追加
[root@vm01 ~]# vim /etc/profile        
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH

[root@vm01 ~]# source /etc/profile 	
[root@vm01 ~]# java -version
java version "1.8.0_45"

3.7 配置时钟同步

如果你的是阿里云主机,这一步略过

[root@vm01 ~]# yum -y install ntp
[root@vm01 ~]# chkconfig ntpd on && service ntpd start
[root@vm01 ~]# date

若date发现时间不一致,要等待片刻,可能虚拟机在跟互联网时间同步
在这里插入图片描述

4、部署ZooKeeper

4.1 解压、配置zk环境变量

[root@vm01 ~]$ su -hadoop
[hadoop@vm01 ~]$ tar -zxvf ~/soft/zookeeper-3.4.6.tar.gz -C ~/app/
#软连接,注意要写绝对路径 【ln -s 源文件 目标文件】
[hadoop@vm01 ~]$ ln -s ~/app/zookeeper-3.4.6 ~/app/zookeeper 
#配置zk环境变量
[hadoop@vm01 ~]$ vim ~/.bash_profile 
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

[hadoop@vm01 ~]$ source ~/.bash_profile
[hadoop@vm01 ~]$ which zkServer.sh
~/app/zookeeper/bin/zkServer.sh

4.2 修改zk配置文件

[hadoop@vm01 ~]$ mkdir ~/data/zkdata/data  #3台机器都要做
[hadoop@vm01 ~]$ cd ~/app/zookeeper/conf/
[hadoop@vm01 conf]$ cp zoo_sample.cfg  zoo.cfg

#修改配置文件
[hadoop@vm01 conf]$ vim zoo.cfg 
dataDir=/home/hadoop/data/zkdata/data  #修改路径   
server.1=vm01:2888:3888 #行尾追加
server.2=vm02:2888:3888
server.3=vm03:2888:3888

#在数据目录创建myid文件,并将标识1传入
[hadoop@vm01 conf]$ cd ~/data/zkdata/data/
[hadoop@vm01 data]$ echo 1 >myid

#将配置文件复制一份到vm02、vm03
[hadoop@vm01 data]$ scp  ~/app/zookeeper/conf/zoo.cfg vm02:~/app/zookeeper/conf/
[hadoop@vm01 data]$ scp  ~/app/zookeeper/conf/zoo.cfg vm03:~/app/zookeeper/conf/
[hadoop@vm01 data]$ scp  ~/data/zkdata/data/myid vm02:~/data/zkdata/data/
[hadoop@vm01 data]$ scp  ~/data/zkdata/data/myid vm03:~/data/zkdata/data/

#更改vm02、vm03的myid文件的内容标识
[hadoop@vm02 ~]$ cat ~/data/zkdata/data/myid
2
[hadoop@vm03 ~]$ cat ~/data/zkdata/data/myid
3

4.3 启动zk集群

#三台机器都要启动
[hadoop@vm01 data]$ cd ~/app/zookeeper/bin
[hadoop@vm01 bin]$ ./zkServer.sh start
#第一次启动的时候,可能会提示not running,是因为zk可能在选举,等待片刻查看即可
[hadoop@vm01 bin]$  ./zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Mode: follower  #选举之后,这台是follower,还有一台leader

#QuorumPeerMain是zk的进程
[hadoop@vm01 bin]$ jps
44867 QuorumPeerMain
46985 Jps

5、部署hadoop集群

5.1 解压到app目录

三台机器都要操作

#我这里使用的是编译后的cdh-hadoop包,关注我博客:hadoop源码编译
[hadoop@vm01 target]$ pwd
/home/hadoop/source/hadoop-2.6.0-cdh5.7.0/hadoop-dist/target
[hadoop@vm01 target]$ tar -zxvf  hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/

[hadoop@vm01 app]$ cd ~/app/
[hadoop@vm01 app]$ ln -s ~/app/hadoop-2.6.0-cdh5.7.0  ~/app/hadoop

5.2 设置hadoop环境变量

三台机器都要做

[hadoop@vm01 app]$ vim ~/.bash_profile
export HADOOP_HOME=/home/hadoop/app/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

[hadoop@vm01 app]$ source ~/.bash_profile

5.3 创建数据存放目录

三台机器都要做

[hadoop@vm01 ~]$ mkdir -p ~/app/hadoop-2.6.0-cdh5.7.0/tmp
[hadoop@vm01 ~]$ mkdir -p  /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/name 
[hadoop@vm01 ~]$ mkdir -p /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/data
[hadoop@vm01 ~]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值