共计 4757 个字符,预计需要花费 12 分钟才能阅读完成。
本次基于 Hadoop2.6 版本进行分布式配置,Linux 系统是基于 CentOS6.5 64 位的版本。在此设置一个主节点和两个从节点。
准备 3 台虚拟机,分别为:
主机名 | IP 地址 |
master | 192.168.80.10 |
slave1 | 192.168.80.11 |
slave2 | 192.168.80.12 |
1. 修改主机名称,把三个节点分别修改下面的文件,修改主机名为 master,slave1,slave2(root 用户操作),重启生效
vi /etc/sysconfig/network
2. 把三个节点的防火墙关闭,在三个节点分别执行 (root 用户操作)
/etc/init.d/iptables stop
3.在三个节点修改配置 hosts 文件,在 hosts 文件中分别配置三个节点的主机名 ip地址映射 (root 用户操作)
4.在 master 和slave之间配置 SSH 互信 (hadoop 用户操作)
分别在 master 和slave1,master和 slave2,master 和master之间配置互信
a) 分别在 master、slave1、slave2 执行下面的命令生成公钥和私钥
ssh-keygen
在 hadoop 用户根目录下,有一个 .ssh 目录
id_rsa 私钥
id_rsa.pub 公钥
known_hosts 通过 SSH 链接到本主机,都会在这里有记录
b) 在 master 输入下面的命令,和 master,slave1,slave2 创建互信
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
注意:复制的过程中需要输入信任主机的密码
!!!!每次 ssh 完都会进入其他的主机,千万在 ssh 完了以后退出对配置机器的远程控制,ctrl+d
5. 把 JDK 和Hadoop安装包 ( 资料包目录下的文件 ) 上传到 master节点 系统(hadoop用户的根目录),用 XFtp
6. 在三个节点下面配置 jdk。 在hadoop用户的根目录,Jdk解压,(hadoop用户操作)
tar -zxvf jdk-8u65-linux-x64.tar.gz
7. 三个节点 配置环境变量,需要修改 /etc/profile 文件(root用户操作)
切到 root 用户,输入 su 命令
su
vi /etc/profile
进去编辑器后,输入 i,进入vi 编辑器的插入模式,在 profile 文件最后添加
Java_HOME=/home/hadoop/jdk1.8.0_65 export PATH=$PATH:$JAVA_HOME/bin |
编辑完成后,按下 esc 退出插入模式
输入:,这时在左下角有一个冒号的标识
q 退出不保存
wq 保存退出
q! 强制退出
8. 在三个节点 把修改的环境变量生效(hadoop用户操作),jdk配置完成
source /etc/profile
9.下面配置 hadoop, 在hadoop用户的根目录,解压 (hadoop 用户操作)
tar -zxvf hadoop-2.6.0.tar.gz
10.修改配置文件 hadoop-2.6.0/etc/hadoop/slaves,输入下面内容,每一行是一个从节点主机名称(hadoop 用户操作)
slave1
slave2
12. 修改配置文件 hadoop-2.6.0/etc/hadoop/hadoop-env.sh(hadoop 用户操作)
export JAVA_HOME=/home/hadoop/jdk1.8.0_65
13.修改配置文件 hadoop-2.6.0/etc/hadoop/core-site.xml,添加(hadoop 用户操作)
<property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop/tmp</value> <description>Abasefor other temporary directories.</description> </property> |
13. 修改配置文件 hadoop-2.6.0/etc/hadoop/hdfs-site.xml,添加(hadoop 用户操作)
<property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> |
14. 修改修改配置文件 hadoop-2.6.0/etc/hadoop/mapred-site.xml (hadoop 用户操作),这个文件没有,需要复制一份
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
添加
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> |
15.修改配置文件 hadoop-2.6.0/etc/hadoop/yarn-site.xml,添加(hadoop 用户操作)
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> |
16.将配置好的 hadoop 文件 copy 到另外 slave 机器上 (hadoop 用户操作)
scp -r hadoop-2.6.0/ hadoop@slave1:~/hadoop
scp -r hadoop-2.6.0/ hadoop@slave2:~/hadoop
17. 格式化 HDFS,在hadoop 解压目录下,执行如下命令:(hadoop用户操作)
bin/hdfs namenode -format
注意:格式化只能操作一次,如果因为某种原因,集群不能用, 需要再次格式化,需要把上一次格式化的信息删除,在 三个节点用户根 目录里执行 rm -rf /home/hadoop/hadoop/dfs
18.启动集群,在 hadoop 解压目录下,执行如下命令:(hadoop用户操作)
sbin/start-all.sh
19.查看 hadoop 的web接口,在浏览器输入:主机名:50070。如:http://master:50070
启动以后 jps 查看,master 有 4 个线程,slave1 和 slave2 都有 3 个线程,其中都有一个是 jps。
Hadoop2.3-HA 高可用集群环境搭建 http://www.linuxidc.com/Linux/2017-03/142155.htm
Hadoop 项目之基于 CentOS7 的 Cloudera 5.10.1(CDH)的安装部署 http://www.linuxidc.com/Linux/2017-04/143095.htm
Hadoop2.7.2 集群搭建详解(高可用)http://www.linuxidc.com/Linux/2017-03/142052.htm
使用 Ambari 来部署 Hadoop 集群(搭建内网 HDP 源)http://www.linuxidc.com/Linux/2017-03/142136.htm
Ubuntu 14.04 下 Hadoop 集群安装 http://www.linuxidc.com/Linux/2017-02/140783.htm
Ubuntu 16.04 上构建分布式 Hadoop-2.7.3 集群 http://www.linuxidc.com/Linux/2017-07/145503.htm
CentOS 7 下 Hadoop 2.6.4 分布式集群环境搭建 http://www.linuxidc.com/Linux/2017-06/144932.htm
Hadoop2.7.3+Spark2.1.0 完全分布式集群搭建过程 http://www.linuxidc.com/Linux/2017-06/144926.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/146001.htm