CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建

准备工作:

下载CDH的hadoop安装包, 这里选择5.14.0版本

http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.14.0-src.tar.gz

CDH的hadoop的安装包下载下来后, 是没有提供带C程序访问的接口, 所以我们在使用本地库(本地库可以用来做压缩,以及支持C程序等等)的时候就会出问题, 所以我们需要下载src源码进行编译.

CDH的hadoop-2.6.0-cdh5.14.0编译博文链接: https://blog.csdn.net/weixin_42582592/article/details/83000529

第一步: 上传压缩包并解压

上传编译后的CDH 5.14.0压缩包到第一台机器上, 并解压
CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建_第1张图片

查看hadoop支持的压缩方式以及本地库

bin/hadoop checknative 监测native是否可用

如果出现openssl为false,那么所有机器在线安装openssl即可,执行以下命令,虚拟机联网之后就可以在线进行安装了.

yum -y install openssl-devele
CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建_第2张图片

安装完成后, 再次检查native, 发现openssl已经可用.

第二步: 修改配置文件

CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建_第3张图片

接下来要修改6个配置文件, 我们使用nodepad++提供的Nppftp功能, 连接第一台机器, 找到这个目录

/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop

分别打开以下6个配置文件:

  • core-site.xml
  • hadoop-env.sh
  • hdfs-site.xml
  • mapred-site.xml (有可能是mapred-site.xml.template, 修改文件名去掉.template即可)
  • slaves
  • yarn-site.xml

1. 修改core-site.xml文件

<configuration>
	
	<property>
		<name>fs.defaultFSname>
		<value>hdfs://node01:8020value>
	property>
	
	<property>
		<name>hadoop.tmp.dirname>
		<value>/export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatasvalue>
	property>
	
	<property>
		<name>io.file.buffer.sizename>
		<value>4096value>
	property>
	
	<property>
		<name>fs.trash.intervalname>
		<value>10080value>
	property>
configuration>

2. 修改hadoop-env.sh文件

export JAVA_HOME=/export/servers/jdk1.8.0_144

3. 修改hdfs-site.xml文件

<configuration>
	 
	
	
	
	<property>
		<name>dfs.namenode.secondary.http-addressname>
		<value>node01:50090value>
	property>
	
	<property>
		<name>dfs.namenode.http-addressname>
		<value>node01:50070value>
	property>
	
	<property>
		<name>dfs.namenode.name.dirname>
		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatasvalue>
	property>
	
	<property>
		<name>dfs.datanode.data.dirname>
		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatasvalue>
	property>
	
	<property>
		<name>dfs.namenode.edits.dirname>
		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/editsvalue>
	property>
	
	<property>
		<name>dfs.namenode.checkpoint.dirname>
		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/namevalue>
	property>
	
	<property>
		<name>dfs.namenode.checkpoint.edits.dirname>
		<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/editsvalue>
	property>
	
	<property>
		<name>dfs.replicationname>
		<value>3value>
	property>
	
	<property>
		<name>dfs.permissionsname>
		<value>falsevalue>
	property>
	
	<property>
		<name>dfs.blocksizename>
		<value>134217728value>
	property>
configuration>

4. 修改mapred-site.xml文件

<configuration>
	
	<property>
		<name>mapreduce.framework.namename>
		<value>yarnvalue>
	property>
	
	<property>
		<name>mapreduce.job.ubertask.enablename>
		<value>truevalue>
	property>
	
	<property>
		<name>mapreduce.jobhistory.addressname>
		<value>node01:10020value>
	property>
	
	<property>
		<name>mapreduce.jobhistory.webapp.addressname>
		<value>node01:19888value>
	property>
configuration>

5. 修改slaves文件

node01
node02
node03

6. 修改yarn-site.xml文件

<configuration>
	
	<property>
		<name>yarn.resourcemanager.hostnamename>
		<value>node01value>
	property>
	
	<property>
		<name>yarn.nodemanager.aux-servicesname>
		<value>mapreduce_shufflevalue>
	property>
	
	<property>
		<name>yarn.log-aggregation-enablename>
		<value>truevalue>
	property>
	
	<property>
		<name>yarn.log-aggregation.retain-secondsname>
		<value>604800value>
	property>
configuration>

7. 修改mapred-env.sh文件 (可选)

export JAVA_HOME=/export/servers/jdk1.8.0_144

第三步: 创建数据存储的文件夹

我们在上面的配置文件中配置了很多数据的存储位置, 比如元数据的存储位置, datanode的存储位置, edites的存储位置, hadoop的临时文件位置等多个. 那么接下来就要把这些文件夹给创建出来.

在第一台机器上创建文件夹, 这些位置我都放在了hadoopDatas文件夹下面

tempDatas 是hadoop临时文件存放位置

namenodeDatas 是namenode元数据存储位置

datanodeDatas 是datanode数据存储位置

dfs/nn/edits 是edites存储位置

dfs/snn/name 是元数据检查点的存储位置

dfs/nn/snn/edits 是edites检查点的存储位置

mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas 
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits

第四步: 发送安装包到其他机器

cd /export/servers/
scp -r hadoop-2.6.0-cdh5.14.0/ node02:$PWD
scp -r hadoop-2.6.0-cdh5.14.0/ node03:$PWD

第五步: 配置hadoop的环境变量

三台机器都要进行配置hadoop的环境变量

三台机器执行以下命令

vim /etc/profile

export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存退出后, 执行 source /etc/profile

第六步: 启动集群

要启动 Hadoop 集群, 需要启动 HDFS 和 YARN 两个集群.

注意: 首次启动HDFS时, 必须对其进行格式化操作. 本质上是一些清理和准备工作, 因为此时的 HDFS 在物理上还是不存在的.

bin/hdfs namenode -format 或者 bin/hadoop namenode –format

单个节点逐一启动

在主节点上使用以下命令启动 HDFS NameNode:

hadoop-daemon.sh start namenode

在每个从节点上使用以下命令启动 HDFS DataNode:

hadoop-daemon.sh start datanode

在主节点上使用以下命令启动 YARN ResourceManager:

yarn-daemon.sh start resourcemanager

在每个从节点上使用以下命令启动 YARN nodemanager:

yarn-daemon.sh start nodemanager

在主节点上使用以下命令启动 jobhistory:

mr-jobhistory-daemon.sh start historyserver

以上脚本位于$HADOOP_PREFIX/sbin/目录下。如果想要停止某个节点上某个角色,只需要把命令中的start 改为stop 即可。

脚本一键启动

如果配置了 etc/hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。

启动集群

第一台机器执行以下命令

cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

停止集群

sbin/stop-dfs.sh
sbin/stop-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

第七步: 浏览器访问

192.168.179.100:50070 访问hdfs集群

192.168.179.100:8088 访问yarn集群

192.168.179.100:19888 访问jobhistory
CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建_第4张图片
CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建_第5张图片
CDH版本的hadoop-2.6.0-cdh5.14.0伪集群版搭建_第6张图片

好了, CDH版本的hadoop就搭建成功了, 当然啦, hadoop生态圈中随便拉出来看看就是一大堆的框架…而且本文搭建完成的分布式并没有实现主节点的高可用, 后面有机会专门出博文介绍如何实现nameNode和resourceManager的高可用.

你可能感兴趣的:(大数据)