5个节点hadoop安装(zookeeper)

转http://www.cnblogs.com/zlslch/p/5854669.html

步骤流程(本博文):

  1、 搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 分配1G及以上的状况)

  2 、搭建一个5节点的hadoop分布式小集群--预备工作(djt11、djt12、djt13、djt14、djt15的网络连接、ip地址静态、拍照)

  3、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 远程)

  4、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 主机规划、软件规划、目录规划)

       补充: 若是用户规划和目录规划,执行反了,则出现什么结果呢?请看---强烈建议不要这样干

  5、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的环境检查 )

  6 、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的SSH免密码通信配置)

  7 、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的jdk安装)

  8 、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的djt11脚本工具的使用)

  9 、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的Zookeeper安装)

  10、 搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的hadoop集群环境搭建)继续

1 、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 分配1G及以上的状况)

对于这步,基础得看,

3

主机名称表(拷贝到所有的机器中)以及修改主机名

 [hadoop@centos65-template ~]$ sudo vi /etc/hosts

 [hadoop@centos65-template ~]$ sudo vi /etc/sysconfig/network

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.11 djt11
192.168.0.12 djt12
192.168.0.13 djt13
192.168.0.14 djt14
192.168.0.15 djt15

 所以,记住,先是用户规划,再目录规划!!!

用户规划

      每个节点的hadoop用户组和用户需要大家自己创建,单节点已经讲过,这里就不耽误大家时间。

依次,对djt11、djt12、djt13、djt14、 djt15进行用户规划,hadoop用户组,hadoop用户

 目录规划

所有软件目录: /home/hadoop/app

所有数据和日志目录:/home/hadoop/data

 4、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 主机规划、软件规划、目录规划)

若是条件有限。则就只搭建3个吧。最开始啊,namenode是存在单点故障问题。从hadoop2.0之后,就设置了热备,防止宕机。

  这里我们使用5 台主机来配置Hadoop集群。

  Journalnode和ZooKeeper保持奇数个,这点大家要有个概念,最少不少于 3 个节点。

软件规划

这里啊,我们实现namenode热备和resourcemanger热备。在hadoop2.0之前啊,是没有实现这个功能。hadoop2.2.0只实现namenode热备。在hadoop2.4.0实现了namenode热备和resourcemanger热备,但是不是很稳定,所以,我们这里啊,就使用hadoop2.6.0。

用户规划

依次,对djt11、djt12、djt13、djt14、 djt15进行用户规划,hadoop用户组,hadoop用户

5、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的环境检查 )

集群安装前的环境检查

  在集群安装之前,我们需要一个对其环境的一个检查。

时钟同步

  所有节点的系统时间要与当前时间保持一致,查看当前系统时间。

  如果系统时间与当前时间不一致,进行以下操作。

设置时间格式

[hadoop@djt12 ~]$ date
[hadoop@djt12 ~]$ cd /usr/share/zoneinfo/Asia
[hadoop@djt12 Asia]$ sudo cp Shanghai /etc/localtime 

安装ntp

[hadoop@djt12 Asia]$ sudo yum install -y ntp

[hadoop@djt12 Asia]$ sudo ntpdate pool.ntp.org

禁用防火墙

  所有节点的防火墙都要关闭。

  依次,对djt11、djt12、djt13、djt14、 djt15进行禁用防火墙

创建脚本文件

djt11,all,namenode,zookeeper,resourcemanager,
djt12,all,slave,namenode,zookeeper,resourcemanager,
djt13,all,slave,datanode,zookeeper,
djt14,all,slave,datanode,zookeeper,
djt15,all,slave,datanode,zookeeper,

deploy.sh脚本

#!/bin/bash
if [ $# -lt 3 ]
then
        echo "Usage: ./deploy.sh srcFile(or dir) descfile(or dest) MacheineTag"
        echo "Usage: ./deploy.sh srcFile(or dir) descfile(or dest) MacheineTag confFile"
        exit
fi

src=$1
dest=$2
echo $dest
tag=$3
if [ 'a'$4'a' == 'aa' ]
then
        confFile=/home/hadoop/tools/deploy.conf
else
        confFile=$4
fi

if [ -f $confFile ]
then
        if [ -f $src ]
        then
                for server in `cat $confFile | grep -v '^#' | grep ','$tag',' | awk -F ',' '{print $1}'`
                do
                        scp -r $src "hadoop"@$server":"${dest}
                done
        else
                echo 'Error: No source file exist'
        fi
else
        echo "error: please assign config file or run deploy.sh"

fi

runCommandLine

#!/bin/bash
if [ $# -lt 2 ]
then
        echo "Usage:./runRemoteCmd.sh Command MachineTag"
        echo "Usage:./runRemoteCmd.sh Command MachineTag confFile"
        exit
fi
cmd=$1
tag=$2
if [ 'a'$3'a' == 'aa' ]
then
        confFile=/home/hadoop/tools/deploy.conf
else
        confFile=$3
fi

if [ -f $confFile ]
then
        for server in `cat $confFile| grep -v '^#'|grep ','$tag','|awk -F ',' '{print $1}'`
        do
                echo "**********$server*******"
                ssh $server "source /etc/profile; $cmd"
        done
fi

安装文件上传下载lrzsz包

[hadoop@djt11 src]$ sudo yum install -y lrzsz

上传jdk-8u121-linux-x64.tar.gz到所有的服务器中

[hadoop@djt11 tools]$ ./deploy.sh deploy.conf /home/hadoop/app/src/ all

[hadoop@djt11 tools]$ ./runRemoteCmd.sh 'mv /home/hadoop/app/src/jdk1.8.0_121/ /home/hadoop/app/java8' all

[hadoop@djt11 tools]$ ./runRemoteCmd.sh "echo JAVA_HOME=/home/hadoop/app/java8 >> ~/.bash_profile; echo 'PATH=$JAVA_HOME/bin:$PATH' >> ~/.bash_profile;echo 'CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bash_profile;echo export CLASSPATH JAVA_HOME PATH >> ~/.bash_profile" all

[hadoop@djt11 tools]$ ./runRemoteCmd.sh "source ~/.bash_profile" all

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

9 、搭建一个5节点的hadoop分布式小集群--预备工作(对djt11、djt12、djt13、djt14、djt15 集群安装前的Zookeeper安装)

Zookeeper安装

1、将本地下载好的zookeeper-3.4.6.tar.gz安装包,上传至djt11节点下的/home/hadoop/app目录下。

[hadoop@djt11 tools]$ ./deploy.sh ~/app/src/hadoop-2.6.5.tar.gz  ~/app/src/hadoop-2.6.5.tar.gz slave
[hadoop@djt11 tools]$ ./runRemoteCmd.sh 'cd ~/app/src;tar -zxvf hadoop-2.6.5.tar.gz' all
[hadoop@djt11 tools]$ ./runRemoteCmd.sh 'cd ~/app/src;mv hadoop-2.6.5 ../hadoop' all
[hadoop@djt11 tools]$ ./deploy.sh ~/.bash_profile ~/.bash_profile slave
[hadoop@djt11 tools]$ ./runRemoteCmd.sh "source ~/.bash_profile" all


 

原文地址:https://www.cnblogs.com/heavenhome/p/6772948.html