官网安装教程:[http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.0/hadoop-project-dist/hadoop-common/SingleCluster.html](http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.0/hadoop-project-dist/hadoop-common/SingleCluster.html)

## 环境
本教程使用 CentOS 7 64位 作为系统环境,请自行安装系统。
装好了 CentOS 系统之后,在安装 Hadoop 前还需要做一些必备工作。

### 创建hadoop用户
如果你安装 CentOS 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。

```
su # 上述提到的以 root 用户登录
useradd -m hadoop -s /bin/bash # 创建新用户hadoop
passwd hadoop # 修改密码,按提示输入两次密码
visudo
# 找到 root ALL=(ALL) ALL 这行
# 然后在这行下面增加一行内容:hadoop ALL=(ALL) ALL (当中的间隔为tab)
```

![](http://oc3uwt4a5.bkt.clouddn.com/15141656457549.jpg)

## 免密登录设置

```
sudo yum install ssh
sudo yum install openssh-clients
sudo yum install openssh-server

//免密登录
ssh-keygen -t rsa
//回车回车
ll -a //生成了 .ssh文件夹,文件夹内有id_rsa 和 id_rsa.pub 两个文件

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

//测试是否成功
ssh localhost // 无需密码则表示设置成功
```

## 关闭防火墙
Centos直接

```
sudo systemctl stop firewalld.service #停止firewall
sudo systemctl disable firewalld.service #禁止firewall开机启动
sudo firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
```

Centos7系统的防火墙放开50070端口

```
步骤:
1.sudo firewall-cmd --zone=public --add-port=50070/tcp --permanent
2.重启防火墙 sudo firewall-cmd --reload
```

## 从本机拷贝文件至远程主机
jdk-9.0.1:
[jdk-9.0.1_linux-x64_bin.tar.gz](http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz)

hadoop-2.6.0-cdh5.7.0.tar.gz
[hadoop-2.6.0-cdh5.7.0.tar.gz](http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz)

远程主机(用户名hadoop):
  `[hadoop@localhost ~]$ mkdir -p app/lib`
  `[hadoop@localhost ~]$ mkdir package`

本机,将需要的文件远程拷贝到远程主机中
  `scp jdk-9.0.1_linux-x64_bin.tar.gz hadoop@hadoop:/home/hadoop/package`
  `scp hadoop-2.6.0-cdh5.7.0.tar.gz hadoop@hadoop:/home/hadoop/package`

## 安装Java环境
远程主机 /home/hadoop/package :
  `tar -zxvf jdk-9.0.1_linux-x64_bin.tar.gz -C ~/app/lib`
  `tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ../app/lib/`

sudo vim /etc/profile 或者 vim ~/.bash_profile
尾部添加

```
export JAVA_HOME=/home/hadoop/app/lib/jdk-9.0.1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
```

使配置文件生效
  `. /etc/profile 或者 source /etc/profile `
  `. .~/.bash_profile 或者 source .~/.bash_profile`

验证:
  echo $JAVA_HOME
    `/home/hadoop/app/lib/jdk-9.0.1`

  java -version

```
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
```

## Hadoop配置文件的修改
>如果是linux系统下则可以 rm -rf *.cmd,删除cmd文件
> [hadoop@localhost hadoop-2.6.0-cdh5.7.0]$ `find . -name '*.cmd' -type f -print -exec rm -rf {} \;`

在hadoop_home/etc/hadoop路径下
  `$ vim hadoop-env.sh`
找到export JAVA_HOME=${JAVA_HOME},并且注释掉这一行,添加下面的一行(jdk的根目录)
  `export JAVA_HOME=/home/hadoop/app/lib/jdk-9.0.1`
![](http://oc3uwt4a5.bkt.clouddn.com/15141675279407.jpg)

sudo vim /etc/profile 或者 vim ~/.bash_profile
尾部添加

```
export HADOOP_HOME=/home/hadoop/app/lib/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP/bin:$PATH
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
```

使配置文件生效
  `. /etc/profile 或者 source /etc/profile `
  `. .~/.bash_profile 或者 source .~/.bash_profile`

etc/hadoop/core-site.xml:

```

fs.defaultFS
hdfs://localhost:9000

hadoop.tmp.dir
/home/hadoop/app/tmp

```
![](http://oc3uwt4a5.bkt.clouddn.com/15140317188202.jpg)

etc/hadoop/hdfs-site.xml:

```

dfs.replication
1

```
![](http://oc3uwt4a5.bkt.clouddn.com/15140317495623.jpg)

## 启动hdfs

1. 格式化文件系统(仅第一次执行即可,不要重复执行):
`./bin/hdfs namenode -format`
![](http://oc3uwt4a5.bkt.clouddn.com/15141681652941.jpg)

2. `./sbin/start-dfs.sh`
>可能会出现需要yes, 输入密码

3. 验证是否成功
  启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
$ jps
1425 NameNode
1702 SecondaryNameNode
1546 DataNode
1855 Jps

![](http://oc3uwt4a5.bkt.clouddn.com/15140320692255.jpg)

浏览器方式验证 http://localhost:50070/ (如果是远程主机则将localhost换成远程主机IP)

4. 停止
$ sbin/stop-dfs.sh

Hadoop环境搭载的更多相关文章

  1. python 入门学习之环境搭载

    1.常用python 2.7 需要在我的电脑环境变量进行环境搭载 2.用notepad++进行编辑器适配,选择python语言 在输入运行程序名里面输入cmd /k x: & cd " ...

  2. 【转】RHadoop实践系列之一:Hadoop环境搭建

    RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

  3. 【Hadoop测试程序】编写MapReduce测试Hadoop环境

    我们使用之前搭建好的Hadoop环境,可参见: <[Hadoop环境搭建]Centos6.8搭建hadoop伪分布模式>http://www.cnblogs.com/ssslinppp/p ...

  4. 【Hadoop环境搭建】Centos6.8搭建hadoop伪分布模式

    阅读目录 ~/.ssh/authorized_keys 把公钥加到用于认证的公钥文件中,authorized_keys是用于认证的公钥文件 方式2: (未测试,应该可用) 基于空口令创建新的SSH密钥 ...

  5. hadoop环境安装及简单Map-Reduce示例

    说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...

  6. hadoop环境搭建之关于NAT模式静态IP的设置 ---VMware12+CentOs7

    很久没有更新了,主要是没有时间,今天挤出时间验证了一下,果然还是有些问题的,不过已经解决了,就发上来吧. PS:小豆腐看仔细了哦~ 关于hadoop环境搭建,从单机模式,到伪分布式,再到完全分布式,我 ...

  7. 虚拟机搭建hadoop环境

    这里简单用三台虚拟机,搭建了一个两个数据节点的hadoop机群,仅供新人学习.零零碎碎,花了大概一天时间,总算完成了. 环境 Linux版本:CentOS 6.5 VMware虚拟机 jdk1.6.0 ...

  8. 大数据学习系列之一 ----- Hadoop环境搭建(单机)

    一.环境选择 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G ip:39.108.77.250 2,配置选择 JD ...

  9. hadoop环境配置过程中可能遇到问题的解决方案

    Failed to set setXIncludeAware(true) for parser 遇到此问题一般是jar包冲突的问题.一种情况是我们向java的lib目录添加我们自己的jar包导致had ...

随机推荐

  1. 算法笔记_039:杨辉三角形(Java)

    目录 1 问题描述 2 解决方案 1 问题描述 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. ...

  2. 从缓存行出发理解volatile变量、伪共享False sharing、disruptor

    volatilekeyword 当变量被某个线程A改动值之后.其他线程比方B若读取此变量的话,立马能够看到原来线程A改动后的值 注:普通变量与volatile变量的差别是volatile的特殊规则保证 ...

  3. 30、Arrays工具类

    1.查询元素 int binarySearch(type[] a,type key):使用二分法查询key元素值在a数组中出现的索引:如果a数组不包含key元素,则返回负数.调用该方法时要求数组中元素 ...

  4. Redis全方位讲解--主从复制(转载)

    前言 前面介绍了redis持久化和容灾备份,这篇会介绍redis主从复制和redis持久化在主从复制中的一些应用.因为本人没有那么多服务器或机器,所以这里主要介绍下如何在docker容器中搭建主从复制 ...

  5. C#日期格式化英文月份 VS改大小写的快捷键

    DateTime.Now.ToString("MMM yyyyy",CultureInfo.CreateSpecificCulture("en-GB")) ;  ...

  6. python基础篇---列表---知识点回顾

    列表:数据的集合,里面可以放任何的数据类型,可进行增删改查等操作 有序列表功能(index是列表的索引值): ①创建:用  []  表示,里面添加元素,如n2 = [1,2,4,5,5]:    或者 ...

  7. 数据库中varchar类型数据转换为numeric类型

    numeric有好几种选择,有整形.小数型等等.都是用cast来实现 前提:A表的ID字段是VARCHAR类型 .SELECT CAST(ID AS INTEGER) FROM A .SELECT C ...

  8. ansible 提示安装sshpass

    之前用ansible一直用的root身份.机器之间又早早的做好了ssh信任.所以一直也没有出现什么问题.今天想想自己不能这么浪了,还是用回普通用户吧: 然而马上就遇到了第一个问题,ansible提示安 ...

  9. 详解登录认证及授权--Shiro系列(一)

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密.Apache Shiro 的首要目标是易于使用和理解.安全有时候是很复杂的,甚至是痛苦的, ...

  10. vsftpd被动模式配置

    1.vsftp配置   参考文章http://linux008.blog.51cto.com/2837805/6105992.设置vsftpd.conf开启被动模式参数    #vim    pasv ...