hadoop集群完全分布式搭建 图文详解

集群准备

  1. 准备3台客户机(关闭防火墙、静态ip,主机映射、主机名称),主机名称分别hadoop1,hadoop2,hadoop3

  2. 三台虚拟机安装好jdk,并配置环境变量

  3. 配置ssh,免密登录
    (1)在每台虚拟机上vi /etc/hosts 将集群中的虚拟机ip地址和主机名绑定,如

在这里插入图片描述

(2) 在每台虚拟机上生成公私钥
ssh-keygen -t rsa -P ''

(3) 拷贝私钥给集群中的每个虚拟机(本身和其他两个虚拟机,一共拷贝九次)
每个虚拟机上都要执行以下命令

ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

使用xshell工具可以同时执行
在这里插入图片描述

集群规划

hadoop1hadoop2hadoop3
HDFSNameNode DataNodeDataNodeSecondaryNameNode DataNode
YARNNodeManagerResourceManager NodeManagerNodeManager

修改配置文件

注:我们可以先配置一台的虚拟机hadoop1上的hadoop,然后通过远程拷贝命令,将配置完成的hadoop拷贝到另外两台虚拟机上

  1. hadoop-env.sh
    修改JAVA_HOME为jdk路径
    在这里插入图片描述
  2. core-site.xml
    在configuration标签内添加如下内容
	<!-- 指定HDFS中NameNode的地址 -->
	<property>
		<name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9000</value>
	</property>

	<!-- 指定hadoop运行时产生文件的存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/hadoop260/data/tmp</value>
	</property>
  1. hdfs-site.xml
    在configuration标签内添加如下内容
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>

	<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop3:50090</value>
    </property>
  1. yarn-env.sh
    添加jdk路径
    在这里插入图片描述

  2. yarn-site.xml
    在configuration标签内添加如下内容

	<!-- 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>
  1. mapred-site.xml
    在configuration标签内添加如下内容
	<!-- 指定mr运行在yarn上 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
  1. vi slaves
    添加集群主机名
hadoop1
hadoop2
hadoop3
  1. 远程拷贝命令,将配置完成的hadoop拷贝至其他虚拟机上
scp -r /opt/hadoop260 root@hadoop2:$PWD
scp -r /opt/hadoop260 root@hadoop3:$PWD
  1. 配置每台虚拟机hadoop环境
    vi /etc/profile 文末添加内容如下
    保存并激活source /etc/profile
export HADOOP_HOME=/opt/soft/hadoop260
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

启动集群

  1. 在第一台虚拟机hadoop1上,格式化hdfs
    hdfs namenode -format

  2. 在hadoop1启动hdfs
    start-dfs.sh

  3. 在hadoop2启动Yarn
    start-yarn.sh

时间同步

  1. 为每台虚拟机安装ntp
    yum -y install ntp
  2. vi /etc/ntp.conf
# 添加(添加默认的一个内部时钟数据,使用它为局域网用户提供服务。)
server 127.127.1.0
fudge 127.127.1.0 stratum 10

在这里插入图片描述

  1. vi /etc/sysconfig/ntpd
    添加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
  1. 重新启动ntpd
    systemctl restart ntpd

  2. 同步hadoop2和hadoop3的时间与hadoop1的时间一致
    ntpdate hadoop1 分别在hadoop2和hadoop3上执行

  3. 每十分钟同步一次
    crontab -e
    添加如下内容

*/10 * * * * /usr/sbin/ntpdate hadoop2
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值