Hadoop组件安装及配置

  • 一、配置环境变量
  • 1.1 配置Hadoop环境变量(三个节点)
  • 二、配置Hadoop各组件
  • 2.1 修改hadoop-env.sh、yarn-env.sh
  • 2.2 (3)修改core-site.xml 文件。
  • 2.3 (4)修改yarn-site.xml 文件
  • 2.4(5)修改hdfs-site.xml 文件
  • 2.5(6)修改mapred-site.xml
  • 2.6(7)修改salves, 设置节点文件
  • 2.7 vi master文件,添加主节点master
  • 三、格式化HDFS(master)
  • 四、启动集群
  • 五、访问集群Web UI
  • HDFS监控
  • YARN监控



用VMware虚拟机安装Linux centos7系统

Hadoop集群搭建及配置〇 —— Hadoop组件获取 & 传输文件

Hadoop集群搭建及配置① —— 克隆节点

Hadoop集群搭建及配置② —— 网络IP配置,连接网络

Hadoop集群搭建及配置③ —— 基础环境搭建

Hadoop集群搭建及配置④ —— JDK简介及其安装

Hadoop集群搭建及配置⑤ —— Zookeeper 讲解及安装

Hadoop集群搭建及配置⑥ —— Hadoop组件安装及配置

Hadoop集群搭建及配置⑦—— Spark&Scala安装配置

Hadoop集群搭建及配置⑧——Hbase的安装配置


一、配置环境变量

创建工作目录:
mkdir –p /usr/hadoop
解压 hadoop:
tar -zxvf /home/master/Downloads/hadoop-2.7.3.tar.gz -C /usr/hadoop/

hadoop配置要求 hadoop需要什么配置_Hadoop

1.1 配置Hadoop环境变量(三个节点)

vi /etc/profile

# HADOOP
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

source /etc/profile

hadoop配置要求 hadoop需要什么配置_大数据_02


二、配置Hadoop各组件

hadoop的各个组件的都是使用XML进行配置,这些文件存放在hadoop的etc/hadoop目录下。
Hadoop配置涉及的文件有7个: core-site.xml 、hadoop-env.sh 、yarn-env.sh 、mapred-site.xml、yarn-site.xml 、slaves 、hdfs site.xml。这些文件都在/usr/hadoop/hadoop-2.7.3/etc/hadoop/目录下,首先要进人该目录,依次修改配置文件如下。


2.1 修改hadoop-env.sh、yarn-env.sh

(1) 修改hadoop-env.sh 文件。该文件是Hadoop运行基本环境的配置,需要修改为JDK的实际位置。故在该文件中修改JAVA_ HOME值为本机安装位置。

vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171

hadoop配置要求 hadoop需要什么配置_hadoop配置要求_03


(2) 修改 yarn-env.sh 文件。该文件是YARN框架运行环境的配置,同样需要修改JDK所在位置。在该文件中修改JAVA_ HOME值为本机安装位置。

vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171

hadoop配置要求 hadoop需要什么配置_大数据_04


2.2 (3)修改core-site.xml 文件。

这个Hadoop的核心配置文件,这里需要配置两个属性: fs.defaultFS 配置了Hadoop的HDFS系统的命名,位置为主机的8020端口,这里需要替换 hdfs://master:8020 中的master,改名称为NameNode所在机器的机器名; hadoop.tmp.dir 配置了Hadoop的临时文件的位置。添加内容如下面所示。

core-site.xml 文件 在<configuration> </configuration>中加入代码!

<property>
 <name>fs.default.name</name>
  <value>hdfs://master:8020</value>
   <description>指定namenode的地址</description>
</property>
<property>
 <name>hadoop.tmp.dir</name>
  <value>file:/usr/hadoop/hadoop-2.7.3/tmp</value>
   <description>用来指定使用hadoop时产生文件的存放目录</description>
</property>
<property>
 <name>io.file.buffer.size</name>
  <value>131072</value>
   <description>流文件的缓冲区大小为128K</description>
</property>
<property>
 <name>fs.checkpoint.period</name>
  <value>60</value>
   <description>动态检查的间隔时间设置</description>
</property>
<property>
 <name>fs.checkpoint.size</name>
  <value>67108864</value>
   <description>用日志文件大小64M</description>
</property>

hadoop配置要求 hadoop需要什么配置_Hadoop_05


2.3 (4)修改yarn-site.xml 文件

该文件为YARN框架的配置,在最开始命名了一个yarn.resourcemanager.hostname 的变量,在后面YARN的相关配置中就可以直接引用该变量了,其他配置保持不变即可。

<property>
 <name>yarn.resourcemanager.hostname</name>
 <value>master</value>
</property>
<property>
 <name>yarn.resourcemanager.address</name>
 <value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
 <name>yarn.resourcemanager.scheduler.address</name>
 <value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
 <name>yarn.resourcemanager.webapp.address</name>
 <value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
 <name>yarn.resourcemanager.webapp.https.address</name>
 <value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
 <name>yarn.resourcemanager.resource-tracker.address</name>
 <value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
 <name>yarn.resourcemanager.admin.address</name>
 <value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
 <name>yarn.nodemanager.local-dirs</name>
 <value>/data/hadoop/yarn/local</value>
</property>
<property>
 <name>yarn.log-aggregation-enable</name>
 <value>true</value>
</property>
<property>
 <name>yarn.nodemanager.remote-app-log-dir</name>
 <value>/data/tmp/logs</value>
 </property>
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs/</value>
<description>URL for job history server</description>
</property>
<property>
 <name>yarn.nodemanager.vmem-check-enabled</name>
 <value>false</value>
 </property>
<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>
<property>
 <name>yarn.nodemanager.resource.memory-mb</name>
 <value>2048</value>
</property>
<property>
 <name>yarn.scheduler.minimum-allocation-mb</name>
 <value>512</value>
</property>
<property>
 <name>yarn.scheduler.maximum-allocation-mb</name>
 <value>4096</value>
</property>
<property>
 <name>mapreduce.map.memory.mb</name>
 <value>2048</value>
</property>
<property>
 <name>mapreduce.reduce.memory.mb</name>
 <value>2048</value>
</property>
<property>
 <name>yarn.nodemanager.resource.cpu-vcores</name>
 <value>1</value>
</property>

hadoop配置要求 hadoop需要什么配置_Hadoop_06


hadoop配置要求 hadoop需要什么配置_大数据_07


2.4(5)修改hdfs-site.xml 文件

这个是HDFS相关的配置文件,dfs.namenode.name.dirdfs.datanode.data.dir分别指定了NameNode 元数据和DataNode 数据存储位置。
dfs.namenode.secondaryttp-address 配置的是SecondaryNameNode的地址,同样需要注意修改master为实际SecondaryNameNode地址。dfs.replication 配置了文件块的副本数,默认为3个,这里要改为2个。

<property>
 <name>dfs.replication</name>
  <value>2</value>
   <description>缺省的块复制数量</description>
</property>
<property>
 <name>dfs.namenode.name.dir</name>
  <value>file:/usr/hadoop/hadoop-2.7.3/hdfs/name</value>
   <description>存贮在本地的主节点数据镜像的目录,作为主节点的冗余备份</description>
    <final>true</final>
</property>
<property>
 <name>dfs.datenode.date.dir</name>
  <value>file:/usr/hadoop/hadoop-2.7.3/hdfs/data</value>
   <description>数据节点的块本地存放目录</description>
    <final>true</final>
</property>
<property>
 <name>dfs.namenode.secondary.http-address</name>
  <value>master:50090</value>
   <description>secondarynamenode的web端口号</description>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
 <value>true</value>
  <description>web访问hdfs</description>
</property>

hadoop配置要求 hadoop需要什么配置_Hadoop_08


2.5(6)修改mapred-site.xml

这个是MapReduce的相关配置,由于Hadoop 2.x使用了YARN框架,所以必须在 mapreduc.framework.name 属性下配置YARN。mapreduce jobhistory.addressmapreduce.jobhistoryserver.webapp.address 是JobHistoryserver的相关配置,即运行MapReduce任务的日志相关服务,这里同样需要注意修改master为实际服务所在机器的机器名。

hadoop是没有这个文件的,需要将mapred-site.xml.template复制为mapred-site.xml。

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
 <name>mapreduce.jobhistory.address</name>
 <value>master:10020</value>
</property>
<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>master:19888</value>
</property>

hadoop配置要求 hadoop需要什么配置_linux_09


2.6(7)修改salves, 设置节点文件

修改slaves文件。该文件里面保存有slave节点的信息,在slaves文件里面添加

vi slaves	#添加子节点
删除 localhost,添加:
slave1
slave2

hadoop配置要求 hadoop需要什么配置_大数据_10


2.7 vi master文件,添加主节点master

hadoop配置要求 hadoop需要什么配置_hadoop配置要求_11

设置好Hadoop组件分发给文件给从节点slave

scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/

hadoop配置要求 hadoop需要什么配置_linux_12


三、格式化HDFS(master)

做完Hadoop的所有配置后,即可执行格式化NameNode操作,该操作会在NameNode所在机器初始化一些 HDFS的相关配置,并且该操作在集群搭建过程中只需执行一次,执行格式化之前可以先配置环境变量。

格式化hdfs:的namenode
hadoop namenode -format

hadoop配置要求 hadoop需要什么配置_大数据_13


当出现“Exiting with status 0”的时候,表明格式化成功。

hadoop配置要求 hadoop需要什么配置_Hadoop_14


四、启动集群

格式化完成之后即可启动集群,启动集群只需要在master节点直接进人Hadoop安装目录,分别执行如下所示的命令即可。

cd SHADOOP_ HOME

sbin/start-dfs.sh

启动HDFS相关服务

sbin/start-yarn.sh

启动YARN相关服务

sbin/mr jobhistory-daemon.sh start historyserver

/启动日志相关服务

cd /usr/hadoop/hadoop-2.7.3

sbin/start-dfs.sh 	# 启动HDFS相关服务	
sbin/start-yarn.sh	# 启动YARN相关服务
sbin/mr-jobhistory-daemon.sh start historyserver # 启动日志相关服务JobHistoryServer

sbin/start-all.sh # 启动所有
sbin/stop-dfs.sh  # 关闭所有

hadoop配置要求 hadoop需要什么配置_hadoop配置要求_15


master节点启动

hadoop配置要求 hadoop需要什么配置_linux_16


slave1节点启动

hadoop配置要求 hadoop需要什么配置_linux_17

slave2节点启动

hadoop配置要求 hadoop需要什么配置_hadoop配置要求_18


五、访问集群Web UI

HDFS监控

输入master:50070地址:
192.168.142.128:50070		# 进入hadoop界面

可以看到HDFS的监控页面

hadoop配置要求 hadoop需要什么配置_大数据_19

  1. Overview记录了NameNode的启动时间、版本号、编译版本等-些基本信息。
  2. Summary是集群信息,提供了当前集群环境的一些有用信息,从图中可知所有DataNode节点的基本存储信息,例如硬盘大小以及有多少被HDFS使用等-些数据信息,同时还标注了当前集群环境中DataNode的信息,对活动状态的DataNode也专门做了记录。
  3. NameNode Storage提供了NameNode的信息,最后的State标示此节点为活动节点,可正常提供服务。

hadoop配置要求 hadoop需要什么配置_hadoop_20

选择"Utilities" →“Browse the file system”菜单命令可以查看HDFS上的文件信息。

hadoop配置要求 hadoop需要什么配置_hadoop_21

YARN监控

在浏览器的地址栏输人“http//master:8088",, 即可看到YARN的监控界面。

hadoop配置要求 hadoop需要什么配置_hadoop配置要求_22


操作完Hadoop,记得先关闭集群,避免操作不当引起节点挂掉。

master执行:
sbin/stop-all.sh  # 关闭所有集群

hadoop配置要求 hadoop需要什么配置_linux_23


到此Hadoop集群的安装就圆满结束了。接下来的是对 Hbase、Spark等组件的配置与安装。