Hadoop完全分布式集群搭建(三个节点)

Hadoop环境搭建:

版本介绍:

Jdk1.8.144   VMware 12.x  Centos6.5  Hadoop 2.7.1

准备工作:

1.jdk的安装:

下载安装包:jdk-8u144-linux-x64.rpm,移动到/tmp文件夹下进行解压,rpm -ivh jdk-8u144-linux-x64.rpm;解压后查看/usr/目录下是否有java文件夹生成,查看当前java版本:java -version

配置全局环境变量:

Vi /etc/profile   

JAVA_HOME=/usr/java/jdk1.8.0_144

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAV A_HOME/jre/lib/rt.jar

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

 

2.防火墙永久关闭

chkconfig iptables off

3.使用VMware Tools进行时间同步,与主机时间同步;

4.更改虚拟机名称

vi /etc/hosts    192.168.66.128 hong

192.168.66.129 n2

192.168.66.130 n3

5. 创建用户与用户组

Groupadd hadoop

Useradd -g hadoop hadoop

hadoop用户添加进hadoop用户组

 

安装步骤:

1. 克隆主机

将设置好的主机克隆成n2n3

更改主机名vi /etc/sysconfig/network;

更改ip后,重启虚拟机reboot

2. 配置SSH免密登陆

1)在每个节点上执行ssh-keygen -t rsa -P “”,使每个节点生成密钥;

2)主机上执行cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  追加公钥到对方认证库文件;

3)hongn2n3节点,都执行以下步骤:

在主机上:

scp id_rsa.pub hadoop@n2:/home/hadoop/.ssh/id_rsa.pub.a

n2n3节点上执行:

cat id_rsa.pub.a >> /home/hadoop/.ssh/authorized_keys

rm id_rsa.pub.a

4)n2n3hong,执行以下步骤:

n2n3上执行:

scp id_rsa.pub hadoop@hong:/home/hadoop/.ssh/id_rsa.pub.a

在主机上执行:

cat id_rsa.pub.a >> /home/hadoop/.ssh/authorized_keys

rm id_rsa.pub.a

 

注意:修改authorized_keys的文件权限(所有节点上)

Chmod 600 ~/.ssh/authorized_keys

Chmod 700 ~/.ssh

这样配置完成后,主机与各个子节点能无密码登陆,但是子节点与子节点之间不能,如果想实现子节点与子节点之间也可以,就将主机下的authorized_keys文件复制到各个子节点。

 

3. 安装Hadoop

1)在tmp下解压hadoop-2.7.1.tar (1).gz

   Tar -zxvf hadoop-2.7.1.tar (1).gz,

生成hadoop-2.7.1 文件夹,将文件夹移动到/home/hadoop/sw

2) 每个节点/usr/local/下创建hadoop文件夹:

Mkdir tmp     mkdir dfs/name  mkdir dfs/data

并且chown -R hadoop:hadoop /usr/local/hadoop,保证hadoop文件夹权限是hadoop用户;

3)进入/home/hadoop/sw/hadoop-2.7.1/etc/hadoop,更改目录下的配置文件:

Core-site.xml

    

        fs.defaultFS

        hdfs://hong:9000

    

    

        hadoop.tmp.dir

        file:/usr/local/hadoop/tmp

    

    

        io.file.buffer.size

        131702

    

 

Hdfs-site.xml

    

        dfs.namenode.name.dir

        file:/usr/local/hadoop/dfs/name

    

    

        dfs.datanode.data.dir

        file:/usr/local/hadoop/dfs/data

    

    

        dfs.replication

        2

    

    

        dfs.namenode.secondary.http-address

        hong:9001

    

    

    dfs.webhdfs.enabled

    true

    

 

mapred-site.xml

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

    

        mapreduce.framework.name

        yarn

    

    

        mapreduce.jobhistory.address

        n2:10020

    

    

        mapreduce.jobhistory.webapp.address

        n2:19888

    

 

 

yarn-site.xml

    

        yarn.nodemanager.aux-services

        mapreduce_shuffle

    

    

        yarn.nodemanager.auxservices.mapreduce.shuffle.class

        org.apache.hadoop.mapred.ShuffleHandler

    

    

        yarn.resourcemanager.address

        hong:8032

    

    

        yarn.resourcemanager.scheduler.address

        hong:8030

    

    

        yarn.resourcemanager.resource-tracker.address

        hong:8031

    

    

        yarn.resourcemanager.admin.address

        hong:8033

    

    

        yarn.resourcemanager.webapp.address

        hong:8088

    

    

        yarn.nodemanager.resource.memory-mb

        1536

    

    

         yarn.nodemanager.pmem-check-enabled

         false

    

 

    

         yarn.nodemanager.vmem-check-enabled

         false

    

 

4) 设置/home/hadoop/sw/hadoop-2.7.1/etc/hadoop下的hadoop-env.sh  yarn-env.shJAVA_HOME,如果不设置会启动不了;

vi hadoop-env.sh

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

vi yarn-env.sh

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

 

5) 配置/home/hadoop/sw/hadoop-2.7.1/etc/hadoop下的slaves,删除默认的localhost,添加n2n3

6) 将配置好的hadoop复制到各个节点对应的位置中,

scp -r /home/hadoop/sw/hadoop-2.7.1 n2:/home/hadoop/sw/

scp -r /home/hadoop/sw/hadoop-2.7.1 n3:/home/hadoop/sw/

7) hong主机中进入hadoop-2.7.1目录:

初始化:bin/hdfs namenode -format

全部启动:sbin/start-all.sh  也可以分开启动sbin/start-dfs.shsbin/start-yarn.sh

停止的话:sbin/stop-all.sh

输入Jps可以看见进程;

 

 

8)Web访问,要先开放端口或者直接关闭防火墙

(1)输入命令,systemctl stop firewalld.service

(2)浏览器打开http://hong:8088/

(3)浏览器打开http://hong:50070/

 

其它注意事项:

 

a)

如果datanode起不来最好是此操作

 master(即:namenode节点)若要重新格式化,请先清空各datanode上的data目录(最好连tmp目录也一起清空),

否则格式化完成后,启动dfs时,datanode会启动失败

 

b) 如果觉得master机器上只运行namenode比较浪费,想把master也当成一个datanode,直接在slaves文件里,添加一行master即可

 

c) 为了方便操作,可修改/etc/profile,把hadoop所需的lib目录,先加到CLASSPATH环境变量中,

同时把hadoop/bin,hadoop/sbin目录也加入到PATH变量中,可参考下面的内容:

 

 

export HADOOP_HOME=/usr/local/hadoop

 

PATH=$PATH:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.4.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

至此,Hadoop安装完毕。

你可能感兴趣的:(Hadoop)