搭建hadoop集群关键步骤--以三节点为例
搭建三节点的hadoop集群:
要求:
|
三台机子同时进行:
步骤一:
添加用户,设置密码
useradd hadoop
passwd hadoop
步骤二:
为用户设置权限
su root
visudo
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
#如果需要用户hadoop使用sudo命令时不输入密码,则是输入以下一句:
hadoop ALL=(ALL) NOPASSWD:ALL
步骤三:
同步时间:三台主机同时设置
sudo date -s "00:00:00"
(可以用时间服务器定时同步主节点来修改)
步骤四;
设置主机名:
sudo vi /etc/sysconfig/network
每台各设置
hadoop01
hadoop02
hadoop03
(思考:可以用发送的方式来发送给从节点或其他主机)
步骤五:
配置内网域名映射(在各主机下都写三台主机的映射)sudo vi /etc/hosts
hadoop01
hadoop02
hadoop03
(思考:可以用发送的方式来发送给从节点或其他主机)
步骤六:
配置防火墙
service iptables start
service iptables status
service iptables stop
chkconfig iptables --list
chkconfig iptables off
service iptables save
(思考:是否可以用时间服务器定时对防火墙进行关闭保存,或者从一开始就设置防火墙自动关闭)
下面在一台主机上进行:
步骤七:
安装jdk,hadoop
上传jdk、Hadoop包
解压jdk包:/home/hadoop/jdk1.8.0_101
tar -zxvf jdk-8u101-linux-x64.tar.gz
修改配置文件 sudo vi /etc/profile
export JAVA_HOME=/home/hadoop/jdk1.8.0_101
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
PATH=$PATH:$JAVA_HOME/bin:
刷新配置文件:source /etc/profile
(思考:是否可以将发送后的配置文件进行定时刷新)
which java 查看当前系统使用的jdk/home/hadoop/jdk1.8.0_101/bin/java
步骤八:
解压Hadoop包
tar -zxvf hadoop-2.6.1.tar.gz
修改配置文件(包括java,hadoop) sudo vi /etc/profile
export JAVA_HOME=/home/hadoop/jdk1.8.0_101
export HADOOP_HOME=/home/hadoop/hadoop-2.6.1
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
刷新配置文件:source /etc/profile
步骤九:设置免登录
免密登录作用:用于在namenode 和datanode 之间传递。
(在根目录(~)ssh (按table键显示ssh文件,包括ssh-key加密钥)
cd /home/hadoop/.ssh 可以进入.ssh文件夹
在.ssh 路径下 ls 可以看到know_hosts文件)
配置加密命令:
在根目录(~)下 cd ~
ssh-keygen -t rsa 回车执行,然后一路回车(好像一共回车3次)
然后在 /home/hadoop/.ssh/目录下
cd /home/hadoop/.ssh/
ls
显示增加了id_rsa id_rsa.pub两个文件
在/home/hadoop/.ssh/目录下,ssh- (按table键)
显示有ssh-copy-id 文件
在/home/hadoop/.ssh/下执行
ssh-copy-id hadoop@hadoop01 之后再输入密码,回车
ssh-copy-id hadoop@hadoop02 之后再输入密码,回车
ssh-copy-id hadoop@hadoop03 之后再输入密码,回车
在~根目录下,scp ./myfile hadoop@hadoop02:/home/hadoop/ 回车执行,可远程发送
在~根目录下,ssh hadoop@hadoop03 回车执行可进入第三台主机
删掉/hadoop-2.6.1/share文件夹下doc文件夹(用不到)
步骤十:
注意:把配置好的jdk文件夹发送给其他节点:
scp -r jdk1.8.0_101 hadoop@hadoop02:/home/hadoop/
scp -r jdk1.8.0_101 hadoop@hadoop03:/home/hadoop/
也可以发送环境变量过去:
sudo scp /etc/profile root@hadoop02:/etc/
sudo scp /etc/profile root@hadoop03:/etc/
刷新系统环境变量配置文件: source /etc/profile
步骤十一:
给Hadoop框架配置jdk(作用:启动集群)
vi /home/hadoop//hadoop-2.6.1/etc/hadoop/hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME} 修改为
export JAVA_HOME=/home/hadoop/jdk1.8.0_101
步骤十二:
在/home/hadoop/hadoop-2.6.1/路径下添加hadoopdata文件夹
cd /home/hadoop/hadoop-2.6.1/
mkdir hadoopdata
手动创建的hadoopdata文件夹是用来存放数据和元数据的,
注意:1.要放在/home/hadoop/hadoop-2.6.1/下,不能放在根目录下,放在根目录下没有权限操作。
2.要在发送环境变量和配置好的hadoop文件夹之前创建。
步骤十三:修改配置文件
修改配置文件
修改core-site.xml文件
<property>
<name>fs.defaultFS</name>
<!--配置hdfs系统的地址-->
<value>hdfs://hadoop01:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.1/hadoopdata/tmp</value>
</property>
修改hdfs-site.xml文件
<property>
<name>dfs.replication</name>
<!--副本数3-->
<value>3</value>
</property>
<property>
<!--hadoop2.x默认数据块大小是128M-->
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<!--NameNode节点存储元数据的位置-->
<value>file:///home/hadoop/hadoop-2.6.1/hadoopdata/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!--DataNode节点存储数据块的位置-->
<value>file:///home/hadoop/hadoop-2.6.1/hadoopdata/dfs/data</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///home/hadoop/hadoop-2.6.1/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///home/hadoop/hadoop-2.6.1/hadoopdata/checkpoint/dfs/cname</value>
</property>
<property>
<name>dfs.http.address</name>
<value>hadoop01:50070</value>
</property>
<property>
<!--hdfs系统的web地址-->(主机2为主机1做辅助作用)
<name>dfs.secondary.http.address</name>
<value>hadoop02:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
修改mapred-site.xml文件
命令如下:
# mv mapred-site.xml.template mapred-site.xml
#vi mapred-site.xml
<property>
<!--配置执行计算模型时使用yarn资源调度器-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<!--配置MapReduce框架的历史服务的地址-->
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
修改yarn-site.xml
<property>
<!--配置resourcemanager服务的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop01:8088</value>
</property>
步骤十四:配置datanode,datamanager节点
#vi slaves
将所有需要配置成slave类型的机器的机器名写在其内部即可.
注意:每个机器名占一行。
hadoop01
hadoop02
hadoop03
步骤十五:
(Master文件存的是的secondarynamenode列表)(master文件没有,需手动创建)注意要在hadoop目录下创建
#vi /etc/hadoop/master
# vi ./master
hadoop02
步骤十六:
//将配置好的Hadoop文件夹发送给slave1和slave2机子。在~根目录下进行发送,即远程拷贝
#scp -r hadoop-2.6.1 hadoop@hadoop02:/home/hadoop/
#scp -r hadoop-2.6.1 hadoop@hadoop03:/home/hadoop/
步骤十七:
配置Hadoop框架的环境变量:----一会儿调一下
export HADOOP_HOME=/home/hadoop/hadoop-2.6.1 (直接粘贴)
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin (配置bin,是因为执行脚本在bin里面.将 :$HADOOP_HOME/bin:$HADOOP_HOME/sbin 直接添加
在 PATH=$PATH:$JAVA_HOME/bin 后即可) 作用:配置之后,在任何路径下都可以使用/sbin目录下的脚本。
# source /etc/profile
步骤十八:
发送hadoop的环境变量到其他节点:
scp /etc/profile root@hadoop02:/etc/
scp /etc/profile root@hadoop03:/etc/
步骤十九;
可测试:根目录~下 st+table键出现以st开头的文件即表明配置成功。
步骤二十:
//启动Hadoop集群(因为name和data目录只有在格式化之后才创建)
在/home/hadoop/hadoop-2.6.1/hadoopdata文件夹下格式化
//启动之前先格式化,只需要一次即可(在NameNode节点)
#hadoop namenode -format
启动之前最好检查防火墙是否处于关闭状态。
步骤二十一;启动hdfs集群和yarn集群
在根目录下~,执行start-dfs.sh 先启动hdfs集群。执行完毕之后,显示启动namenode 和datanode。
在/dfs文件夹下自动创建了data和name两个文件夹。
在~根目录下,执行start-yarn.sh ,启动yarn集群,启动后显示resourcemanager和nodemanager
(log显示在第一台启动resourcemanager)
步骤二十二;
jps验证:显示启动各个功能
步骤二十三:
集群启动成功,上传文件测试:
根目录~下,vi aaa ,随便写点东西即可,保存退出
根目录下执行,hadoop fs -put ./aaa / (注:./aaa表示当前路径,后面的 / 表示hdfs系统的根路径
搭建集群主要在于配置文件,配置文件说明链接:http://www.cnblogs.com/pingzizhuanshu/p/8964011.html
以五节点为例:链接:http://www.cnblogs.com/pingzizhuanshu/p/8964025.html
搭建hadoop集群关键步骤--以三节点为例的更多相关文章
- 搭建Hadoop集群 (三)
通过 搭建Hadoop集群 (二), 我们已经可以顺利运行自带的wordcount程序. 下面学习如何创建自己的Java应用, 放到Hadoop集群上运行, 并且可以通过debug来调试. 有多少种D ...
- Linux下搭建Hadoop集群
本文地址: 1.前言 本文描述的是如何使用3台Hadoop节点搭建一个集群.本文中,使用的是三个Ubuntu虚拟机,并没有使用三台物理机.在使用物理机搭建Hadoop集群的时候,也可以参考本文.首先这 ...
- 搭建Hadoop集群 (二)
前面的步骤请看 搭建Hadoop集群 (一) 安装Hadoop 解压安装 登录master, 下载解压hadoop 2.6.2压缩包到/home/hm/文件夹. (也可以从主机拖拽或者psftp压缩 ...
- 使用Windows Azure的VM安装和配置CDH搭建Hadoop集群
本文主要内容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服务安装CDH (Cloudera Distribution Including Apache Hado ...
- virtualbox 虚拟3台虚拟机搭建hadoop集群
用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...
- 搭建Hadoop集群 (一)
上面讲了如何搭建Hadoop的Standalone和Pseudo-Distributed Mode(搭建单节点Hadoop应用环境), 现在我们来搭建一个Fully-Distributed Mode的 ...
- Hadoop入门进阶步步高(五)-搭建Hadoop集群
五.搭建Hadoop集群 上面的步骤,确认了单机能够运行Hadoop的伪分布运行,真正的分布式运行无非也就是多几台slave机器而已,配置方面的有一点点差别,配置起来就很easy了. 1.准备三台se ...
- Linux 搭建Hadoop集群 成功
内容基于(自己的真是操作步骤编写) Linux 搭建Hadoop集群---Jdk配置 Linux 搭建Hadoop集群 ---SSH免密登陆 一:下载安装 Hadoop 1.1:下载指定的Hadoop ...
- 虚拟机搭建Hadoop集群
安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x ...
- 使用Docker搭建Hadoop集群(伪分布式与完全分布式)
之前用虚拟机搭建Hadoop集群(包括伪分布式和完全分布式:Hadoop之伪分布式安装),但是这样太消耗资源了,自学了Docker也来操练一把,用Docker来构建Hadoop集群,这里搭建的Hado ...
随机推荐
- 11.IO 流
1.IO 流引入 概述:以应用程序为参照物,读取数据为输入流(Input),写数据为输出流(Output),大量输入输出数据简称 IO 流 原理: 2.IO 流的分类 读写的文件分类 二进制文件:打开 ...
- Git 合并冲突
目录 文章目录 目录 合并冲突 合并分支 合并最近的两次提交 合并冲突 步骤: git status 找到冲突的文件 将冲突去除 将冲突文件重新加入临时区 git add egis/api/v1/ro ...
- WPF新建viewModel实例化成员的注意事项
不要用表达式体去初始化一个用做数据源(比如ItemSource)的引用类型成员.比如这种 public List<MainWindowItem> Items => new List& ...
- MySQL所有的主从同步架构搭建方式
目录 一.前言 二.关于MySQL主从同步 三.部署规划 3.1 服务器规划 3.2 数据库目录规划 四.准备工具 五.四台机器上使用通用二进制包安装MySQL(以node7为例) 5.1 上传MyS ...
- log4j日志记录级别
目录 一.日志的作用 二.log4j的日志级别和简介 三.log4j配置文件包含的节点简介 四.logger配置说明 一.日志的作用 问题追踪:通过日志不仅仅包括我们程序的一些 bug,也可以在安 ...
- Vue 3入门指南
title: Vue 3入门指南 date: 2024/5/23 19:37:34 updated: 2024/5/23 19:37:34 categories: 前端开发 tags: 框架对比 环境 ...
- springboot 整合mail 发送邮件
springboot 整合mail 发送邮件 pom.xml <properties> <java.version>1.8</java.version> <p ...
- springcloud整合geteway网关服务
geteway网关 1. 什么是 API 网关(API Gateway)分布式服务架构.微服务架构与 API 网关在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计.开发.测试.部署 ...
- php的下载与安装
一,进入到php的官方网站 https://www.php.net/ ,进入到下载页面: 选择 PHP 7.2.30 的Windows版本 具体的下载页面版本区分: 下载后,得到如下压缩包到如 ...
- 三:nacos的配置中心
配置中心的使用: 编辑当前项目的pom.xml,加入必要的依赖配置 <!-- spring-cloud-alibaba-dependencies 依赖同注册中心 --> <depen ...