阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop2.7.2集群搭建详解(三台)

150次阅读
没有评论

共计 4340 个字符,预计需要花费 11 分钟才能阅读完成。

如果你还没有虚拟机,请参考:http://www.linuxidc.com/Linux/2017-03/141646.htm
如果你还没有试过单机模式,请参考:http://www.linuxidc.com/Linux/2017-03/142050.htm
参考:http://Hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

集群规划

主机名 ip 安装的软件 进程
master 192.168.1.111 jdk、hadoop namenode ressourcemanager
slave1 192.168.1.112 jdk、hadoop datanode secondnamenode
slave2 192.168.1.113 jdk、hadoop datanade

免登录

这里直接用 root 用户,注意将防火墙关掉:

# 关闭防火墙
sudo systemctl stop firewalld.service
# 关闭开机启动
sudo systemctl disable firewalld.service

免密码登录:

cd /root/.ssh/
ssh-keygen -t rsa

这里上个回车就 ok,会在当前目录生成两个文件,一个公钥一个私钥

Hadoop2.7.2 集群搭建详解(三台)

将公钥拷贝到其它机器上,实现免密码登录

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

这样会在 slave1 的 /root/.ssh/ 目录下生成一个 authorized_keys 就可以实现 master 免登录到 slave1, 如下:

ssh slave1

安装 JDK

在 /opt/ 下创建 soft-install 文件夹来存放安装的软件,创建 soft 来安装软件

Hadoop2.7.2 集群搭建详解(三台)

tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/soft/

修改环境变量:

# 修改配置文件
vi /etc/profile
# 在最后下添加

export Java_HOME=/opt/soft/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 刷新配置文件
source /etc/profile

安装 Hadoop

解压

tar -zxvf ./soft-install/hadoop-2.7.2.tar.gz -C /opt/soft/

删除 docs

cd /opt/soft/hadoop-2.7.2/share
rm -rf doc/

修改环境变量

# 修改配置文件
vi /etc/profile
# 在最后下添加

export HADOOP_HOME=/opt/soft/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin

# 刷新配置文件
source /etc/profile

修改配置文件

这些配置文件全部位于 /opt/soft/Hadoop-2.7.2/etc/hadoop 文件夹下

hadoop-env.sh

Hadoop2.7.2 集群搭建详解(三台)

core-site.xml

<configuration>
    <!-- 指定 HDFS 老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- 指定 hadoop 运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/soft/hadoop-2.7.2/tmp</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>

    <!-- 设置 namenode 的 http 通讯地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
    </property>

    <!-- 设置 secondarynamenode 的 http 通讯地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:50090</value>
    </property>

    <!-- 设置 namenode 存放的路径 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/soft/hadoop-2.7.2/name</value>
    </property>

    <!-- 设置 hdfs 副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 设置 datanode 存放的路径 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/soft/hadoop-2.7.2/data</value>
    </property>
</configuration>

mapred-site.xml
必须先

mv mapred-site.xml.template mapred-site.xml
<configuration>
    <!-- 通知框架 MR 使用 YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <!-- 设置 resourcemanager 在哪个节点 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

    <!-- reducer 取数据的方式是 mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

masters
新建一个 masters 的文件, 这里指定的是 secondary namenode 的主机

slave1

slaves

slave1
slave2

创建文件夹:

mkdir tmp name data

复制到其他主机

复制 /etc/hosts(因为少了这个导致 secondarynamenode 总是在 slave1 启动不起来)

scp /etc/hosts slave1:/etc/
scp /etc/hosts slave2:/etc/

复制 /etc/profile (记得要刷新环境变量)

scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/

复制 /opt/soft

scp -r /etc/soft slave1:/opt/
scp -r /etc/soft slave2:/opt/

记得在 slave1 和 slave2 上刷新环境变量

启动

第一次启动得格式化

./bin/hdfs namenode -format

启动 dfs

./sbin/start-dfs.sh

启动 yarn

./sbin/start-yarn.sh

查看

master

Hadoop2.7.2 集群搭建详解(三台)

slave1

Hadoop2.7.2 集群搭建详解(三台)

slave2

Hadoop2.7.2 集群搭建详解(三台)

通过浏览器测试 hdfs:

192.168.2.111:50070

Hadoop2.7.2 集群搭建详解(三台)

注意这里有数据才是成功,我因为没把 hosts 文件复制到其他主机,导致启动的进程都是正确的,但是这里就是没数据,后来查资料检查才是没复制 hosts 文件。复制之后就一切正常了

通过浏览器测试 yarn:

192.168.2.111:8088

Hadoop2.7.2 集群搭建详解(三台)

可以看到一切正常。2 个节点。

至此我们的三台 hadoop 运行。

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

在 Ubuntu X64 上编译安装 Hadoop http://www.linuxidc.com/Linux/2016-12/138568.htm

CentOS 6.7 安装 Hadoop 2.7.3  http://www.linuxidc.com/Linux/2017-01/139089.htm

CentOS7+Hadoop2.5.2+Spark1.5.2 环境搭建  http://www.linuxidc.com/Linux/2017-01/139364.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142051.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4340字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中