Hadoop 2.7.4 集群部署
Hadoop 2.7.4 集群部署
鱼丸-zgdhd 发表于4个月前
Hadoop 2.7.4 集群部署
  • 发表于 4个月前
  • 阅读 40
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 持续中

时隔两年,温故知新。

主要记录一下新 hadoop 配置

前提准备

1. 3台服务器(虚拟机)

2. 服务器(虚拟机)之间已无密码登录

3. 已安装且把 JDK1.8+ 环境变量配置完成

下载hadoop:http://hadoop.apache.org/releases.html

本文版本 hadoop 2.7.4,已下载且已解压至 /hhz 目录(/hhz/hadoop/)

本文使用 hadoop 目的:MapReduce

本文采用VBOX虚拟机,且都安装CentOS7(最小安装),虚拟机内存 1G,存储 20G

本文虚拟机使用账户权限:root

本文虚拟机 hosts 节点:

192.168.0.117 Master
192.168.0.118 Slave
192.168.0.119 Slave2

hadoop 环境变量

# ~/.bash_profile
export HADOOP_HOME=/hhz/hadoop/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

hadoop 具体配置

hadoop 配置文件目录:$HADOOP_HOME/etc/hadoop

PS:了解配置文件意思的方法:复制 <name> 去百度,这里只把有意义的写了,其他的可以根据翻译读懂

配置开始:

hadoop-env.sh 文件

        取消 JAVA_HOME 的屏蔽,且把你的 jdk 路径写进去(经测试好像不能准确读取到环境变量里面的 JAVA_HOME 路径,反正我没读取成功)。

slaves 文件(把节点的 hostname 写入进去)

slave
slave2

core-site.xml 文件

<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
    <!-- <value>hdfs://master:9000/hbase</value> -->
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/hhz/hadoop_tmp</value>
</property>
<!-- 垃圾回收(分钟)周期 -->
<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>
<!-- 垃圾回收检查间隔(分钟) -->
<property>
	<name>fs.trash.checkpoint.interval</name>
	<value>1440</value>
</property>
<property>
	<name>io.file.buffer.size</name>
	<value>131072</value>
</property>
</configuration>

hdfs-site.xml 文件

<configuration>
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.permissions.enabled</name>
    <value>false</value>
</property>
<property>
    <name>dfs.namenode.http-address</name>
    <value>master:50090</value>
</property>
<!--
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>slave:50090</value>
</property>
-->
<property>
	<name>dfs.namenode.name.dir</name>
	<value>/hhz/hadoop_namenode</value>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>/hhz/hadoop_datanode</value>
</property>
</configuration>

mapred-site.xml 文件

复制一份 mapred-site.xml.template 且为新文件

cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!--  -->
<property>
    <name>mapreduce.job.ubertask.enable</name>
    <value>true</value>
</property>
<property>
	<name>mapreduce.cluster.temp.dir</name>
	<value>/hhz/mr_temp</value>
	<final>true</final>
</property>
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>master:10020</value>
</property>
<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>master:19888</value>
</property>
<property>
	<name>mapreduce.map.memory.mb</name>
	<value>2000</value>
</property>
<!-- 可以根据自己硬件调整,这里是虚拟机所以调小点 -->
<property>
	<name>mapreduce.map.java.opts</name>
	<value>-Xmx500M</value>
</property>
</configuration>

yarn-site.xml 文件

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<property>
    <name>yarn.web-proxy.address</name>
    <value>master:8888</value>
</property>
<!--
<property>
	   <name>yarn.resourcemanager.address</name>
	   <value>master:8032</value>
 </property>
 <property>
	  <name>yarn.resourcemanager.scheduler.address</name>
	  <value>master:8030</value>
  </property>
 <property>
	 <name>yarn.resourcemanager.resource-tracker.address</name>
	 <value>master:8031</value>
 </property>
 <property>
	 <name>yarn.resourcemanager.admin.address</name>
	 <value>master:8033</value>
 </property>
 <property>
	 <name>yarn.resourcemanager.webapp.address</name>
	 <value>master:8088</value>
 </property>
-->

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

<property>
	<name>yarn.log.dir</name>
	<value>/hhz/yarn_log</value>
</property>

<!-- 根据自己硬件配置可调整,建议最低就我这配置 -->
<property>
	<name>yarn.nodemanager.resource.memory-mb</name>
	<value>512</value>
</property>
<property>
	<name>yarn.scheduler.maximum-allocation-mb</name>
	<value>512</value>
</property>
<property>
	<name>yarn.scheduler.minimum-allocation-mb</name>
	<value>256</value>
</property>
</configuration>

启动

        把配置好的 hadoop 都依次复制到每个虚拟机,保证目录结构,JDK配置及路径,hadoop目录结构都一致,然后才可以格式化,否则会出现各类问题。

初始化 namenode 和 datanode(/hhz/hadoop/bin)

#
hadoop namenode -format
#
hadoop datanode -format

启动 hadoop 集群(/hhz/hadoop/sbin)

sh start-all.sh

查看

jps

启动成功后可以查看情况

http://master:8088

http://master:50090

特意说明:

以上配置在真机上也完美通过~

相关配置均可根据需求调整~

具体文件均可复制其名进行谷歌或者百度搜索了解详情~

共有 人打赏支持
粉丝 3
博文 15
码字总数 12207
×
鱼丸-zgdhd
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: