一、执行命令:vi /etc/resolv.conf,修改/etc/resolv.con
添加两个域名服务器
存盘退出
执行命令:yum -y install vim
二、测试master能否访问外网
三、登陆slave1,执行命令:vi /etc/resolv.conf,添加域名解析服务器
存盘退出后,执行命令:yum - install vim,安装vim编辑器
四、登陆slave2与slave1一样操作
(三)查看三台虚拟机主机名配置master虚拟机IP-主机名映射
同样的操作到slave2和slave2
关闭与禁用防火墙 1、关闭与禁用master虚拟机的防火墙同样操作到slave1和2
(六)关闭SeLinux安全机制
1、在master虚拟机上关闭SeLinux安全机制执行命令:vim /etc/sysconfig/selinux
同样操作1和2
(七)设置三台虚拟机相互免密登录 1、master虚拟机免密登录master、slave1与slave2执行命令:ssh-keygen,生成密钥对
执行命令:ssh-copy-id root@master,将公钥拷贝到master
执行命令:ssh-copy-id root@slave1,将公钥拷贝到slave1
执行命令:ssh-copy-id root@slave2,将公钥拷贝到slave2
验证master是否可以免密登录master、slave1与slave2
slave1虚拟机免密登录master、slave1与slave2同上一步操作(slave2)
(八)上传大数据相关软件到虚拟机
九)在三台虚拟机上安装配置JDK 1、在master虚拟机上安装配置JDK
- 进入/opt目录
执行命令:tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/local,将Java安装包解压到指定目录
执行命令:ll /usr/local/jdk1.8.0_162,查看解压之后的jdk1.8.0_162目录
执行命令:vim /etc/profile,配置环境变量
存盘退出,执行命令:source /etc/profile,让配置生效
查看JDK版本
编写一个Java程序 - HelloWorld.java
存盘退出后,执行命令:javac HelloWorld.java,编译成字节码文件
执行命令:java HelloWorld
2、将master虚拟机上安装的JDK分发到slave1和slave2虚拟机- 执行命令:scp -r $JAVA_HOME root@slave1:$JAVA_HOME (-r recursive - 递归)
slave1虚拟机上查看JDK是否拷贝成功
slave2同上操作
四、配置完全分布式Hadoop (一)在master虚拟机上安装配置hadoop 1、将hadoop安装包解压到指定位置- 执行命令:tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local
查看解压之后的hadoop目录(bin: 可执行文件;etc/hadoop: 配置目录;sbin: 启动关闭系统的命令)
2、配置hadoop环境变量
- 执行命令:vim /etc/profile
存盘退出,执行命令:source /etc/profile,让配置生效
3、编辑Hadoop环境配置文件 - hadoop-env.sh-
执行命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录
-
执行命令:vim hadoop-env.sh
-
存盘退出后,执行命令source hadoop-env.sh,让配置生效
-
查看三个配置的三个环境变量
-
4、编辑Hadoop核心配置文件 - core-site.xml - 执行命令:vim core-site.xml
由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000,否则必须用IP地址hdfs://192.168.1.101:9000
5、编辑HDFS配置文件 - hdfs-site.xml- 执行命令:vim hdfs-site.xml
6、编辑MapReduce配置文件 - mapred-site.xml
- 基于模板生成配置文件,执行命令:cp mapred-site.xml.template mapred-site.xml
- 执行命令:vim mapred-site.xml
7、编辑yarn配置文件 - yarn-site.xml
- 执行命令:vim yarn-site.xml
8、编辑slaves文件(定名分)
- 通过slaves文件定义从节点,有两个:slave1与slave2
- 执行命令:vim slaves
(二)在slave1虚拟机上安装配置hadoop 1、将master虚拟机上的hadoop分发到slave1虚拟机
- 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
在slave1节点上查看分发的hadoop
2、将master虚拟机上环境配置文件分发到slave1虚拟机
- 执行命令:scp /etc/profile root@slave1:/etc/profile
- 3、在slave1虚拟机上让环境配置生效
- 切换到slave1虚拟机,执行命令:source /etc/profile
- slave2同上
- (四)在master虚拟机上格式化名称节点
- 在master虚拟机上,执行命令:hdfs namenode -format
- 看到22/04/27 00:41:52 INFO common.Storage: Storage directory /usr/local/hadoop-2.7.7/tmp/namenode has been successfully formatted. ,表明名称节点格式化成功。 (五)启动Hadoop集群 1、在master虚拟机上启动hadoop集群
- 执行命令:start-dfs.sh,启动hdfs服务
一个名称节点(namenode)——老大,在master虚拟机上;两个数据节点(datanode)——小弟,在slave1与slave2虚拟机上。辅助名称节点(secondarynamenode)的地址是master,因为在hdfs-site.xml文件里配置了辅助名称节点。
此时查看三个虚拟机的进程
执行命令:start-yarn.sh,启动YARN服务
执行命令jps查看master虚拟机的进程,只有NameNode、SecondaryNameNode和ResourceManager
(六)停止Hadoop集群- 在master虚拟机上执行命令:stop-all.sh(相当于同时执行了stop-dfs.sh与stop-yarn.sh)
五、配置Spark Standalone集群 (一)在master虚拟机上安装配置Spark 1、进入/opt目录,查看spark安装包
2、将spark安装包解压到指定目录
- 执行命令:tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /usr/local
- 执行命令:vim /etc/profile
存盘退出后,执行命令:source /etc/profile,让配置生效
查看spark安装目录(bin、sbin和conf三个目录很重要)
4、编辑spark环境配置文件 - spark-env.sh
- 进入spark配置目录后,执行命令:cp spark-env.sh.template spark-env.sh与vim spark-env.sh
存盘退出,执行命令:source spark-env.sh,让配置生效
5、创建slaves文件,添加从节点- 执行命令:vim slaves,添加两个从节点主机名slave1slave2
- (二)在slave1虚拟机上安装配置Spark 1、把master虚拟机上安装的spark分发给slave1虚拟机
- 执行命令:scp -r $SPARK_HOME root@slave1:$SPARK_HOME
- 在master虚拟机上,执行命令:scp /etc/profile root@slave1:/etc/profile
在slave1虚拟机上,执行命令:source /etc/profile,让环境配置生效
slave2同上
六、启动Spark Standalone集群(一)启动hadoop的dfs服务
- 在master虚拟机上执行命令:start-dfs.sh
(二)启动Spark集群
- 执行命令:start-all.sh
查看master、slave1、slave2节点进程
七、使用Spark Standalone集群 (一)启动Scala版Spark Shell
- 执行命令:spark-shell --master spark://master:7077



