Hadoop完全分布式模式安装部署
在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式
注:此教程皆是以范例讲述的,当然你可以按照教程搭建一个与教程一样的Hadoop环境,如果你想搭建一个与本教程有一些差异的Hadoop环境,这时请注意配置文件的参数可能不一样以及文件路径不一样。
目录
1.在完全分布式模式下使用wordcount示例程序完成单词统计
2.在完全分布式模式下使用wordmean示例程序计算文件中单词的平均长度
1.Hadoop集群规划与部署
一个完全分布式模式Hadoop集群至少由三台机器构成,此处搭建一个三台机器构成的小集群。
节点角色 | 虚拟机名 | 机器IP | 主机名 | 运行进程 |
---|---|---|---|---|
主节点 | master | 192.168.232.200 | node |
NameNode ResourceManager SecondaryNameNode |
从节点 | slave1 | 192.168.232.201 | node1 |
DataNode NodeManager |
从节点 | slave2 | 192.168.232.202 | node2 |
DataNode NodeManager |
(1)准备3台虚拟机
3台虚拟机可以是已部署单机模式Hadoop,已部署伪分布模式Hadoop,当然也可以是从零开始的基础环境。
克隆出三台虚拟机
注:为方便管理可以建一个文件夹(full-Distributed),将三台虚拟机放入其中。
(2)分别映射好三台虚拟机的IP与主机名
[code]//1.修改IP避免冲突 vi /etc/sysconfig/network-scripts/ifcfg-ens33 //编辑网络配置 systemctl restart network //重启网络服务
此处为方便记忆,建议master节点IP尾数用200,slave1用201,slave2用202.
[code]//2.修改主机名 hostname //查看主机名 hostnamectl set-hostname node //将主机名改为node hostnamectl set-hostname node1 //将主机名改为node1 hostnamectl set-hostname node2 //将主机名改为node2
master用node,slave1用node1,slave2用node2.
[code]//3.映射IP与主机名 vi /etc/hosts
(3)设置三台机器时钟同步
完全分布式模式由多台主机组成,如果主机间时间差异较大,运行Hadoop的时候会出现问题,因此需要对每个节点配置时钟同步。
采用NTP服务通过获取网络时间使集群内不同主机的时间保持一致
此处选取阿里云的时间服务器aliyun.com
[code]//1.安装NTP服务 yum install ntp //2.手动同步时间 ntpdate -u ntp1.aliyun.com //3.查看时间 date
(4)设置三台机器两两之间SSH密码登录
在完全分布式模式下,集群内任意一台主机可免密登录集群内所有主机,实现两两免密登录。
若是以伪分布模式为基础的机器则需要先删除node,node1,node2主机上原有的.ssh目录
然后分别在node,node1,node2主机上生成公钥/私钥密钥对,再将公钥发送给集群内的所有主机。
[code]//1.在各节点上删除原有.ssh目录,然后重新生成密钥对 rm -rf /root/.ssh //删除原有.ssh目录 ssh-keygen -t rsa //生成密钥对 cd ~/.ssh //进入.ssh目录 ll //查看密钥对
[code]//2.在各节点的.ssh目录下将公钥复制到node节点 cd ~ //进入根目录 ssh-copy-id node //复制公钥到node节点 ssh-copy-id node1 //复制公钥到node1节点 ssh-copy-id node2 //复制公钥到node2节点
[code]//3.查看node节点上的authorized_key文件 cd .ssh //进入.ssh目录 more authorized_keys
[code]//4.将node节点上的authorized_keys文件远程拷贝到node1,node2 scp authorized_keys node1:~/.ssh/authorized_keys //执行过程中输入yes与密码 scp authorized_keys node2:~/.ssh/authorized_keys //执行过程中输入yes与密码
[code]//5.验证免密登录,注意查看提示符中主机名称的变化 ssh node2 //免密登录node2节点 exit //退出远程登录 ssh node1 //免密登录node1节点 exit //退出远程登录
(5)修改主节点配置文件并远程拷贝到从节点
概要:
[code]1.在主节点上修改配置文件(以下皆以伪分布式Hadoop为基础的虚拟机作为示范) 核心配置文件 core-site.xml 修改 HDFS配置文件 hadoop-env.sh 不变 hdfs-site.xml 修改 MapReduce配置文件 mapred-env.sh 修改 mapred-site.xml 不变 Yarn配置文件 yarn-env.sh 修改 yarn-site.xml 修改 slaves 修改
1.在主节点上修改配置文件
核心配置文件
core-site.xml 修改
[code]cd /export/server/hadoop-2.7.2/etc/hadoop vi core-site.xml //在<configuration></configuration>中插入<property></property>中的代码。注意主机名与文件路径是否是自己的 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node:9000</value> <description>HDFS的URI,设定namenode的主机名及端口</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/export/server/tmp</value> <description>节点上本地的hadoop临时文件夹,之前一定要先建立好</description> </property> </configuration>
HDFS配置文件
hadoop-env.sh 不变 //在伪分布式已修改过
hdfs-site.xml 修改
[code]vi hdfs-site.xml //在<configuration></configuration>中插入<property></property>中的代码。注意主机名与文件路径是否是自己的 <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/export/server/hdfs/name</value> <description>namenode上存储hdfs名字空间元数据 </description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/export/server/hdfs/data</value> <description>datanode上数据块的物理存储位置</description> </property> <property> <name>dfs.replication</name> <value>2</value> <description>副本个数,默认是3,应小于datanode机器数量</description> </property> </configuration>
MapReduce配置文件
mapred-env.sh 修改
mapred-site.xml 不变
[code]which java //查看java安装路径 vi mapred-env.sh 插入export JAVA_HOME=/bin以前的java安装路径
Yarn配置文件
yarn-env.sh 修改
yarn-site.xml 修改
[code]which java //获取java安装路径 vi yarn-env.sh 插入export JAVA_HOME=/bin以前的java安装路径 vi yarn-site.xml //在<configuration></configuration>中插入<property></property>中的代码。注意主机名是否是自己的 <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>node</value> <description>指定resourcemanager所在的hostname, 即指定yarn的老大即ResourceManger的地址 </description> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <description>NodeManager上运行的附属服务。 指定NodeManager获取数据的方式是shuffle 需配置成mapreduce_shuffle,才可运行MapReduce程序 </description> </property> </configuration>
slaves 修改
slaves文件给出了Hadoop集群的slave节点列表。启动Hadoop时,系统总是根据当前slaves文件中slave节点名称列表启动集群,不在列表中的Slave节点便不会被视为计算节点。
[code]vi slaves 插入各节点名
2.将主节点的配置文件分发到两个从节点
[code]分发到node1从节点 scp -r /export/server/hadoop-2.7.2/etc/hadoop node1:/export/server/hadoop-2.7.2/etc/ 分发到node2从节点 scp -r /export/server/hadoop-2.7.2/etc/hadoop node2:/export/server/hadoop-2.7.2/etc/
2.格式化HDFS并启动Hadoop
(1)在主节点上格式化HDFS
[code]hdfs namenode -format
(2)在主节点上启动Hadoop
[code]start-all.sh //启动所有进程 //或 start-dfs.sh start-yarn.sh
(3)在各节点上用JPS查看进程
(4)web界面上查看
在浏览器输入主机的IP地址:50070
3.在完全分布式模式下运行Hadoop自带示例程序
1.在完全分布式模式下使用wordcount示例程序完成单词统计
(1)准备数据
(2)运行wordcount程序
[code]cd /export/server/hadoop-2.7.2/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount/input/wcoutput
(3)查看运行结果
[code]hadoop fs -ls /wcoutput hadoop fs -cat wcoutput/part*
2.在完全分布式模式下使用wordmean示例程序计算文件中单词的平均长度
(1)准备数据:HDFS上的/input
(2)运行wordmean程序
[code]hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordmean/input/wmoutput
(3)查看结果
[code]hadoop fs -ls /wmoutput hadoop fs -cat /wmouput/part*
准备3台虚拟机 | 克隆 |
在3台机器上分别设置IP和主机名并映射关系 |
vi /etc/sysconfig/network-scripts/ifcfg-ens33 //更改IP hostnamectl set-hostname node //更改主机名 vi /etc/hosts //映射关系 |
设置3台机器时钟同步 |
yum install ntp //安装ntp服务 ntpdate -u ntp1.aliyun.com //手动同步时间 |
配置3台机器两两之间SSH免密登录 |
ssh-keygen -t rsa //获取密钥 ssh-copy-id node //复制公钥到node节点 |
修改主节点配置文件并远程拷贝到从节点 |
vi 各配置文件 scp -r /export/server/hadoop-2.7.2/etc/hadoop node1:/export/server/hadoop-2.7.2/etc/ |
格式化HDFS并启动Hadoop |
hdfs namenode -format //格式化HDFS start-all.sh //启动Hadoop所有进程 jps //查看进程 |
完全分布式模式运行Hadoop自带示例程序 | hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount/input/wcoutput |
- 点赞 1
- 收藏
- 分享
- 文章举报
- hadoop集群的安装和部署(完全分布式运行模式)
- hadoop完全分布式模式的安装和配置步骤
- 完全分布模式hadoop集群安装配置之二 添加新节点组成分布式集群
- Hadoop完全分布式安装部署
- 大数据JDK+Hadoop安装配置、单机模式配置、伪分布式、完全分布式配置总结
- 搭建3个节点的hadoop集群(完全分布式部署)--2安装mysql及hive
- Hadoop集群完全分布式模式环境部署
- Hadoop伪分布式模式安装部署
- hive2.1.0+mysql5.1本地模式+Hadoop完全分布式集群的安装与配置
- Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署
- Hadoop本地模式、伪分布式以及集群的安装与部署
- Hadoop完全分布式安装部署
- Hadoop集群完全分布式模式环境部署
- Hadoop集群完全分布式模式环境部署和管理的5大工具
- Hadoop完全分布式模式的安装和配置
- Hadoop完全分布式模式的配置与安装
- Hadoop2.4.0-Hbase-098.9-完全分布式安装部署
- Hadoop完全分布式模式的安装和配置
- Hadoop2.6.2完全分布式集群HA模式安装配置详解
- hadoop完全分布式模式的安装和配置