准备工作
三台虚拟机,关闭防火墙,关闭selinux
查看防火状态 systemctl status firewalld
暂时关闭防火墙 systemctl stop firewalld
永久关闭防火墙 systemctl disable firewalld
查看 selinux状态 getenforce
暂时关闭 selinux setenforce 0
永久关闭 selinux 在/etc/selinux/config文件中将SELINUX改为disabled
修改主机名:hostnamectl set-hostname 主机名称
修改映射文件/etc/hosts 使得三台主机可以互ping
配置ssh免密登录
ssh-keygen -t rsa 生成私钥与公钥
ssh-copy-id hadoop01 将公钥复制到需要远程连接的机器上
注意:也需要分发给自己,否则启动hadoop进程的时候会要求输入密码
解压jdk与hadoop压缩包 解压到/usr/local/src/目录下
配置jdk与Hadoop环境变量
如果觉得环境变量太长可以把后面的版本号删除
在/etc/profile文件中修改配置文件
修改Hadoop配置文件
evn文件 hadoop-env.sh yarn-env.sh mapred-env.sh
在env.sh中配置java环境
注意:三个env文件中都要配置java,否则无法启动集群
配置HDFS相关文件
配置core-site.xml
<configuration> <property> <!-- 指定HDFS中NameNode的地址 --> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <!-- 指定Hadoop运行时产生文件的存储目录 --> <name>hadoop.tmp.dir</name> <value>/usr/local/src/hadoop/data/tmp</value> </property> </configuration>
配置hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>4</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/src/hadoop/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/src/hadoop/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>slave2:50090</value> </property> </configuration>
配置yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn-resourcemanager.hostname</name> <value>slave1</value> </property> </configuration>
配置mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
配置slave文件 写入其他主机名称
全部配置完之后分发给其他集群
scp命令说明
-r是传输文件夹,如果只是传输文件,可以不需要加-r
root是传输给root用户,如果要传输给其他用户也可以修改为其他用户的名称
@后面加主机名 hadoop02是主机名
:后面加传输的目录下
格式化NameNode
第一次开启必须要格式化
注意:如果需要重新格式化,将namenode存放的路径的目录删除即可
[hadoop@hadoop01 hadoop-2.7.2]$ bin/hdfs namenode -format
启动HDFS
在NameNode节点启动
[hadoop@hadoop01 hadoop-2.7.2]$ sbin/start-dfs.sh [hadoop@hadoop01 hadoop-2.7.2]$ jps
启动Yarn
在Resourcemanager节点启动
[hadoop@hadoop02 hadoop-2.7.2]$ sbin/start-yarn.sh [hadoop@hadoop02 hadoop-2.7.2]$ jps
使用jps查看进程与节点是否对应
hadoop01 192.168.112.101 | hadoop02 192.168.112.102 | hadoop03 192.168.112.103 | |
---|---|---|---|
HDFS |
NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
YARN | NodeManager |
ResourceManager NodeManager |
NodeManager |
启动HDFS:start-dfs.sh
启动Yarn:start-yarn.sh
关闭HDFS:stop-dfs.sh
关闭Yarn:stop-yarn.sh
最终全部启动
标签:完全,selinux,配置,hadoop,yarn,sh,dfs,分布式 From: https://www.cnblogs.com/gudeman/p/17311057.html