准备工作

首先准备四台虚拟机master01,master02,slave01,slave02,配置下免密,详情参考上一篇博客:

在/opt下新建software,software下新建 base hadoop spark文件夹:base文件下放jdk和scala解压缩的文件夹,hadoop下放hadoop压缩包解压缩的文件夹,注意该文件夹的用户要为root,不是的话用chown -R root:root hadoop313命令修改

如何画数仓架构图 数仓怎么搭建_大数据


在/opt/software/hadoop/hadoop313下新建data文件夹,在data文件夹下新建dfs文件夹,在dfs文件夹下新建name和data文件夹,用来存放hadoop的元数据和实际的数据信息

如何画数仓架构图 数仓怎么搭建_hadoop_02


/opt/software/hadoop/hadoop313/etc/hadoop/workers下写入集群主机的hostname

master01
master02
slave01
slave02

配置文件

cd /opt/software/hadoop/hadoop313/etc/hadoop

vi core-site.xml

<!--配置namenode的地址-->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master01:9820</value>
	</property>
	<!--配置数据存储目录-->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/software/hadoop/hadoop313/data</value>
	</property>
	<!--配置HDFS网页登录使用的静态用户为root-->
	<property>
		<name>hadoop.http.staticuser.user</name>
		<value>root</value>
	</property>
	<!--配置root(超级用户)允许通过代理访问的主机节点-->
	<property>
		<name>hadoop.proxyuser.root.hosts</name>
		<value>*</value>
	</property>
	<!--配置root(超级用户)允许通过代理用户所属组-->
	<property>
		<name>hadoop.proxyuser.root.groups</name>
		<value>*</value>
	</property>
	<!--配置root(超级用户)允许通过代理的用户-->
	<property>
		<name>hadoop.proxyuser.root.user</name>
		<value>*</value>
	</property>

vi hdfs-site.xml

<!--配置namenode web访问地址-->
	<property>
		<name>dfs.namenode.http-address</name>
		<value>master01:9870</value>
	</property>
	<!--配置secondary namenode web访问地址-->
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>master02:9868</value>
	</property>
	<!--配置hdfs副本数量-->
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>

vi yarn-site.xml

<!--配置mr的执行方式-->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<!--配置ResourceManager的地址-->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>master02</value>
	</property>
	<!--配置环境变量的继承-->
	<property>
		<name>yarn.nodemanager.env-whitelist</name>
		<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
	</property>
	<!--配置yarn容器允许分配的最小内存-->
	<property>
		<name>yarn.scheduler.minimum-allocation-mb</name>
		<value>512</value>
	</property>
	<!--配置yarn容器允许分配的最大内存-->
	<property>
		<name>yarn.scheduler.maximum-allocation-mb</name>
		<value>1536</value>
	</property>
	<!--配置yarn容器允许管理的物理内存大小-->
	<property>
		<name>yarn.nodemanager.resource.memory-mb</name>
		<value>1536</value>
	</property>
	<!--配置关闭yarn对物理内存和虚拟内存的限制检查,
	jdk8运行于centos6以上版本会导致虚拟内存过大-->
	<property>
		<name>yarn.nodemanager.pmem-check-enabled</name>
		<value>false</value>
	</property>
	<!--配置关闭yarn对物理内存和虚拟内存的限制检查-->
	<property>
		<name>yarn.nodemanager.vmem-check-enabled</name>
		<value>false</value>
	</property>
	<!--开启日志聚集-->
	<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
	</property>
	<!--配置日志聚集服务器地址-->
	<property>
		<name>yarn.log.server.url</name>
		<value>http://master01:19888/jobhistory/logs</value>
	</property>
	<!--配置日志保留时间为7天-->
	<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>604800</value>
	</property>

vi mapred-site.xml

<!--配置mapreduce运行于yarn上:默认为local,也可以指定spark阶段了解的mesos-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
	<!--配置历史服务器地址-->
	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>master02:10020</value>
	</property>
	<!--配置历史服务器web端地址-->
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>master02:19888</value>
	</property>

在/etc/profile.d文件夹下vi my.sh,写入

#BASE_HOME
export JAVA_HOME=/opt/software/base/jdk180
export SCALA_HOME=/opt/software/base/scala21112
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#HADOOP_HOME
export HADOOP_HOME=/opt/software/hadoop/hadoop313
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

如何画数仓架构图 数仓怎么搭建_hadoop_03

格式化

hdfs namenode -format

激活环境

source /etc/profile

文件分发

把在master01上配置好的software文件远程拷贝到到其他几个节点上

我是利用自己写的脚本实现分发的

如何画数仓架构图 数仓怎么搭建_hadoop_04

启动服务

master01下执行start-dfs.sh,jps查询服务进程有
2897 DataNode
2727 NameNode
3195 Jps

master02下执行start-yarn.sh,jps查询服务进程有
2450 NodeManager
2125 ResourceManager
2591 Jps

验证

cd /opt/software/hadoop/hadoop313/share/hadoop/mapreduce

执行hadoop jar hadoop-mapreduce-examples-3.1.3.jar pi 1 1 ,结果如果则显示MapReduce成功

如何画数仓架构图 数仓怎么搭建_大数据_05

待续。。。