vi /etc/hostname # 主机 master
vi /etc/sysconfig/network-scrpit/ifcfg-ens33 修改网络配置
systemctl restart network 重启网络,使修改生效
接下来 slave1 和 slave2 分别设置为192.168.72.101、192.168.72.102
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 禁止开机启动
systemctl status firewalld 检查防火墙运行状态
打开主节点的hosts文件,要将文件的前两行注释掉 (注释当前主机的信息)并在文件中添加所有hadoop集群的主机信息。
vi /etc/hosts
192.168.72.100 master
192.168.72.101 slave1
192.168.72.102 slave2
保存之后,将主节点的hosts分别拷贝到其他两个子节点
scp /etc/hosts [email protected]:/etc/
scp /etc/hosts [email protected]:/etc/
在每个节点上分别执行:
ssh-keygen -t rsa
一直按回车直到生成结束
执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub
其中前者为私钥,后者为公钥
在主节点上执行:
cp id_rsa.pub authorized_keys
将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
scp ~/.ssh/id_rsa.pub root@master:~/.ssh/id_rsa_slave1.pub
scp ~/.ssh/ id_rsa.pub root@master:/~/.ssh/id_rsa_slaver2.pub
然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去
主节点上执行:
cat id_rsa_slave1.pub >> authorized_keys
cat id_rsa_slave2.pub >> authorized_keys
最后测试是否配置成功
在master上分别执行
ssh slave1
ssh slave2
能正确跳转到两台子节点的操作界面即可,同样在每个子节点通过相同的方式登录主节点和其他子节点也能无密码正常登录就表示配置成功。
这里的配置方式可以有多种操作步骤,最终目的是每个节点上的/root/.ssh/authorized_keys文件中都包含所有的节点生成的公钥内容。
scp authorized_keys root@slaver:/root/.ssh/
scp authorized_keys root@slave2:/root/.ssh/
1. 卸载jbk
查看系统已经安装的jdk
rpm -qa|grep jdk
卸载jdk:
rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64
2. 安装jdk
所有软件都安装在 /usr/local 目录下
上传 jdk 到 master 下的 /root
解压 jdk 到当前目录
tar -xvf jdk_xxxxx
移动到 /usr/local/jdk 目录中
mv jdk1.8.0_141/ /usr/local/jdk
配置环境变量
vi /etc/profile
追加
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
刷新环境变量
source /etc/profile
检查 jdk 是否安装成功
java –version
上传 hadoop 到 master 下的 /root
解压 hadoop 到当前目录
tar -xvf hadoop_xxxx
移动到 /usr/local/hadoop 目录中
mv hadoop-2.7.3 /usr/local/hadoop
配置环境变量
vi /etc/profile
追加
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
刷新环境变量
source /etc/profile
检查 hadoop 是否安装成功
hadoop version
进入 hadoop 安装目录下的 /usr/local/hadoop/etc/hadoop 目录
配置 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml slaves
3.1 配置 core-site.xml
fs.defaultFS
hdfs://master:9000
tmp.dir
/usr/local/hadoop/hdfs
3.2 配置 hdfs-site.xml
dfs.namenode.secondary.http-address
hdfs://master:50090
3.3 配置 hadoop-env.sh
修改第 25 行的 JAVA_HOME 为 jdk 安装目录
export JAVA_HOME=/usr/local/jdk
3.4 配置 yarn-env.sh
解注释第 23 行,修改为 jdk 安装目录
export JAVA_HOME=/usr/local/jdk
3.5 配置 yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
master
3.6 配置 mapred-site.xml
生成 mapred-site.xml 文件
mv mapred-site.xml.template mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
3.7 配置 slaves 文件
删除 localhost
增加
master
slave1
slave2
3. 8 在 master 执行下列命令,把配置好的文件发送到 slave1 和 slave2
scp -r /usr/local/jdk/ root@slave1:/usr/local/
scp -r /usr/local/jdk/ root@slave2:/usr/local/
scp -r /usr/local/hadoop/ root@slave1:/usr/local/
scp -r /usr/local/hadoop/ root@slave2:/usr/local/
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
分别在 slave1 和 slave2 执行下列命令
source /etc/profile
java -version
hadoop version
在 master 上执行命令格式化集群
hdfs namenode -format 不允许多次执行
出现 name has been successfully formatted 表明成功
不允许多次格式化,会导致集群无法启动
如果出错:
1. 修改配置文件
2. 删除 三个主机上的 上的 /usr/local/hadoop/hdfs 文件夹
3. 使用 scp 命令把修改的内容发送到 slave1 和 salve2 下,时刻保持 3 个虚拟机的配置文件是一致的
4. 重新格式化
在 master 启动 hadoop 集群
start-dfs.sh
验证集群是否正常
分别执行 jps 命令,包含以下内容即正常
master:
NameNode
SecondaryNameNode
slave1 和 slave2:
DataNode
访问:http://master的ip:50070
第一种:
stop-yarn. sh (jps后如果有yarn的话就得先关yarn)
stop-dfs.sh
第二种:
stop-all.sh (直接全关掉)
切记:关虚拟机前先关闭 hadoop 集群,不然可能会导致集群的崩溃
链接:https://pan.baidu.com/s/1RyJ2I4wUlVxgaGJXtIsBNw
提取码:rrzz
复制这段内容后打开百度网盘手机App,操作更方便哦