阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu下安装Hadoop(完全分布模式)

170次阅读
没有评论

共计 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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4220字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中