Hadoop分布式集群搭建(VMware workstation11+centOS7)

                                                                        

Hadoop集群完全分布式环境搭建(Vmware workstation11+ centOS7)

一 网络环境配置

二 JDK安装

1 检验centOS自带JDK

输入java –version 如下图所示是centOS自带的JDK,我们要重新安装。



2 安装JDK

[2.1] 我是用SSH Secure File Transfer工具将宿主机的jdk-xx.tar.gz传输到客户机的Downloads目录下,

你可以以你自己的方式将jdk-xx.tar.gz放在虚拟机上。

[2.2] 解压JDK (lxf/Downloads/)

     tar –zxvf jdk-8u65-linux-x64.tar.gz


[2.3] 将jdk1.8.0_65移动到Hadoop目录下


[2.4] 配置JDK环境变量

etc/profile文件,编辑此文件需要root权限

su root


Profile文件末尾追加以下内容

export JAVA_HOME=/home/lxf/Hadoop/jdk1.8.0_65

export JRE_HOME=/home/lxf/Hadoop/jdk1.8.0_65/jre

export PATH=$JRE_HOME/bin:$JAVA_HOME/bin:$PATH

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

source /etc/profile   //使修改立即生效
echo $PATH   //查看PATH值

3 检验安装成功

Java –version 出现以下内容,没有了openjdk


三 HADOOP安装

1 安装HADOOP

如上一样以自己的方式将hadoop-xx.tar.gz放在Downloads目录下

解压hadoop-xx.tar.gz


将解压后的文件移动到Hadoop目录下


2 HADOOP全局环境变量配置

etc/profile目录下

su root

vi profile 在文件末尾追加以下内容

export HADOOP_HOME=/home/lxf/Hadoop/hadoop-2.7.2

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

source /etc/profile


3 检验安装成功

hadoop version


四 SSH配置无密登录

1 安装SSH

yum install openssh-server

service sshd restart

2 SSH配置

[master主机 s200]

进入.ssh目录下 cd .ssh

ssh-keygen -t rsa 一直回车 生成id_rsa,id_rsa.pub两个文件


id_rsa.pub复制到s201 s202两台node上去.(注意这里的操作不要以root用户身份操作)

scp ~/.ssh/id_rsa.pub lxf@s201:~/.ssh/

scp ~/.ssh/id_rsa.pub lxf@s202:~/.ssh/

切换到s201,s202:

cd .ssh

cat id_rsa.pub >> authorized_keys

然后把authorized_keys scp到s200.

scp ~/.ssh/authorized_keys lxf@s200:~/.ssh 

示例如下图

3 成功检验

如下图操作完成无密登录


上图两次登录都无需密码

五 HADOOP完全分布式集群搭建

Hadoop/hadoop-2.7.2/etc/hadoop目录下

core-site.xml

<?xml version="1.0" ?>

<configuration>

  <property>

     <name>fs.defaultFS</name>

     <value>hdfs://s200:8020/</value>

  </property>

</configuration>

hdfs-site.xml

    <?xml version="1.0" ?>

    <configuration>

       <property>

          <name>dfs.replication</name>#副本数

          <value>2</value>

       </property>

       #第二名称节点配置文件hdfs-site.xml

      <property>

           <name>dfs.namenode.secondary.http-address</name>

           <value>s104:50090</value>

     </property>

    #50070namenode 50075 datanode 50090 secondrynode

    </configuration>

yarn-site.xml

    <?xml version="1.0" ?>

    <configuration>

       <property>

          <name>yarn.resourcemanager.hostname</name>#资源管理器

          <value>s200</value>

       </property>

       <property>

          <name>yarn.nodemanager.aux-services</name>#节点管理器

          <value>mapreduce_shuffle</value>

       </property>

    </configuration>

mapred-site.xml

<?xml version="1.0" ?>

<configuration>

  <property>

     <name>mapreduce.framework.name</name>

     <value>yarn</value>

  </property>

</configuration>

slaves

S201

S202

六 验证Hadoop集群启动成功

1 查看进程

1.1 输入start-dfs.sh命令,jps命令查看进程,有:

 jps

 namenode

 datanode

 secondaryNameNode

如下图所示:

1.2 输入start-yarn.sh命令,jps命令查看进程,有:

 NodeManager

 ResourceManager

如下图所示:

2 查看webUI

当webUI显示集群启动,Hadoop集群才是真正的启动。

浏览器地址http://s200:50070

进入Datanodes,如下图所示:


问题

缺少DataNode进程

jps查看进程 我的缺少DataNode

logs/hadoop-lxf-datanode-s202.log目录下,查看此日志文件,搜索带有Exception字段的内容

grep -rn "Exception"hadoop-lxf-datanode-s202.log


从以上可以看出我的问题是clusterID(集群id)不一致

先把集群停掉

把你/tmp/hadoop-lxf文件夹全部删掉,然后重新格式化,再启动

cd /tmp

rm –rf hadoop-lxf

hadoop namenode –format

start-all.sh

jps 现在应该有了5个进程

[备注]一般没有DataNode 要么是没有格式化,要么是格式化多了导致ClisterID不一致

Hadoop中jps查看存在dataNode进程,而webUI没有dataNode

这种情况的出现是因为没有关闭防火墙。命令如下:
systemctl stop firewalld.service          #关闭防火墙
systemctl disable firewalld.service     #禁止防火墙开机启动

Hadoop启动报Error:JAVA_HOME is not set and could not be found 解决办法

Hadoop安装目录下/etc/hadoop/hadoop-env.sh中设JAVA_HOME

exportJAVA_HOME=$JAVA_HOME                           //错误,不能这么改
export JAVA_HOME=/home/lxf/Hadoop/jdk1.8.0_65      //正确,应该这么改


 

CentOS 7:

systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动

scp -r hadooplxf@s201:/hadoop-2.7.2/etc/hadoop scp -r hadoop lxf@s202:/hadoop-2.7.2/etc/hadoop

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值