centos7搭建hadoop
前言
hadoop是其他大数据框架的基础运行环境,尤其是hdfs,是其他大数据框架的基础存储载体,因此学习和掌握hadoop对学习大数据很有必要
haddop常用的3种运行模式包括:
- 本地模式 ,单机运行,只是用来演示一下官方案例。生产环境不用
- 伪分布式模式,也是单机运行,但具备Hadoop集群所有功能,一台服务器模拟一个分布式的环境
- 完全分布式模式:多台服务器组成分布式环境。生产环境使用
本篇将基于centos7系统,在腾讯云环境快速搭建一个单节点的haddop运行环境
前置准备
- 一台配置好网络连接(可ping通宿主机和外网)的CentOS 7系统的虚拟机 【本篇使用腾讯云服务器】
- 连接宿主机和虚拟机的Xftp
- JDK 1.8版本或1.8版本以上的安装包
- hadoop 3.1.3 版本的安装包,hadoop: http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0/
一、安装JDK
这个想必大家都会吧,将下载好的linux版的JDK上传到服务器的指定的目录下,解压,然后配置下即可
配置到 profile文件中即可
vi /etc/profile
export JAVA_HOME=/usr/local/bigdata/java/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
保存并退出之后,执行下: source /etc/profile ,最后再使用: java -version 查看下安装的JDK
二、配置hadoop前置准备环境
1、更新yum源
sudo yum -y update
2、配置主机IP的映射
在搭建完全分布式集群时,这一步一定而且是必不可少的,执行命令 : vi /etc/hosts ,做一下IP和主机名称的映射
然后执行命令, service network restart ,重启下网络
3、 创建 hadoop 用户
通常来说,安装软件时,登录使用的多数是 root 用户,但这样并不安全。因此,在安装Hadoop前,我们最好创建一个 指定的用户,比如这里就创建一个名为 "hadoop"的用户【也可以自定义其他名字】 ;
关于这一点,本人在一开始安装的时候直接使用 root用户安装,在后续安装启动过程中一堆的报错,然后四处找解决方案,甚是麻烦,所以有必要提醒各位安装的同学,最好使用一个新用户
以root用户登录,然后打开一个终端,输入以下命令创建 hadoop 用户并设置密码
useradd hadoop # 创建hadoop用户
passwd hadoop # 设置hadoop用户的密码,按提示输入两次密码
注意:密码需输两次,若提示无效,说明设置的密码等级过低不安全,但你不想换密码的话,也可以继续输入密码进行确定
4、修改 第一步中“hadoop” 用户权限
hadoop 用户是普通用户,系统为了安全,对普通用户的一些操作权限做了限制,这样一来,我们在做配置环境的时候就不是很方便,因此需要为 hadoop 用户添加管理员的权限
- 以root用户登录打开一个终端窗口,输入以下命令为hadoop用户增加管理员的权限
vi /etc/sudoers
找到root ALL=(ALL) 这一行,然后复制一个一模一样的行,名字改为hadoop即可
退出关闭时,使用 wq! 强制保存并退出,否则会提示 E45:‘readonly’ option is set(add ! to override)
5、检查并配置ssh
集群、单机模式都需要用到 SSH 登陆,甚至在集群模式下不同机器之间需要互相拷贝文件,以及通过网络传输文件,假如不配置ssh免密登录的话,每次都要输入对方的登录密码,甚是麻烦,为方便期间,这里还是配置一下
首先通过下面命令检查一下ssh是否安装
yum list installed | grep openssh-server
如果尚未安装,则执行下面的命令安装即可
sudo yum install openssh-server
确定 openssh-server 已安装后,就可以使用 SSH了,输入 ssh localhost 命令登陆本机,但是每次登陆都需要输入密码,很不方便,因此我们需要配置成SSH无密码登陆,更方便一点。具体操作如下:
exit # 退出之前的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,一直按回车即可
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
chmod 600 authorized_keys # 更改文件权限
之后再输入 ssh localhost 命令登陆时,就无需再输入密码,如下所示:
以上为安装hadoop的前置准备工作,这些准备工作必不可少,否则会在后面配置完毕所有的文件启动时,出现各种意想不到的错误
二、配置 Hadoop 3.1.3
1、上传hadoop 3.1.3安装包
2、解压文件
tar -zxvf hadoop-3.1.3.tar.gz #解压文件
mv hadoop-3.1.3 hadoop #重命名文件目录
3、创建两个目录,保存namenode和datanode的数据
进入hadoop目录,创建 name 和 data 两个文件目录,用于保存namenode和datanode的数据
4、进入 etc/hadoop目录,对以下几个关键的配置文件进行配置
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
- hadoop-env.sh
hadoop的环境搭建关键也就在这几个核心的配置文件,下面按照上面的顺序,依次贴出各个配置文件的内容
core-site.xml
<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/bigdata/hadoop/hadoop/tmp</value></property><property><name>fs.defaultFS</name><value>hdfs://公网IP:9000</value></property>
</configuration>
hdfs-site.xml
<configuration><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/bigdata/hadoop/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/bigdata/hadoop/hadoop/tmp/dfs/data</value></property>
</configuration>
mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
yarn-site.xml
<configuration><!-- 设置 resourcemanager 在哪个节点--><property><name>yarn.resourcemanager.hostname</name><value>公网IP或主机名</value></property><!-- reducer取数据的方式是mapreduce_shuffle --><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>
</configuration>
hadoop-env.sh
这个主要是配置 JDK的路径即可,和上文配置的JDK路径保持一致
以上的配置文件基本上就OK了,由于是伪分布式模式,这样的配置就可以使用了,完全分布式环境的配置相对复杂点
5、初始化namenode
进入hadoop的文件主目录,执行:./bin/hdfs namenode -format ,看到如下信息即可
6、启动 NameNode 和 DataNode
cd sbin #进入主目录下的sbin目录
./start-dfs.sh #启动脚本
启动后,通过jps观察是否启动成功,正常情况下,会看到 3 个进程存在
7、开启防火墙或者安全组策略中开启特定的访问端口
浏览器访问内:http://公网IP:9870 ,看到下面的界面后,接下来就可以愉快的使用hadoop了
分享安装过程中的几个坑
1、使用root用户安装,出现下面的报错信息,经过网上不少参考资料,但基本上都是拆东墙补西墙
2、未安装ssh和配置免密登录,hadoop启动过程中,在上面的几个配置文件中,需要通过公网IP和文件目录数据打交道,因此如果不配置ssh肯定会有问题
3、namenode和datanode的目录没有配置在hadoop的主目录下时,启动hadoop的时候一致报下的错误:
hadoop03: ERROR: Cannot set priority of datanode process 2518错误解决
忘了截图,到网上找了一张基本上一样错误的图做说明
关于这个错误,基本上网上没有一个解决办法可以用,一开始我的namenode和datanode是放在hadoop的主目录之外,出现这个问题后,首先是想到的给namenode和datanode的文件目录授权
但是授权之后,namenode和SecondaryNameNode进程可以启动,但是datanode始终起不来,仍然是报上面的这个错,后来我就将namenode和datanode转移到hadoop的主目录下
但是转移目录之后,需要重新设置上面4个配置文件中的namenode和datanode的位置,然后重新执行初始化命令即可
centos7搭建hadoop相关推荐
- 华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo
华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo 新建hadoop用户并设置密码,密码不要设置为简单的123456等,我这里已经创建过了hadoop用 ...
- CentOS7搭建Hadoop集群环境
本文章为云计算课程实验总结. 前言 CentOS7虚拟机搭建hadoop集群,共3个节点:master.slave1.slave2 软件:java1.8 hadoop2.6.0 3台虚拟机都装有Cen ...
- CentOS7搭建hadoop集群
说明: 1.准备三台虚拟机,参考:CentOS7集群环境搭建(以3台为例) 2.配置虚拟机间免密登陆:参考:CentOS7集群配置免密登录 3.虚拟机分别安装jdk:参考:CentOS7集群安装JDK ...
- [hadoop笔记]基于CentOS7虚拟机搭建Hadoop完全分布模式(3个节点)
文章目录 1. 安装前准备 ① 虚拟机配置 ⑤克隆虚拟机 ⑥ 对每个主机固定IP地址,修改主机名,做主机映射 ⑦ 免密登录设置 2. 搭建Hadoop完全分布模式 ① 修改Hadoop配置文件 ③ 分 ...
- hadoop集群_Ambari搭建hadoop集群
Ambari搭建hadoop集群 Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含: 通过一步一步的安装向导简化了集群供应. 预先配置好关键的运维指标(metrics),可以直接查看H ...
- 使用docker搭建Hadoop
Hadoop简介 1.Hadoop的整体框架 Hadoop由HDFS.MapReduce.HBase.Hive和ZooKeeper等成员组成,其中最基础最重要元素为底层用于存储集群中所有存储节点文件的 ...
- 华为云 和 阿里云 跨服务器搭建Hadoop集群
目录 华为云 和 阿里云 跨服务器搭建Hadoop集群 说明 期间遇到的问题 CentOS6 7 8更换阿里yum源 修改服务器名称 安装JDK 安装Hadoop 编写集群分发脚本 xsync scp ...
- Centos7.x Hadoop 3.x HDFS 写入文件
操作目的 1.在Linux环境下 编写HDFS写文件程序的java文件 2.编译并打包HDFS的写程序 3.执行HDFS的写程序 环境.工具说明 1.先搭建一个 Hadoop 的基础集群环境 参考:H ...
- 三台Ubuntu虚拟机搭建 Hadoop集群 (第一次搭)
最近因为要搭Hadoop集群,确实花了好大的心血在里面,因为我的Linux也是前两天速成的,好多东西都还是边查资料边搭.但我最终确实成功了,留了一点点小问题在里面.(当Hadoop集群start-al ...
最新文章
- 详解Pattern类和Matcher类
- 该如何继续走下去。。
- ubuntu下wps无法使用搜狗输入法输入中文
- java随机生成10个不重复的数字,随机生成10个不重复的0-100的数字(实例讲解)
- 台积电和三星成半导体代工厂恶战主角 受谁影响?
- 列表控件ListCtrl的使用
- 【大数据-Hadoop】Spark
- omct问题之-webapps下多出的ROOT目录
- Docker-Compose命令详解
- 浅析Java线程的三种实现
- 5 thinkpad 黑将评测_王中林院士团队黑科技:80秒,将PM 2.5降至0!把森林氧吧搬回家!...
- centos7 hadoop3.0.1安装
- sql去重复查询distinct_SQL的简单查询
- Angular ngTemplateOutlet
- python学习 - 52周存钱挑战
- 串行接口的工作原理和实现
- ODM和OEM的区别
- 2020智能营销领域最具商业合作价值企业盘点
- html中鼠标移动在标签上出现小手形状
- DSO Framer _ WinForm 使用