前言

由于现在要用spark,而学习spark会和hdfs和hive打交道,之前在公司服务器配的分布式集群,离开公司之后,自己就不能用了,后来用ambari搭的三台虚拟机的集群太卡了,所以就上网查了一下hadoop+hive的单机部署,以便自己能进行简单的学习,这里记录一下,本来想把hadoop和hive的放在一起写,由于太多,就分成两篇写了。

1、首先安装配置jdk(我安装的1.8)

2、下载hadoop

下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/,我下载的是hadoop-2.7.5.tar.gz
(由于我之前用的2.7.1是几年前下载保存在本地的,现在发现之前在配置spark那篇写的那个hadoop下载地址较慢,所以改成这个地址)

3、解压到/opt目录下(目录根据自己习惯)

tar -zxvf hadoop-2.7.5.tar.gz  -C /opt/

4、配置hadoop环境变量

vim /etc/profile
export HADOOP_HOME=/opt/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile

5、配置hadoop

5.1 配置hadoop-env.sh

vim /opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_45

找到# The java implementation to use.将其下面的一行改为:

5.2 配置core-site.xml (5.2和5.3中配置文件里的文件路径和端口随自己习惯配置)

其中的IP:192.168.44.128为虚拟机ip,不能设置为localhost,如果用localhost,后面在windows上用saprk连接服务器(虚拟机)上的hive会报异常(win读取的配置也是localhost,这样localhost就为win本地ip了~也可以给ip加个映射,不过因为单机的我就没加)。

vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///opt/hadoop-2.7.5</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.44.128:8888</value>
</property>
</configuration>

5.3 配置hdfs-site.xml

vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-2.7.5/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-2.7.5/tmp/dfs/data</value>
</property>
</configuration>

6、SSH免密码登录

以下用三台centos为例,ip分别为192.168.44.138、192.168.44.139、192.168.44.140,分别对应别名master、slave1、slave2

1、首先在每个机器上执行

ssh-keygen -t rsa

将公钥导入到认证文件中一直按回车默认就好

将三个机器上id_rsa.pub的内容合并起来放在authorized_keys,可以用命令按下面的步骤来,也可以分别将三个机器的公钥拷贝出来放在一个文件里,之后分别复制到各自机器的authorized_keys,我用的是下面的命令

2.1 在master上执行

cd ~/.ssh
cat id_rsa.pub>>authorized_keys

如果不能免密登录,可能是文件权限不对,执行下面的命令,再验证一下(这时如果配单机的话,就可以免密登录本机了,可以执行ssh localhost 或ssh master验证一下,如下图)

chmod  authorized_keys

然后将master的authorized_keys传到slave1上的.ssh目录下

scp -r authorized_keys root@slave1:~/.ssh 

2.2 在slave1上执行

cd ~/.ssh
cat id_rsa.pub>>authorized_keys
scp -r authorized_keys root@slave2:~/.ssh

2.3 在slave2上执行

这一步实际是将salve1的id_rsa.pub和master传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到slave2机器上

cd ~/.ssh
cat id_rsa.pub>>authorized_keys
scp -r authorized_keys root@master:~/.ssh
scp -r authorized_keys root@slave1:~/.ssh

ssh master这一步实际是将salve2的id_rsa.pub和slave1传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到master、slave1机器上。
到这里,每台机器上的authorized_keys都含有三台机器的公钥,在每台机器上验证一下是否可以免密ssh登录到三台机器上了。

ssh slave1
ssh slave2

如果都不需要输入密码,就代表配置成功!

7、启动与停止

第一次启动hdfs需要格式化:

cd /opt/hadoop-2.7.
./bin/hdfs namenode -format

Re-format filesystem in Storage Directory /opt/hadoop-2.7.5/tmp/dfs/name ? (Y or N)

输入:Y
(出现询问输入Y or N,全部输Y即可)
启动:

./sbin/start-dfs.sh

停止:

./sbin/stop-dfs.sh

验证,浏览器输入:http://192.168.44.128:50070

简单的验证hadoop命令:

hadoop fs -mkdir /test

在浏览器查看,出现如下图所示,即为成功

8、配置yarn

8.1 配置mapred-site.xml

cd /opt/hadoop-2.7./etc/hadoop/
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

8.2 配置yarn-site.xml

vim yarn-site.xml
<configuration>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

8.3 yarn启动与停止

启动:

cd /opt/hadoop-2.7.
./sbin/start-yarn.sh

停止:

./sbin/stop-yarn.sh
浏览器查看:http://192.168.44.128:8088


jps查看进程

到此,hadoop单机模式就配置成功了!

centos7 hadoop 单机模式安装配置的更多相关文章

  1. centos7 hive 单机模式安装配置

    前言:由于只是在自己的虚拟机上进行学习,所以对hive只是进行最简单的配置,其他复杂的配置文件没有配置. 1.前提 1.1 安装配置jdk1.8 1.2 安装hadoop2.x hadoop单机模式安 ...

  2. Hadoop单机模式的配置与安装

    Hadoop单机模式的配置与安装 单机hadoop集群正常启动后进程情况 ResourceManager NodeManager SecondaryNameNode NameNode DataNode ...

  3. Hadoop单机模式安装

    一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: ...

  4. 3-1.Hadoop单机模式安装

    Hadoop单机模式安装 一.实验介绍 1.1 实验内容 hadoop三种安装模式介绍 hadoop单机模式安装 测试安装 1.2 实验知识点 下载解压/环境变量配置 Linux/shell 测试Wo ...

  5. Hadoop单机模式安装-(3)安装和配置Hadoop

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍在Ubuntu安装完 ...

  6. Hadoop单机模式安装-(2)安装Ubuntu虚拟机

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍在虚拟机设置完毕后, ...

  7. Hadoop单机模式安装-(1)安装设置虚拟环境

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍如何在Windows ...

  8. hadoop单机模式安装流程

    这里的安装是在Linux系统上安装的 参考博客 : https://blog.csdn.net/cafebar123/article/details/73500014 https://blog.csd ...

  9. centos7命令行模式安装&&配置_br0+kvm+虚拟机+添加硬盘+快照及恢复

    KVM创建虚拟机步骤 Submitted by zhaoley on October 18, 2016 - 10:43am 测试环境: 1: 43.243.130.89, CentOS Linux r ...

随机推荐

  1. MySQL(7)— 索引

    七.索引 MySQL官方对索引的定义为:索引(Index)是帮助 MySQL 高效 获取数据的数据结构. 7-1.索引的分类 主键索引 (primary key) 唯一的标识,主键不可重复,只能有一个 ...

  2. Gym101612H Hidden Supervisors

    题目链接:https://vjudge.net/problem/Gym-101612H 知识点: 贪心 解题思路: 我们称除了以 \(1\) 号结点为根的树以外的树为 “其他树”. 对于每一棵树,先自 ...

  3. Linux退出vi编辑

    按ESC键 跳出vi的编辑命令,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并 ...

  4. 前端Json对象与Json字符串互转(4种转换方式)

    1>jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2>浏 ...

  5. react中路由不起作用的奇怪现象

    同样的两段Router代码,为什么一段正常,一段不起作用(也没有任何错误log提示) 瞪着眼观察也看不出为什么... 通过选中高亮显示内容相同, 为何就是有一段路由不管用呢? 折腾半天发现... 大小 ...

  6. parrot os安装drozer

    dz需要支持 大部分parrot都装好了,只有Protobuf未安装 apt install Protobuf 安装dz 下面下载https://labs.f-secure.com/tools/dro ...

  7. Rocket - debug - Example: Accessing Registers Using Abstract Command

    https://mp.weixin.qq.com/s/RdJzE06mMkh2x__vVj_fEA 介绍riscv debug接口的使用实例:使用抽象命令读取寄存器. 1. Read s0 using ...

  8. Java中的String、StringBuffer和StringBuilder

    作为作为一个已经入了门的java程序猿,肯定对Java中的String.StringBuffer和StringBuilder都略有耳闻了,尤其是String 肯定是经常用的.但肯定你有一点很好奇,为什 ...

  9. Java实现 蓝桥杯 算法训练 第五次作业:字符串排序

    试题 算法训练 第五次作业:字符串排序 问题描述 输入一个小写字符串,按从小到大的顺序输出. 输入格式 bcaed 输出格式 abcde 顶格输出,中间没有空格 样例输入 一个满足题目要求的输入范例. ...

  10. (Java实现) 零件分组

    零件分组(Stick)-动态规划-中高级 Case Time Limit:1000MS Time Limit: 3000MS Memory Limit: 65536K Total Submission ...