在CentOS7下搭建Hadoop2.9.0集群
系统环境:CentOS 7
JDK版本:jdk-8u191-linux-x64
MYSQL版本:5.7.26
Hadoop版本:2.9.0
Hive版本:2.3.4
| Host Name | Ip | User/Pass |
| Namenode | 192.168.2.3 | root/root. |
| Datanode1 | 192.168.2.5 | root/root. |
| Datanode2 | 192.168.2.6 | root/root. |
安装JDK:
https://www.cnblogs.com/java-h/p/11127259.html
安装MYSQL
https://www.cnblogs.com/java-h/p/11127636.html
1、配置服务器环境
1、进入root : su root
2、关闭防火墙:systemctl stop firewalld 3、关闭防火墙开机自启:systemctl disable firewalld.service 4、查看防火墙状:firewall-cmd –state 5、修改每台机的hosts:vim /etc/hosts 192.168.2.3 namenode 192.168.2.5 datanode1 192.168.2.6 datanode2
2、配置SSH免密登录
1、在Namenode 上生成密钥对:ssh-keygen -t rsa 2、在从机上创建.ssh文件夹:mkdir .ssh 3、将公钥复制到从机(Datanode1、Datanode2)上: scp ~/.ssh/id_rsa.pub root@192.168.2.6:~/.ssh/ scp ~/.ssh/id_rsa.pub root@192.168.2.5:~/.ssh/ 4、登录从机,进入目录:cd /home/hadoop/ 5、将公钥放到.ssh中的authorized_keys: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 6、测试: 在主机namenode上登陆从机datanode1
ssh datanode1
ssh datanode2
ssh namenode
如果能切换到对应的机器则表示成功。
注意:
1、在切换到datanode1 后,如果需要测试登陆datanode2的话,需要先返回到master,用命令exit。
2、配置SSH时除了子节点主节点自己也要给自己配置SSH免密。
3、配置Hadoop集群
1、创建存放Hadoop的文件夹:mkdir /home/bigdata
2、进入新建的文件夹:cd /home/bigdata
3、解压hadoop和建立文件:tar -zxvf hadoop-2.9.0.tar.gz
4、重命名:mv hadoop-2.9.0 hadoop
5、创建hdfs相关文件(三台机子都需要操作)
mkdir /home/data
mkdir /home/data/tmp
mkdir /home/data/dfs
7、创建dfs系统使用的dfs系统名称hdfs-site.xml使用:
mkdir /home/data/dfs/name
8、创建dfs系统使用的数据文件hdfs-site.xml文件使用:
mkdir /home/data/dfs/data
7、配置环境变量(三台机子都需要操作)
root用户下:vim /etc/profile
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar:$JRE_HOME/lib
export HADOOP_HOME=/home/bigdata/hadoop
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME:$PATH
保存退出后:source /etc/profile
4、配置Hadoop集群配置文件
进入Hadoop的配置文件存放的地方:cd /home/bigdata/hadoop/etc/hadoop
(1)修改 core-site.xml 文件,在configuration添加配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/bigdata/hadoopdir/tmp/</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
(2)修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/data/dfs/data</value>
</property>
</configuration>
(3)修改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>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master:50030</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
(4)修改 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.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>namenode</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>namenode:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>namenode:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>namenode:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>namenode:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>namenode:8088</value>
</property>
</configuration>
(5)修改slave文件
在文件中注释掉localhost 并添加节点名称:
namenode
datanode1
datanode2
5、搭建集群
1、格式hadoop文件:hadoop namenode -format
2、发送dfs内容给Slave1:scp -r /home/data/dfs/* datanode1:/home/bigadata/hadoopdir/dfs
3、发给dfs内容给Slave2:scp -r /home/data/dfs/* datanode2:/home/bigadata/hadoopdir/dfs
4、发送hadoop文件给数据节点:scp -r /home/bigadata/hadoop/* datanode1:/home/bigadata/hadoop/
scp -r /home/bigadata/hadoop/* datanode2:/home/bigadata/hadoop/
5、启动集群
进入sbin:cd /home/bigdata/hadoop/sbin
启动Hadoop:./start-all.sh 使用jps 命令查看启动情况(没有这个命令的需要安装 yum install jps*)
登录网页查看:http://Master:50070 (查看live node) 查看yarn环境(http://Master/8088)
遇到的问题:
、namenode: Error: JAVA_HOME is not set and could not be found. 解决方案:进入 vim /home/bigdata/hadoop/etc/hadoop/hadoop-env.sh 把JAVA_HOME修改为: export JAVA_HOME=/home/bigdata/jdk
如有不懂,可添加QQ问我,一起交流,一起进步:1162492808
在CentOS7下搭建Hadoop2.9.0集群的更多相关文章
- centos7 下搭建hadoop2.9 分布式集群
首先说明,本文记录的是博主搭建的3节点的完全分布式hadoop集群的过程,环境是centos 7,1个nameNode,2个dataNode,如下: 1.首先,创建好3个Centos7的虚拟机,具体的 ...
- CentOS6.4上搭建hadoop-2.4.0集群
公司Commerce Cloud平台上提供申请主机的服务.昨天试了下,申请了3台机器,搭了个hadoop环境.以下是机器的一些配置: emi-centos-6.4-x86_64medium | 6GB ...
- ubuntu14.04搭建Hadoop2.9.0集群(分布式)环境
本文进行操作的虚拟机是在伪分布式配置的基础上进行的,具体配置本文不再赘述,请参考本人博文:ubuntu14.04搭建Hadoop2.9.0伪分布式环境 本文主要参考 给力星的博文——Hadoop集群安 ...
- CentOS7搭建Hadoop2.8.0集群及基础操作与测试
环境说明 示例环境 主机名 IP 角色 系统版本 数据目录 Hadoop版本 master 192.168.174.200 nameNode CentOS Linux release 7.4.1708 ...
- CentOS7.5搭建Solr7.4.0集群服务
一.Solr集群概念 solr单机版搭建参考: https://www.cnblogs.com/frankdeng/p/9615253.html 1.概念 SolrCloud(solr 云)是Solr ...
- 第八章 搭建hadoop2.2.0集群,Zookeeper集群和hbase-0.98.0-hadoop2-bin.tar.gz集群
安装配置jdk,SSH 一.首先,先搭建三台小集群,虚拟机的话,创建三个 下面为这三台机器分别分配IP地址及相应的角色:集群有个特点,三台机子用户名最好一致,要不你就创建一个组,把这些用户放到组里面去 ...
- 搭建hadoop2.6.0集群环境
一.规划 (一)硬件资源 10.171.29.191 master 10.171.94.155 slave1 10.251.0.197 slave3 (二)基本资料 用户: jediael 目录: ...
- 搭建hadoop2.6.0集群环境 分类: A1_HADOOP 2015-04-20 07:21 459人阅读 评论(0) 收藏
一.规划 (一)硬件资源 10.171.29.191 master 10.171.94.155 slave1 10.251.0.197 slave3 (二)基本资料 用户: jediael 目录: ...
- Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作
前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(动文中用到了hadoop的hdfs命 ...
随机推荐
- Microsoft.AspNet.SignalR实现弹幕(即时通讯)
引用 Microsoft.AspNet.SignalR 服务器 自定义Connection public class BarrageConnection : PersistentConnection ...
- WPF开发之限制输入的控件---------转自CDSN
原文地址 http://blog.csdn.net/ghosind/article/details/51627601 作者 ghosind 一,正则表达式过滤字符串 if (RegexString = ...
- 什么是YAML?
YAML是"YAML不是一种标记语言"的外语缩写 [1] (见前方参考资料原文内容):但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名.它是一种直观的能 ...
- 问题记录,Release模式和Debug运行效果不一样,Release必须加延时
这个程序大体是这样一个逻辑,通过win32程序与设备交互,主线程先向设备发送命令要求 循环验证 然后一个线程专门负责接收设备返回信息 两边通过全局变量的变化来交流,主线程通过接收线程收到的信息设置界面 ...
- oracle解析
Oracle数据库中的CURSOR分为两种类型:Shared Cursor 和 Session Cursor 1,Shared Cursor Oracle里的第一种类型的Cursor就是Shared ...
- 利用Delphi实现网络监控系统
实现的原理WINSOCK是一组API,用于在INTE.Net上传输数据和交换信息.用它编程本来是很麻烦的,但在DELPHHI中并不需要直接与WINSOCK的API打交道,因为TclientSocket ...
- 宿主机与虚拟机系统的USB设备切换
有时候我们需要在虚拟机的操作系统中进行一些USB设备的测试,但默认情况下USB设备是在宿主机系统里面的,那这个时候我们就要进行切换才能够达到目的,具体要怎么操作呢?下面讲解一下: 1. Ctrl+ ...
- Qt5.5以来对Network的改进(包括对SSL的功能支持,HTTP的重定向等等)
Qt Network New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this wil ...
- Windows Python虚拟环境配置(Distribute + pip + virtualenv + virtualenvwrapper-powershell)
对于Python开发新手,很多人会迷茫那些各种名目的工具和概念,如Python2.7, Python3.3, Distribute, pip, virtualenv,Setuptools, easy_ ...
- <房间内功能>打赏小动画
截图如下 : 功能: 每次点击礼物,都要通过动画显示一个小图标,最多显示两行图标栏,送多次会显示然后再次显示,显示 XX 送给 XX 一个小礼物的动画样式.动画样式效果为,整体动画模 ...