共计 4220 个字符,预计需要花费 11 分钟才能阅读完成。
一. 前言
Hadoop 的安装模式主要有三种:单机模式,伪分布模式和集群模式。单机模式和伪分布模式的安装配置请参考上文 Ubuntu 下安装 Hadoop(单机模式 + 伪分布模式),真正使用时使用的是 hadoop 的集群模式。
本文主要讲解在 Linux 环境下 hadoop 集群模式的安装和配置。
二. 安装步骤
1. 在虚拟机中安装三个 Linux 虚拟机
主机名分别为 Master,Slaver1.Slaver2, 即一个主节点,两个从节点。上网方式均选择 NAT 方式。三者对应的 IP 地址分别为
【Master 192.168.209.128】,【Slaver1 192.168.209.129】,【Slaver2 192.168.209.130】。
2. 为三个主机安装 SSH 服务,配置 SSH 免密码登录。【SSH 是三个节点间通信的协议】
3. 安装 JDK 并配置环境变量。
4. 更改主机名和 IP 映射信息,编辑 /etc/hoatname 和 /etc/hosts
5. 安装 hadoop 并配置环境变量
6. 修改 hadoop 的配置文件
7. 运行实例并测试
三. 开始安装和配置
1. 安装 SSH,配置 SSH 免密码登录(以 Master 为例)
hadoop@Master:~$ sudo apt-get install openssh-server # 安装 SSH
hadoop@Master:~$ ssh localhost # 用 SSH 登录本机测试
hadoop@Master:~$ exit # 退出刚才的 ssh localhost
hadoop@Master:~$ cd ~/.ssh/ # 若没有该目录,请先执行一次 ssh localhost
hadoop@Master:~$ ssh-keygen -t rsa # 生成公钥和私钥文件。会有提示,都按回车就可以
hadoop@Master:~$ cat ./id_rsa.pub >> ./authorized_keys # 将公钥文件追加到授权文件中,获得免密功能。
2. 安装 JDK,配置环境变量。
hadoop@Master:~$ sudo apt-get install openjdk-8-jdk # 默认安装路径为 /usr/lib/jvm/java-8-openjdk-amd64
hadoop@Master:~$ vim ~/.bashrc # 加入 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
hadoop@Master:~$ source ~/.bashrc # 使环境变量设置生效
hadoop@Master:~$ java -version # 检查环境配置
3. 更改主机名和 IP 映射信息
hadoop@Master:~$ sudo vim /etc/hostname # hostname 修改为 Master
hadoop@Master:~$ sudo vim /etc/hosts # hosts 中修改为 192.168.209.128 Master 192.168.209.129 Slave1 192.168.209.130 Slave2
hadoop@Master:~$ ping Master -c 3 # ping 连接测试
4. 安装 hadoop 并配置环境变量
hadoop@Master:~$ vim ~/.bashrc #加入 export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
hadoop@Master:~$ source ~/.bashrc
5. 修改 hadoop 的配置文件 /etc/hadoop
- slaves
文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。
本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,添加两行内容:Slave1 Slaver2。
- core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
- hdfs-site.xml
dfs.replication 一般设为 3,我们有个数据节点,所以 dfs.replication 的值还是设为 2:
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
- mapred-site.xml
可能需要先重命名,默认文件名为 mapred-site.xml.template
<configuration>
<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>
</configuration>
- yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6. 在 Master 节点启动 hadoop
hadoop@Master:~$ start-dfs.sh
hadoop@Master:~$ start-yarn.sh
hadoop@Master:~$ mr-jobhistory-daemon.sh start historyserver
hadoop@Master:~$ jps
最终结果:
1.HDFS 的守护进程
主节点:Namenode、SecondaryNamenode
从节点:Datanode
2.YARN 的守护进程
主节点:ResourceManager
从节点:NodeManager
Hadoop 安装配置中的权限管理
1. 添加一个 hadoop 组
sudo addgroup hadoop2. 将当前用户 hadoop 加入到 Hadoop 组
sudo usermod -a -G hadoop hadoop
3. 将 hadoop 组加入到 sudoer
sudo gedit etc/sudoers
在 root ALL=(ALL) ALL 后 hadoop ALL=(ALL) ALL
4. 修改 hadoop 目录的权限
sudo chown -R hadoop:hadoop /usr/local/hadoop< 所有者:组 文件 >
5. 修改 hdfs 的权限
sudo chmod -R 755 /usr/local/hadoop
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136129.htm