一、搭建全分布式集群
首先规划集群的节点数在服务器上面的分配 比如我们可以规划为: (1) hadoop0001 4G namenode resourcemanager (2) datanode nodemanager (3) hadoop0002 1G datanode nodemanager secondarynamenode hadoop0003 1G datanode nodemanager
二、 SSH无密登录配置
(1)基本语法 ssh另一台电脑的ip地址 (2)ssh连接时出现Host key verification failed的解决方法 [atguigu@hadoop102 opt] $ ssh 192.168.1.103 The authenticity of host ‘192.168.1.103 (192.168.1.103)’ can’t be established. RSA key fingerprint is cf:1e🇩🇪d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06. Are you sure you want to continue connecting (yes/no)? Host key verification failed. (3)解决方案如下:直接输入yes
2、免密登录原理
(1)免密登录原理,如图2-40所示 图2-40 免密登陆原理 (2)生成公钥和私钥: [atguigu@hadoop102 .ssh]$ ssh-keygen -t rsa 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) (3)将公钥拷贝到要免密登录的目标机器上 [atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop102 [atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop103 [atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop104 注意: 还需要在hadoop102上采用root账号,配置一下无密登录到hadoop102、hadoop103、hadoop104; 还需要在hadoop103上采用atguigu账号配置一下无密登录到hadoop102、hadoop103、hadoop104服务器上。 4. .ssh文件夹下(~/.ssh)的文件功能解释 表2-4 known_hosts 记录ssh访问过计算机的公钥(public key) id_rsa 生成的私钥 id_rsa.pub 生成的公钥 authorized_keys 存放授权过得无密登录服务器公钥
三、集群配置
集群部署规划 表2-3 hadoop102 hadoop103 hadoop104 HDFS NameNode DataNode DataNode SecondaryNameNode DataNode YARN NodeManager ResourceManager NodeManager NodeManager 配置集群 (1)核心配置文件 配置core-site.xml [atguigu@hadoop102 hadoop]$ vi core-site.xml 在该文件中编写如下配置
fs.defaultFS hdfs://hadoop102:9000
hadoop.tmp.dir /opt/module/hadoop-2.7.2/data/tmp (2)HDFS配置文件 配置hadoop-env.sh [atguigu@hadoop102 hadoop]$ vi hadoop-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置hdfs-site.xml [atguigu@hadoop102 hadoop]$ vi hdfs-site.xml 在该文件中编写如下配置 dfs.replication 3
dfs.namenode.secondary.http-address hadoop104:50090 (3)YARN配置文件 配置yarn-env.sh [atguigu@hadoop102 hadoop]$ vi yarn-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置yarn-site.xml [atguigu@hadoop102 hadoop]$ vi yarn-site.xml 在该文件中增加如下配置
yarn.nodemanager.aux-services mapreduce_shuffle
yarn.resourcemanager.hostname hadoop103 (4)MapReduce配置文件 配置mapred-env.sh [atguigu@hadoop102 hadoop]$ vi mapred-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置mapred-site.xml [atguigu@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[atguigu@hadoop102 hadoop]$ vi mapred-site.xml 在该文件中增加如下配置
mapreduce.framework.name yarn 3.在集群上分发配置好的Hadoop配置文件 [atguigu@hadoop102 hadoop]$ xsync /opt/module/hadoop-2.7.2/ 4.查看文件分发情况 [atguigu@hadoop103 hadoop]$ cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml 集群配置 1. 集群部署规划 表2-3 hadoop102 hadoop103 hadoop104 HDFS NameNode DataNode DataNode SecondaryNameNode DataNode YARN NodeManager ResourceManager NodeManager NodeManager 2. 配置集群 (1)核心配置文件 配置core-site.xml [atguigu@hadoop102 hadoop]$ vi core-site.xml 在该文件中编写如下配置
fs.defaultFS hdfs://hadoop102:9000
hadoop.tmp.dir /opt/module/hadoop-2.7.2/data/tmp (2)HDFS配置文件 配置hadoop-env.sh [atguigu@hadoop102 hadoop]$ vi hadoop-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置hdfs-site.xml [atguigu@hadoop102 hadoop]$ vi hdfs-site.xml 在该文件中编写如下配置 dfs.replication 3
dfs.namenode.secondary.http-address hadoop104:50090 (3)YARN配置文件 配置yarn-env.sh [atguigu@hadoop102 hadoop]$ vi yarn-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置yarn-site.xml [atguigu@hadoop102 hadoop]$ vi yarn-site.xml 在该文件中增加如下配置
yarn.nodemanager.aux-services mapreduce_shuffle
yarn.resourcemanager.hostname hadoop103 (4)MapReduce配置文件 配置mapred-env.sh [atguigu@hadoop102 hadoop]$ vi mapred-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_144 配置mapred-site.xml [atguigu@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[atguigu@hadoop102 hadoop]$ vi mapred-site.xml 在该文件中增加如下配置
mapreduce.framework.name yarn **3.在集群上分发配置好的Hadoop配置文件** [atguigu@hadoop102 hadoop]$ xsync /opt/module/hadoop-2.7.2/ **4.查看文件分发情况** [atguigu@hadoop103 hadoop]$ cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml **
四、安装包分发:**
scp -r /opt/apps/ root@hadoop0002:/opt/ scp -r /opt/apps/ root@hadoop0003:/opt/ *
*五、对namenode 节点进行初始化:
** hdfs namenode -format
六、启动 dfs 和 yarn
start-dfs.sh start-yarn.sh 或者 start-all.sh 大功告成!!! game over ~