Hadoop3.0.0在Ubuntu16.04上分布式部署
2018-01-26 16:27
387 查看
记录一下Hadoop3.0.0在3个虚拟机中模拟分布式安装的过程,用于日后练习Hadoop和MR相关
欢迎访问排版更好的原文链接,https://www.casscw.cn/index.php/archives/65/
- 系统:Ubuntu Server 16.04 x64
- Virtual Box 5.2.6
- PC配置:16G内存,CPU I5
安装过程没什么特别的,为了方便本文中所有用户名均设置为hadoop,值得注意的是,要对启用的虚拟机开启局域网访问,步骤如下
首先需要添加一个NAT网络
其次需要将虚拟机网卡添加一个NAT网络
值得注意的是,每个虚拟机最好配置两张网卡,仅仅有一个NAT网络会导致虚拟机无法连接外网。这配置多张网卡时,需要在虚拟机中确认是否所有网卡已经正常开启,可以通过查看/etc/network/interfaces的配置或者
关于上述命令的说明,第一行是将master的公钥复制到authorized_keys文件中,第二行第三行是分别将authorized_keys文件复制到slave1和slave2的.ssh文件夹中,代表master免密码ssh登陆slave1和slave2。值得注意的是,这边的ip地址均用了主机名代替,如果上面的修改hosts等步骤出错这边也将无法进行下去
以上配置JDK1.8操作需要分别对三台机器同样执行
配置完成后,将hadoop-3.0.0整个文件夹复制到另外两台机器slave1和slave2
进入sbin目录,./start-dfs.sh ./start-yarn.sh
查看网页,http://master:8088和http://master:9870,如果打开显示正常则说明整体环境配置成功
在文件系统中创建目录,
添加文件到文件系统中,
运行
查看结果,
欢迎访问排版更好的原文链接,https://www.casscw.cn/index.php/archives/65/
虚拟机
选择的是Virtul Box,占用资源比较少- 系统:Ubuntu Server 16.04 x64
- Virtual Box 5.2.6
- PC配置:16G内存,CPU I5
安装过程没什么特别的,为了方便本文中所有用户名均设置为hadoop,值得注意的是,要对启用的虚拟机开启局域网访问,步骤如下
首先需要添加一个NAT网络
其次需要将虚拟机网卡添加一个NAT网络
值得注意的是,每个虚拟机最好配置两张网卡,仅仅有一个NAT网络会导致虚拟机无法连接外网。这配置多张网卡时,需要在虚拟机中确认是否所有网卡已经正常开启,可以通过查看/etc/network/interfaces的配置或者
ifconfig -a来检测。
修改主机名
主机名即hostname,文件位于/etc/hostname,将其中一台设置为master,另外两台分别设置为slave1、slave2。修改完成后重启便可以生效修改hosts
修改hosts文件,位于/ets/hosts,将master、slave1和slave2对应的ip地址和主机名输入到每台机器中10.0.2.4 master 10.0.2.5 slave2 10.0.2.6 slave1
配置ssh免登陆
在三台机器上分别执行ssh-keygen -t rsa,然后回车至结束,在master上进入到根目录下的.ssh文件夹
cat id_rsa.pub >> authorized_keys scp authorized_keys hadoop@slave1:~/.ssh scp authorized_keys hadoop@slave2:~/.ssh
关于上述命令的说明,第一行是将master的公钥复制到authorized_keys文件中,第二行第三行是分别将authorized_keys文件复制到slave1和slave2的.ssh文件夹中,代表master免密码ssh登陆slave1和slave2。值得注意的是,这边的ip地址均用了主机名代替,如果上面的修改hosts等步骤出错这边也将无法进行下去
配置JDK1.8
Hadoop3.0好像要求最低JDK8.0,到官网下载压缩版本解压至任意目录,然后添加环境变量export JAVA_HOME=/home/hadoop/tools/jdk1.8.0_161 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
以上配置JDK1.8操作需要分别对三台机器同样执行
配置Hadoop3.0.0
到网站下载对应的压缩文件到master的根目录或者任意目录下,由于出于学习的目的可以直接放置在根目录下即可。解压得到hadoop-3.0.0文件夹,进入目录/hadoop-3.0.0/etc/hadoop进行一系列配置**core-site.xml** <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:///home/hadoop/hadoop-3.0.0/tmp</value> </property> </configuration> **hdfs-site.xml** <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hadoop-3.0.0/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hadoop-3.0.0/hdfs/data</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>slave1:9001</value> </property> </configuration> **yarn-site.xml** <configuration> <!-- Site specific YARN configuration properties --> <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.ShuffleHandle</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8025</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8040</value> </property> </configuration> **mapred-site.xml** <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value> /home/hadoop/hadoop-3.0.0/etc/hadoop, /home/hadoop/hadoop-3.0.0/share/hadoop/common/*, /home/hadoop/hadoop-3.0.0/share/hadoop/common/lib/*, /home/hadoop/hadoop-3.0.0/share/hadoop/hdfs/*, /home/hadoop/hadoop-3.0.0/share/hadoop/hdfs/lib/*, /home/hadoop/hadoop-3.0.0/share/hadoop/mapreduce/*, /home/hadoop/hadoop-3.0.0/share/hadoop/mapreduce/lib/*, /home/hadoop/hadoop-3.0.0/share/hadoop/yarn/*, /home/hadoop/hadoop-3.0.0/share/hadoop/yarn/lib/* </value> </property> </configuration> **workers** 注意这边修改的文件就是目录下的workers文件,加入两个slave机器名即可 slave1 slave2 **hadoop-env.sh** 在此文件中加入 export JAVA_HOME=/home/hadoop/tools/jdk1.8.0_161 **yarn-env.sh** 在此文件中加入 export JAVA_HOME=/home/hadoop/tools/jdk1.8.0_161
配置完成后,将hadoop-3.0.0整个文件夹复制到另外两台机器slave1和slave2
scp -r hadoop-3.0.0/ hadoop@slave1:/home/hadoop/ scp -r hadoop-3.0.0/ hadoop@slave2:/home/hadoop/
启动Hadoop
进入bin目录,./hdfs namenode -format进入sbin目录,./start-dfs.sh ./start-yarn.sh
查看网页,http://master:8088和http://master:9870,如果打开显示正常则说明整体环境配置成功
测试WordCount小程序
查看文件系统中的文件,hadoop fs -ls /,其中
/代表根目录
在文件系统中创建目录,
hadoop fs -mkdir -p /user/hadoop/,其中
-p代表把父级目录也同时创建
添加文件到文件系统中,
hadoop fs -put a.txt /user/hadoop/,其中
a.txt为任意创建的一个文本作为词频统计的输入
运行
hadoop jar hadoop-3.0.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount a.txt wordcount,无错误即可
查看结果,
hadoop fs -cat /user/hadoop/wordcount/part-r-00000
参考
http://blog.csdn.net/wuxidemo/article/details/77115931相关文章推荐
- ubuntu16.04(64位)+Hadoop2.7.3伪分布式环境下部署Spark
- 在ubuntu部署hadoop之单机模式与伪分布式模式部署
- 详解VMware12使用三台虚拟机Ubuntu16.04系统搭建hadoop-2.7.1+hbase-1.2.4(完全分布式)
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.7.3/Ubuntu16.04
- VMware12使用三台虚拟机Ubuntu16.04系统搭建hadoop-2.7.1+hbase-1.2.4(完全分布式)
- Hadoop linux(ubuntu)分布式部署配置问题记录
- Ubuntu16.04搭建完全分布式hadoop-2.7.4
- Hadoop linux(ubuntu)分布式部署配置问题记录
- Ubuntu16.04 安装hadoop伪分布式2 启动YARN
- Ubuntu16.04安装Hadoop单机和伪分布式环境超详细
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.4/Ubuntu16.04
- Hadoop生态系统搭建(1)——Ubuntu16.04环境搭建 Hadoop 2.7.0 全分布式环境
- Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)
- 在ubuntu部署单机和伪分布式hadoop
- 在Ubuntu10.04上分布式部署Hadoop0.20.2
- Ubuntu 16.04 Hadoop 3.0.0 安装 及 所有问题总结
- 在ubuntu部署分布式hadoop
- 在ubuntu部署hadoop之单机模式与伪分布式模式部署
- Ubuntu16.04下伪分布式环境搭建之hadoop2.6.0、jdk1.7、Hbase0.98的安装与配置
- Hadoop linux(ubuntu)分布式部署配置问题记录