配置文件的批改
留神:以下所有操作都在 node01 主机进行。
1.1 hadoop-env.sh
1、介绍
文件中设置的是 Hadoop 运行时须要的环境变量。JAVA_HOME 是必须设置的,即便咱们以后的零碎中设置了 JAVA_HOME,它也是不意识的,因为 Hadoop 即便是在本机上执行,它也是把以后的执行环境当成近程服务器。
2、配置
cd /export/server/hadoop-3.0.0/etc/hadoop
vim hadoop-env.sh
增加以下内容:
export JAVA_HOME=/export/server/jdk1.8.0_2411.2 core-site.xml
1、介绍
hadoop 的外围配置文件,有默认的配置项 core-default.xml。
core-default.xml 与 core-site.xml 的性能是一样的,如果在 core-site.xml 里没有配置的属性,则会主动会获取 core-default.xml 里的雷同属性大数据培训的值。
2、配置
在该文件中的 <configuration> 标签中增加以下配置,
cd /export/server/hadoop-3.0.0/etc/hadoop
vim core-site.xml
<configuration>
配置内容如下:
<!– 用于设置 Hadoop 的文件系统,由 URI 指定 –>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:8020</value>
</property>
<!– 配置 Hadoop 存储数据目录, 默认 /tmp/hadoop-${user.name} –>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/server/hadoop-3.0.0/hadoopDatas/tempDatas</value>
</property>
<!– 缓冲区大小,理论工作中依据服务器性能动静调整 –>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!– 开启 hdfs 的垃圾桶机制,删除掉的数据能够从垃圾桶中回收,单位分钟 –>
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
1.3 hdfs-site.xml
1、介绍
HDFS 的外围配置文件,次要配置 HDFS 相干参数,有默认的配置项 hdfs-default.xml。hdfs-default.xml 与 hdfs-site.xml 的性能是一样的,如果在 hdfs-site.xml 里没有配置的属性,则会主动会获取 hdfs-default.xml 里的雷同属性的值。
2、配置
在该文件中的 <configuration> 标签中增加以下配置,
<configuration>
在这里增加配置
</configuration>
cd /export/server/hadoop-3.0.0/etc/hadoop
vim hdfs-site.xml
配置以下内容
<!– 指定 SecondaryNameNode 的主机和端口 –>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property>
<!– 指定 namenode 的页面拜访地址和端口 –>
<property>
<name>dfs.namenode.http-address</name>
<value>node01:50070</value>
</property>
<!– 指定 namenode 元数据的寄存地位 –>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///export/server/hadoop-3.0.0/hadoopDatas/namenodeDatas</value>
</property>
<!– 定义 datanode 数据存储的节点地位 –>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///export/server/hadoop-3.0.0/hadoopDatas/datanodeDatas</value>
</property>
<!– 定义 namenode 的 edits 文件寄存门路 –>
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///export/server/hadoop-3.0.0/hadoopDatas/nn/edits</value>
</property>
<!– 配置检查点目录 –>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///export/server/hadoop-3.0.0/hadoopDatas/snn/name</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///export/server/hadoop-3.0.0/hadoopDatas/dfs/snn/edits</value>
</property>
<!– 文件切片的正本个数 –>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!– 设置 HDFS 的文件权限 –>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!– 设置一个文件切片的大小:128M–>
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<!– 指定 DataNode 的节点配置文件 –>
<property>
<name> dfs.hosts </name>
<value>/export/server/hadoop-3.0.0/etc/hadoop/slaves </value>
</property>
1.4 mapred-site.xml
1、介绍
MapReduce 的外围配置文件,Hadoop 默认只有个模板文件 mapred-site.xml.template, 须要应用该文件复制进去一份 mapred-site.xml 文件
2、配置
在 mapred-site.xml 文件中的 <configuration> 标签中增加以下配置,
<configuration>
在这里增加配置
</configuration>
cd /export/server/hadoop-3.0.0/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
配置以下内容:
<!– 指定分布式计算应用的框架是 yarn –>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!– 开启 MapReduce 小工作模式 –>
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<!– 设置历史工作的主机和端口 –>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node01:10020</value>
</property>
<!– 设置网页拜访历史工作的主机和端口 –>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node01:19888</value>
</property>1.5 mapred-env.sh
在该文件中须要指定 JAVA_HOME, 将原文件的 JAVA_HOME 配置前边的正文去掉,而后依照以下形式批改:
cd /export/server/hadoop-3.0.0/etc/hadoop
vim mapred-env.sh
export JAVA_HOME=/export/server/jdk1.8.0_2411.6 yarn-site.xml
YARN 的外围配置文件, 在该文件中的 <configuration> 标签中增加以下配置,
<configuration>
在这里增加配置
</configuration>
cd /export/server/hadoop-3.0.0/etc/hadoop
vim yarn-site.xml
增加以下配置:
<!– 配置 yarn 主节点的地位 –>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!– 开启日志聚合性能 –>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!– 设置聚合日志在 hdfs 上的保留工夫 –>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<!– 设置 yarn 集群的内存调配计划 –>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>1.7 workers
1、介绍
workers 文件外面记录的是集群主机名。个别有以下两种作用:
一是:配合一键启动脚本如 start-dfs.sh、stop-yarn.sh 用来进行集群启动。这时候 slaves 文件外面的主机标记的就是从节点角色所在的机器。
二是:能够配合 hdfs-site.xml 外面 dfs.hosts 属性造成一种白名单机制。dfs.hosts 指定一个文件,其中蕴含容许连贯到 NameNode 的主机列表。必须指定文件的残缺路径名, 那么所有在 workers 中的主机才能够退出的集群中。如果值为空,则容许所有主机。
2、配置
cd /export/server/hadoop-3.0.0/etc/hadoop
vim workers
删除 workers 中的 localhost,而后增加以下内容:
node01
node02
node03
数据目录创立和文件散发
留神:以下所有操作都在 node01 主机进行。
2.1 目录创立
创立 Hadoop 所需目录
mkdir -p /export/server/hadoop-3.0.0/hadoopDatas/tempDatas
mkdir -p /export/server/hadoop-3.0.0/hadoopDatas/namenodeDatas
mkdir -p /export/server/hadoop-3.0.0/hadoopDatas/datanodeDatas
mkdir -p /export/server/hadoop-3.0.0/hadoopDatas/nn/edits
mkdir -p /export/server/hadoop-3.0.0/hadoopDatas/snn/name
mkdir -p /export/server/hadoop-3.0.0/hadoopDatas/dfs/snn/edits2.2 文件散发
将配置好的 Hadoop 目录散发到 node02 和 node03 主机。
scp -r /export/server/hadoop-3.0.0/ node02:/export/server/
scp -r /export/server/hadoop-3.0.0/ node03:/export/server/ 配置 Hadoop 的环境变量
留神:三台机器都须要执行以下命令
vim /etc/profile
增加以下内容:
export HADOOP_HOME=/export/server/hadoop-3.0.0
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
配置实现之后失效
source /etc/profile 启动集群
4.1 启动形式
要启动 Hadoop 集群,须要启动 HDFS 和 YARN 两个集群。
留神:首次启动 HDFS 时,必须对其进行格式化操作。实质上是一些清理和筹备工作,因为此时的 HDFS 在物理上还是不存在的。
在 node01 上执行格式化指令
hadoop namenode -format4.2 单节点一一启动
在 node01 主机上应用以下命令启动 HDFS NameNode:
hadoop-daemon.sh start namenode 在 node01、node02、node03 三台主机上,别离应用以下命令启动 HDFS DataNode:
hadoop-daemon.sh start datanode 在 node01 主机上应用以下命令启动 YARN ResourceManager:
yarn-daemon.sh start resourcemanager 在 node01、node02、node03 三台主机上应用以下命令启动 YARN nodemanager:
yarn-daemon.sh start nodemanager 以上脚本位于 /export/server/hadoop-3.0.0/sbin 目录下。如果想要进行某个节点上某个角色,只须要把命令中的 start 改为 stop 即可。
4.3 脚本一键启动
启动 HDFS
start-dfs.sh
启动 Yarn
start-yarn.sh
启动历史工作服务过程
mr-jobhistory-daemon.sh start historyserver 启动之后,应用 jps 命令查看相干服务是否启动,jps 是显示 Java 相干的过程命.
进行集群:stop-dfs.sh、stop-yarn.sh、mr-jobhistory-daemon.sh stophistoryserver
留神: 如果在启动之后,有些服务没有启动胜利,则须要查看启动日志,Hadoop 的启动日志在每台主机的 /export/server/hadoop-3.0.0/logs/ 目录,须要依据哪台主机的哪个服务启动状况去对应的主机上查看相应的日志。