CentOS 7安装Hadoop 3.0.0
最近在学习大数据,需要安装Hadoop,自己弄了好久,最后终于弄好了。网上也有很多文章关于安装Hadoop的,但总会遇到一些问题,所以把在CentOS 7安装Hadoop 3.0.0的整个过程记录下来,有什么不对的地方大家可以留言更正。
一、ssh免密登录
1、测试是否能免密登录
# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
2、设置免密登录
1)、去掉 /etc/ssh/sshd_config中的两行注释,如没有则添加,所有服务器都要设置的:
#RSAAuthentication yes
#PubkeyAuthentication yes
2)、生成秘钥:
# ssh-keygen -t rsa
备注:输入命令后回车4次
3)、复制到公共密钥中:
# cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
4)、将秘钥复制到目标服务器:
# ssh-copy-id 目标服务器IP
5)、测试:(没有报错,并没有提示输入目标服务器用户密码,用户切换到目标服务器用户名则成功)
# ssh 目标服务器IP

备注:配置好了hadoop1到hadoop2免密登录,同时需要配置hadoop2到hadoop1的免密登录,在hadoop2上操作,过程同上
二、安装JDK
hadoop-3.0.0需要jdk1.8,此处省略安装过程,网上很多,过程也比较简单
三、安装hadoop
1、下载hadoop:
http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0/
2、解压安装:
1)、复制 hadoop-3.0.0.tar.gz 到/usr/hadoop目录下, 然后
#tar -xzvf hadoop-3.0.0.tar.gz
解压,解压后目录为:/usr/hadoop/hadoop-3.0.0,Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
#cd /usr/hadoop/hadoop-3.0.0
#./bin/hadoop version
2),在/usr/hadoop/目录下,建立tmp:
#mkdir /usr/hadoop/tmp
3)、设置环境变量:
#vi /etc/profile
# set hadoop path
export HADOOP_HOME=/usr/hadoop/hadoop-3.0.0
export PATH=$PATH:$HADOOP_HOME/bin
4)、使环境变量生效,终端中运行如下命令:
#source /etc/profile
5)、设置hadoop:
一共需要配置主要的6个文件:
hadoop-3.0.0/etc/hadoop/hadoop-env.sh
hadoop-3.0.0/etc/hadoop/yarn-env.sh
hadoop-3.0.0/etc/hadoop/core-site.xml
hadoop-3.0.0/etc/hadoop/hdfs-site.xml
hadoop-3.0.0/etc/hadoop/mapred-site.xml
hadoop-3.0.0/etc/hadoop/yarn-site.xml
⑴、配置hadoop-env.sh:
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_152 //根据自己jdk安装目录配置
⑵、配置yarn-env.sh:
#The java implementation to usr
export JAVA_HOME=/usr/java/jdk1.8.0_152 //根据自己jdk安装目录配置
⑶、配置core-site.xml:
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property> <property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
⑷、配置hdfs-site.xml:
<configuration>
<!—hdfs-site.xml-->
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
</configuration>
⑸、配置mapred-site.xml:
<!-- 指定mr运行在yarn上 -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
⑹、配置yarn-site.xml:
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
备注:以上配置都是以最简配置,还有很多配置可以自行添加
6)、将/usr/hadoop复制到其他服务器:
scp -r /usr/hadoop root@192.168.1.11:/usr/hadoop
7)、格式化namenode:
#CD /usr/hadoop/hadoop-3.0.0
# ./bin/hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错
备注:只需格式化namenode,datanode不需要格式化(若格式化了,可将/usr/hadoop/tmp目录下文件都删除),所以先将安装文件夹复制到其他服务器,再格式化
四、测试:
1、启动HDFS:
#CD /usr/hadoop/hadoop-3.0.0
# sbin/start-dfs.sh
如果运行脚本报如下错误,
ERROR: Attempting to launch hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
Starting datanodes
ERROR: Attempting to launch hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
Starting secondary namenodes [localhost.localdomain]
ERROR: Attempting to launch hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
解决方案
(缺少用户定义而造成的)因此编辑启动和关闭
$ vim sbin/start-dfs.sh
$ vim sbin/stop-dfs.sh
顶部空白处添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2)启动ResourceManager和NodeManager:
#CD /usr/hadoop/hadoop-3.0.0
#sbin/start-yarn.sh
如果启动时报如下错误,
Starting resourcemanager
ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
解决方案
(也是由于缺少用户定义)
是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本
$ vim sbin/start-yarn.sh
$ vim sbin/stop-yarn.sh
顶部空白添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
3)、启动验证:
执行jps命令,出现下图基本完成

备注:也可以使用下面命令同时启动HDFS和ResourceManager、NodeManager:
#CD /usr/hadoop/hadoop-3.0.0
#sbin/start-all.sh
Hadoop2.3-HA高可用集群环境搭建 http://www.linuxidc.com/Linux/2017-03/142155.htm
Hadoop项目之基于CentOS7的Cloudera 5.10.1(CDH)的安装部署 http://www.linuxidc.com/Linux/2017-04/143095.htm
Hadoop2.7.2集群搭建详解(高可用) http://www.linuxidc.com/Linux/2017-03/142052.htm
使用Ambari来部署Hadoop集群(搭建内网HDP源) http://www.linuxidc.com/Linux/2017-03/142136.htm
Ubuntu 14.04下Hadoop集群安装 http://www.linuxidc.com/Linux/2017-02/140783.htm
CentOS 6.7安装Hadoop 2.7.2 http://www.linuxidc.com/Linux/2017-08/146232.htm
Ubuntu 16.04上构建分布式Hadoop-2.7.3集群 http://www.linuxidc.com/Linux/2017-07/145503.htm
CentOS 7 下 Hadoop 2.6.4 分布式集群环境搭建 http://www.linuxidc.com/Linux/2017-06/144932.htm
Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程 http://www.linuxidc.com/Linux/2017-06/144926.htm
更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2018-02/150812.htm

CentOS 7安装Hadoop 3.0.0的更多相关文章
- CentOS下安装hadoop
CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...
- Centos 6.5 hadoop 2.2.0 全分布式安装
hadoop 2.2.0 cluster setup 环境: 操作系统:Centos 6.5 jdk:jdk1.7.0_51 hadoop版本:2.2.0 hostname ip master ...
- CentOS 6.5 伪分布式 安装 hadoop 2.6.0
安装 jdk -openjdk* 检查安装:java -version 创建Hadoop用户,设置Hadoop用户使之可以免密码ssh到localhost su - hadoop ssh-keygen ...
- 64位centos 下编译 hadoop 2.6.0 源码
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...
- 安装hadoop 2.2.0
安装环境为 CentOS 64位系统, 大概分下面几个步奏, 0. 安装JDK1. 配置SSH2. 配置/etc/hosts3. 拷贝hadoop包到没台机器上4. 修改hadoop配置文件5. 关闭 ...
- 如何在Ubuntu/CentOS上安装Linux内核4.0
大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3. ...
- CentOS7.0分布式安装HADOOP 2.6.0笔记-转载的
三台虚拟机,IP地址通过路由器静态DHCP分配 (这样就无需设置host了). 三台机器信息如下 - 1. hadoop-a: 192.168.0.20 #master 2. ha ...
- 64位CentOS上编译 Hadoop 2.2.0
下载了Hadoop预编译好的二进制包,hadoop-2.2.0.tar.gz,启动起来后.总是出现这样的警告: WARN util.NativeCodeLoader: Unable to load n ...
- CentOS 7 安装 Oracle 11.2.0.4
一.安装环境 CentOS Linux release 7.2.1511 (Core) Oracle Database 11g Release 2 (11.2.0.4) 二.安装前准备 2.1 修改主 ...
随机推荐
- Wannafly挑战赛21A
题目链接 Wannafly挑战赛21A 题解 代码 #include <cstdio> #include <cmath> #define MAX 1000005 #define ...
- android 开发 命名规范
标识符命名法标识符命名法最要有四种: 1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写. 2 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字 ...
- [USACO07JAN]Balanced Lineup
OJ题号:洛谷2880 思路1: 线段树维护区间最大最小值. #include<cstdio> #include<cctype> #include<utility> ...
- 大学启示录I 浅谈大学生的学习与就业
教育触感 最近看了一些书,有了一些思考,以下纯属博主脑子被抽YY的一些无关大雅的思考,如有雷同,纯属巧合.. 现实总是令人遗憾的,我们当中太多人已经习惯于沿着那一成不变的"典型成功道路&qu ...
- Bugzilla Error message: couldn't create child process: 720003: index.cgi
two steps is try to fix this issue. 1. Turn off the windowns firewall 2. Register the perl to the sy ...
- memcached对key和value的限制 memcached的key最大长度和Value最大长度
memcached的简单限制就是键(key)和item的限制.最大键长为250个字符.可以接受的储存数据不能超过1MB,因为这是典型slab 的最大值.这里我们可以突破对key长度的限制.问题解决:修 ...
- mysql故障
1.服务器上是的电不要随边乱断,一定要保存,然后断电,不要在服务器插座版上乱插其他电器,导致非法断电, 2.出现断电后,检查MYSQL数据库文件是否损坏,可以看WINDOWS 应用程序程序管理日志,提 ...
- 为什么MacBook装Windows这么火?
Mac到底要不要装Windows?一直以来这都是个很有争议性的话题.只要你经常浏览国内一些知名Mac论坛,就会发现那里不仅有各种Mac装Windows教学贴.讨论区,而且时不时还会冒出关于“Mac装不 ...
- WCF X.509证书双向认证小结
最近在学习WCF X.509证书验证,想实现使用证书实现服务端和客户端的双向认证,实现原理是利用了数字证书包含的一对非对称密钥来实现数字签名及加密.所谓非对称密钥是采用两个密钥将加密和解密能力分开:一 ...
- android:活动的最佳实践
2.6.1 知晓当前是在哪一个活动 这个技巧将教会你,如何根据程序当前的界面就能判断出这是哪一个活动.可能你会觉 得挺纳闷的,我自己写的代码怎么会不知道这是哪一个活动呢?很不幸的是,在你真正进入 ...