准备工作
- 准备3台客户机(关闭防火墙、静态ip、主机名称、hsots)
- 安装JDK
- 配置环境变量
- 安装Hadoop
- 配置环境变量
- 配置集群
- 单点启动
- 配置ssh
- 群起并测试集群
CentOS7使用集群同步脚本对配置文件同步分发
参考 https://www.cnblogs.com/mwcloud/p/11350617.html
scp(secure copy)安全拷贝
scp -r /opt/module root@hadoop102:/opt/module
rsync 远程同步工具
rsync -rvl /opt/software/ root@hadoop102:/opt/software
注意: rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
集群配置
注意 NameNode SecondaryNameNode ResourceManager 不能处于同一台机器上
hadoop102 NameNode
hadoop103 ResourceManager
hadoop104 SecondaryNameNode
核心配置
- 核心配置文件
core-site.xml
[root@hadoop102 ~]# cd /opt/module/hadoop-2.7.2/etc/hadoop/
[root@hadoop102 hadoop]# vi core-site.xml
在配置文件中的configuration节点下添加如下内容
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
- HDFS配置文件
配置hadoop-env.sh
vi hadoop-env.sh
修改Java 环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置hdfs-site.xml
vi hdfs-site.xml
在配置文件中的configuration节点下添加如下内容
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>
- YARN配置文件
vi yarn-env.sh
修改Java 环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml
vi yarn-site.xml
在配置文件中的configuration节点下添加如下内容
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
- MapReduce配置文件
vi mapred-env.sh
修改Java 环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
在配置文件中的configuration节点下添加如下内容
<!-- 指定MR运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
在集群上分发配置好的Hadoop配置文件
在hadoop102
xsync /opt/module/hadoop-2.7.2/
查看文件分发情况
在hadoop103上
cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
SSH无密码登陆配置
生成公钥私钥
ssh-keygen -t rsa
将公钥复制到目标服务器的authorized_keys文件
注意 目标地址的 authorized_keys 这个文件需要据又 644 权限
ssh-copy-id hadoop104
群起集群
配置slaves
cd /opt/module/hadoop-2.7.2/etc/hadoop/
vi slaves
添加一下节点
注意在slaves文件内不能有多余的空格,以及空行
hadoop102
hadoop103
hadoop104
同步所有节点配置
xsync slaves
群起启动集群
注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。
# 返回到住目录
cd ../../
# 启动HDFS
sbin/start-dfs.sh
# 启动YARN
sbin/start-yarn.sh
查看Web端查看SecondaryNameNode
http://hadoop104:50090/status.html
上传验证
bin/hdfs dfs -put /opt/software/jdk-8u144-linux-x64.tar.gz /