hadoop官方文档_腾讯云Hadoop集群搭建。

0基础入门大数据第一步,Hadoop集群搭建,参考尚硅谷大数据开发课程。最近腾讯云十周年活动,1核2G轻量应用服务器99/年,买了三台准备搭集群。

0cdc5911eb0d6e3d1ba7291ee12f6600.png

购买服务器

腾讯云官网->限时秒杀->选好1核2G服务器(有钱也可以选个4核8G的)->微信扫码登陆->实名认证->选地区(我默认是选的南京1,一定要选一个地区!!!一定要选一个地区!!!一定要选一个地区!!!)->CentOS7镜像->新建私有网络(默认配置就行)->确认之后进控制台就可以看到自己买的服务器了,改个密码登陆吧。

1b0faa9143e532afa7ab85f8748b0ba0.png

因为1核2G服务器只针对新用户,这里需要另外两个微信扫码登陆,实名的话一个人可以实名三个账号。

配置云联网

因为三台服务器是跨账号的,所以默认是不支持内网IP互联,只能通过1M带宽互相访问。

有两种方案解决,对等连接和云联网,这里我购买的南京机房不支持对等连接,只能使用云联网。就相当于把3台服务器配置在同一个虚拟局域网内。同地域云联网免费哦。

云联网的配置参考腾讯官方文档

这里有个坑,按照官方文档配置好后会因为IP冲突路由表失效。

94ed867a88108f7a694c1aad0c0750a9.png

我们登陆另外两个账号,新建私有网络,配置两个不同的CIDR。然后再关联账号1的云联网,这样就OK了。

2cca4f06c350f62ed375ffb0b5c7d1ba.png

连接服务器

我用的是SecureCRT登陆,绿色版免安装开箱即用。

关闭防火墙 (3台)

systemctl 

配置主机映射(3台)

vim /etc/hosts 

1e8f87d8c5ce6cb6c3c80860bb6185e6.png

三台都设置为腾讯云内网IP,如果服务器没有配置云联网则当前配置主机填内网IP,另外两台填公网IP。

三个节点都需要配置!!!三个节点都需要配置!!!三个节点都需要配置!!!

试试能不能ping通。

fb1e3d877cb34d8fd6c26a58c9683f67.png

创建文件夹(1台)

在/opt目录下创建module和software文件夹,software存储安装包,module存储运行文件。

mkdir module
mkdir software

安装JDK和Hadoop(1台)

在/opt/software目录下用wget下载jdk 1.8安装包

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
wget http://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

解压到/opt/module目录

tar -zxvf jdk-8u141-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

配置环境变量

vim /etc/profile

在文件末尾添加

##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_141
export PATH=$JAVA_HOME/bin:$PATH

##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

31677687e240c24605440cbebeefacfb.png

保存退出刷新

source /etc/profile

配置完输入java -version和hadoop查看是否安装成功。

Hadoop集群配置(1台)

集群节点规划

hadoop1节点作为Namenode、Datanode、Nodemanager

hadoop2节点作为Datanode、ResourceManager、Nodemanager

hadoop3节点作为SecondaryNameNode、Datanode、Nodemanager

先cd到hadoop的etc文件夹

cd /opt/module/hadoop-2.7.2/etc/hadoop

配置Hadoop的Java环境

分别打开hadoop-env.sh mapred-env.sh yarn-env.sh添加

export JAVA_HOME=/opt/module/jdk1.8.0_141
vim hadoop-env.sh
vim mapred-env.sh
vim yarn-env.sh

核心配置文件core-site.xml

vim core-site.xml

插入

<!-- 指定HDFS中NameNode的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop1:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

HDFS配置hdfs-site.xml

vim hdfs-site.xml

插入

<!-- 指定HDFS副本的数量 -->
<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop3:50090</value>
</property>

YARN配置yarn-site.xml

vim yarn-site.xml

插入

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

<!-- 指定YARN的ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop2</value>
</property>
<property>
        <name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
</property>

MapReduce配置mapred-site.xml

vim mapred-site.xml

插入

<!-- 指定MR运行在YARN上 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop1:19888</value>
</property>

配置slaves

hadoop1
hadoop2
hadoop3

配置SSH免密登录(2台)

hadoop1、hadoop2节点分别输入

ssh-keygen -t rsa
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

文件分发(1台)

分发脚本编写

vim /usr/local/bin/xsync

插入保存

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=1; host<4; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

修改脚本 xsync 具有执行权限

chmod 777 /usr/local/bin/xsync

然后将hadoop1节点的配置和环境配置分发到另外两个节点

xsync /opt/module
xsync /etc/profile

在另外两个节点刷新环境配置

source /etc/profile

启动集群

在hadoop1上启动HDFS

/opt/module/hadoop-2.7.2/sbin/start-dfs.sh

在hadoop2上启动YARN

/opt/module/hadoop-2.7.2/sbin/start-yarn.sh

然后在三个节点的终端输入jps查看是否启动成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值