阿里云主机hadoop2.6.0-cdh5.15.1-HA环境搭建

1.版本

组件 版本 备注
centos centos7.2
JRE jdk-8u45-linux-x64.gz -
hadoop hadoop-2.6.0-cdh5.15.1.tar.gz 自己通过源码编译的,具有压缩工具
zookeeper zookeeper-3.4.6.tar.gz 热切,yarn存储数据使用的协调服务

2.阿里云环境搭建

具体步骤在这不详述,最后搭建的结果如下图:
在这里插入图片描述

3.主机规划

内网ip host 安装软件 进程
172.24.51.192 hadoop001 hadoop zookeeper NameNode、DataNode、DFSZKFailoverController、QuorumPeerMain、JournalNode、ResourceManager和NodeManager
172.24.51.191 hadoop002 hadoop zookeeper NameNode、DataNode、DFSZKFailoverController、QuorumPeerMain、JournalNode、ResourceManager和NodeManager
172.24.51.190 hadoop003 hadoop zookeeper QuorumPeerMain、JournalNode、DataNode和NodeManager
4.HA搭建
4.1环境准备
先在三台机器上分别创建一个hadoop用户,并切换至hadoop用户
[root@hadoop001 ~]# useradd hadoop
[root@hadoop002 ~]# useradd hadoop
[root@hadoop003 ~]# useradd hadoop
创建我们的目录结构
[hadoop@hadoop001 ~]# mkdir app software source data lib script tmp maven_repos
[hadoop@hadoop003 ~]# mkdir app software source data lib script tmp maven_repos
[hadoop@hadoop002 ~]# mkdir app software source data lib script tmp maven_repos
在三台机器上上传hadoop,zookeeper,jdk到software目录 下

如果不是阿里主机,而是自己的虚拟机还需要提前做一下操作:

1)关闭三台机器的防火墙
执行命令: systemctl  stop firewalld
					systemctl  enable firewalld
2)设置主机名:
三台主机分别执行命令:
hostnamectl set-hostname hadoop001
hostnamectl set-hostname hadoop002
hostnamectl set-hostname hadoop003
3)关闭掉selinux
4.2ip和hostname绑定(3台)
[root@hadoop001 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.24.51.192  hadoop001
172.24.51.191  hadoop002
172.24.51.190  hadoop003

其它两台同样是这样的配置
4.3配置3台主机ssh互信
  • 先每台都执行ssh-keygen 命令,然后按3下回车。此时会在家目录生成一个隐藏的目录.ssh,该目录包含了他的公钥和私钥
  • 然后每台机器在分别执行
    ssh-copy-id -i id_rsa.pub hadoop001(这里都会叫输入hadoop的密码)

将自己的公钥全部给hadoop001的主机

  • 然后hadoop001主机在把他的.ssh目录下的authorized_keys文件分别考到hadoop002和hadoop003的.ssh目录下
    scp authorized_keys hadoop002:/home/hadoop/.ssh/authorized_keys
    scp authorized_keys hadoop003:/home/hadoop/.ssh/authorized_keys

  • 最后测试是否三台主机ssh都已互信

    [hadoop@hadoop001 ~]$ ssh hadoop001 date
    Thu Aug 22 23:25:31 CST 2019
    [hadoop@hadoop001 ~]$ ssh hadoop002 date
    Thu Aug 22 23:25:34 CST 2019
    [hadoop@hadoop001 ~]$ ssh hadoop003 date
    Thu Aug 22 23:25:38 CST 2019
    三台主机都执行该操作,这样说明配置互信成功

    注意authorized_keys必须是600权限

4.4 jdk环境搭建(三台)
因为jdk是所有用户都需要使用的,所有使用root用户创建jdk目录,对于cdh来说,jdk的目录是死的,必须在这个位置
[root@hadoop001 ~]# mkdir /usr/java
[root@hadoop002 ~]# mkdir /usr/java
[root@hadoop003 ~]# mkdir /usr/java
然后使用root用户解压jdk到/usr/java目录下,然后配置环境变量
[root@hadoop001 ~]# tar -zxcf /home/hadoop/software/jdk-8u45-linux-x64.gz -C /usr/java/
[root@hadoop002 ~]# tar -zxcf /home/hadoop/software/jdk-8u45-linux-x64.gz -C /usr/java/
[root@hadoop003 ~]# tar -zxcf /home/hadoop/software/jdk-8u45-linux-x64.gz -C /usr/java/
[root@hadoop001 jdk1.8.0_45]# vi /etc/profile
....在最后添加....
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH
source  /etc/profile  使其配置文件生效
其它两台同理,然后一定要修改jdk的权限为root用户root组,还有该目录最好给777的权限
4.5 安装zookeeper(三台)
 tar -zxvf  software/zookeeper-3.4.6.tar.gz  -C app/
 ln -s  zookeeper-3.4.6  zookeeper  (做一个软连接,这里最好都用绝对路径做软连接)
然后进入conf目录修改zookeeper配置文件
[hadoop@hadoop001 conf]$ cp zoo_sample.cfg zoo.cfg
修改zoo.cfg 文件中的dataDir目录位置,增加server
dataDir=/home/hadoop/data/zookeeper
server.1=hadoop001:2888:3888
server.2=hadoop002:2888:3888
server.3=hadoop003:2888:3888
然后手动创建dataDir的目录
[hadoop@hadoop001 conf]$ mkdir ~/data/zookeeper
以上三台都要做上面所有操作
然后在刚创建的zookeeper目录下创建myid文件,并对应写入1,2,3
[hadoop@hadoop001 zookeeper]$ echo 1 > ~/data/zookeeper/myid
[hadoop@hadoop002 zookeeper]$ echo 2 > ~/data/zookeeper/myid
[hadoop@hadoop003 zookeeper]$ echo 3 > ~/data/zookeeper/myid
切记:执行 echo 1 > ~/data/zookeeper/myid时,>前后必须都要有空格,否则无法将1写入到myid文件中。
然后在hadoop个人环境变量文件.bash_profile中配置zookeeper的环境变量
[hadoop@hadoop001 ~]$ vi .bash_profile 
......
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
然后source一下.bash_profile文件生效,使用which命令检查是否生效
[hadoop@hadoop001 ~]$ which zkServer.sh
~/app/zookeeper/bin/zkServer.sh
其它两台同理
4.6 安装hadoop(三台)
1.在hadoop001上,先将hadoop软件包,解压到app目录下,然后再做一个软连接,然后再配置环境变量
 tar -zxvf  software/hadoop-2.6.0-cdh5.15.1.tar.gz  -C app/
 ln -s  /home/hadoop/app/hadoop-2.6.0-cdh5.15.1   /home/hadoop/app/hadoop
 [hadoop@hadoop001 ~]$ vim  .bash_profile 
 添加
 export HADOOP_HOME=/home/hadoop/app/hadoop
 export  PATH=${HADOOP_HOME}/bin:$PATH
2. 配置$HADOOP_HOME/etc/hadoop/hadoop-env.sh
	修改配置文件中的下面两行
	export JAVA_HOME="/usr/java/jdk1.8.0_45/"
	export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
3. 配置$HADOOP_HOME/etc/hadoop/yarn-env.sh 
	修改 
	export YARN_LOG_DIR="/home/hadoop/logs/yarn"  //把yarn的日志全部放到/home/hadoop/logs/yarn目录下
4. 配置$HADOOP_HOME/etc/hadoop/core-site.xml   
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!--Yarn 需要使用 fs.defaultFS 指定NameNode URI -->
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值