centos7搭建hadoop2.10伪分布模式

1.准备一台Vmware虚拟机,添加hdfs用户及用户组,配置网络见 https://www.cnblogs.com/qixing/p/11396835.html

在root用户下

添加hdfs用户,并设置密码:

adduser hdfs
passwd hdfs

将hdfs用户添加到hdfs用户组中

usermod -a -G hdfs hdfs

前面一个hdfs是组名,后面一个hdfs是用户名

验证用户和用户组:

cat /etc/group

会看到   hdfs:x:1001:hdfs

将hdfs用户赋予root权限,在sudoers文件中添加hdfs用户并赋予权限

vim /etc/sudoers

root  ALL=(ALL)  ALL  

下面添加:

hdfs  ALL=(ALL)  ALL

保存编辑后,hdfs就拥有root权限

本人习惯将软件安装到/opt/soft文件夹下

在/opt/下创建soft文件夹,并改为hdfs用户拥有

cd /opt
mkdir soft
chown -R hdfs:hdfs soft

2.安装jdk,配置环境变量

将jdk安装包解压到 /opt/soft/ 下

tar -zxvf jdk-8u231-linux-x64.tar.gz -C /opt/soft/

在/opt/soft/下就会出现jdk加压文件夹 jdk1.8.0_231 文件夹 带有jdk版本号,但是一般我们使用jdk时带着版本号不太方便,也为以后升级能够改动更小,一般我们会给jdk创建一个软连接,这样我们只要配置软连接名字,或者升级时,将软连接指向新jdk就可以了

ln -s  jdk1.8.0_231 jdk

这样我们就给jdk1.8.0_231创建一个jdk软连接,我们只使用jdk软连接就可以了

给jdk配置环境变量

vim /etc/profile
添加
# jdk
export JAVA_HOME=/opt/soft/jdk
export PATH=$PATH:$JAVA_HOME/bin

重新编译profile文件

source /etc/profile

3.安装hadoop2.10.0

将hadoop2.10.0安装包解压到/opt/soft目录下

tar -zxvf hadoop-2.10.0.tar.gz -C /opt/soft/

创建hadoop软链接

ln -s hadoop-2.10.0 hadoop

配置hadoop环境变量

vim /etc/profile
添加# hadoopexport HADOOP_HOME=/opt/soft/hadoopexport PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

重新编译profile文件

source /etc/profile

验证hadoop安装是否成功:

hadoop version

安装成功

配置hadoop伪分布:

配置hadoop配置文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

core-site.xml

   <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost/</value>
   </property>

hdfs-site.xml

   <property>
    <name>dfs.replication</name>
    <value>1</value>
   </property>

mapred-site.xml

   <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
   </property>

yarn-site.xml

   <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
   </property>
   <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
   </property>

4.hadoop在使用时会使用ssh免密登录,我们就需要配置ssh免密登录

1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)
$>  yum list installed | grep ssh

2)检查是否启动了sshd进程
$>  ps -Af | grep sshd

3)在client侧生成公私秘钥对。
$>  ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa

4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)

5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)
$>  cd ~/.ssh
$>  cat id_rsa.pub >> authorized_keys

6)修改authorized_keys的权限为644.
$>  chmod 644 authorized_keys

7)测试
$>  ssh localhost

5.在hdfs用户下格式化hadoop

如果是在root用户下,可以使用su进入hdfs用户

su - hdfs

格式化hdfs

hadoop namenode -format

这样就格式化成功了

启动hdfs,启动命令在hadoop/sbin下的start-all.sh,由于我们已经将sbin加入到PATH中,所有我们现在可以在任何地方执行该命令

start-all.sh

但是hdfs没有像我们预想的一样起来,似乎报错了

hadoop找不到jdk环境变量

这时就需要我们修改hadoop配置文件,手动指定JAVA_HOME环境变量
[${HADOOP_HOME}/etc/hadoop/hadoop-env.sh]
...
export JAVA_HOME=/opt/soft/jdk
...

改为

再重新启动hadoop

start-all.sh

看着似乎是起来了

我们查看一下进程

似乎少了namenode

查看namenode启动日志,进入到${HADOOP_HOME}/logs下

tail -200f hadoop-hdfs-namenode-localhost.log

namenode 启动报错了

Directory /tmp/hadoop-hdfs/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.?dfs/name文件夹不存在或没有访问权限,但是为什么刚装完时是存在的呢

进入/tmp/hadoop-hdfs/dfs/下看一下,果然没有name文件夹

于是抱着试试的心理,又重新格式化了hadoop

hadoop namenode -format

再看name文件夹是否存在

这次出来了

再次重启hdfs

先stop

stop-all.sh

重新启动

start-all.sh

namenode已经起来了

我们通过浏览器验证一下是否启动,在浏览器中输入:http://192.168.30.141:50070 ,根据自己的IP修改

看到这个页面说明hadoop伪分布模式已经启动,如果网页无法访问,先看一下服务器的防火墙是否关闭

firewall-cmd --state

我这里已经将防火墙关闭

如果没有关闭,使用如下命令关闭(需在root用户下进行,否则没有权限),再查看网页是否正常:

停止firewall,这样在下次重启机器,会失效

systemctl stop firewalld.service

如果想一直关闭防火墙,请禁止firewall开机启动

systemctl disable firewalld.service

原文地址:https://www.cnblogs.com/qixing/p/12113732.html

时间: 2024-08-04 03:47:23

centos7搭建hadoop2.10伪分布模式的相关文章

centos7搭建hadoop2.10完全分布式

本篇介绍在centos7中大家hadoop2.10完全分布式,首先准备4台机器:1台nn(namenode);3台dn(datanode) IP hostname 进程 192.168.30.141 s141 nn(namenode) 192.168.30.142 s142 dn(datanode) 192.168.30.143 s143 dn(datanode) 192.168.30.144 s144 dn(datanode) 由于本人使用的是vmware虚拟机,所以在配置好一台机器后,使用克

【hadoop 2.6】hadoop2.6伪分布模式环境的搭建测试使用

首先下载安装,这个就不说了,去apache官网下载安装,貌似186M,很大 解压后,我们看下目录结构如下: [[email protected] hadoop-2.6.0]# ll total 64 drwxr-xr-x 2 20000 20000 4096 Nov 14 05:20 bin drwxr-xr-x 3 20000 20000 4096 Nov 14 05:20 etc drwxr-xr-x 2 20000 20000 4096 Nov 14 05:20 include drwxr

CentOS 7下Hadoop2.6伪分布模式安装

1.Hadoop核心配置文件: # gedit core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> # gedit hdfs-site.xml <configuration> <

CentOS7搭建hadoop2.6.4+HBase1.1.6

环境: CentOS7 hadoop2.6.4两个节点:master.slave1 HBase1.1.6 过程: hadoop安装目录:/usr/hadoop-2.6.4 master节点,hadoop用户登录.在hadoop目录下新建thirdparty目录: $ mkdir thirdparty 目录结构: 把hbase1.1.6解压到thirdparty目录下: $ cp ~/hbase-1.1.6-bin.tar.gz thirdparty $ cd thirdparty $ tar z

Centos7 搭建hadoop2.6 HA

用户配置: User :root Password:toor 2.创建新用户 student Pwd: student 3.安装virtualbox的增强工具软件 4.系统默认安装的是openjdk 1.7.0.5 没有jps等工具可以使用. 但hadoop应该是可以在openjdk中使用的. 卸载openjdk,下载安装oracle jdk. for i in $(rpm -qa | grep openjdk | grep -v grep) do echo "Deleting rpm ->

hadoop-2.10.0安装hive-2.3.6

公司建立数仓,hive是必不可少的,hive是建立在hadoop基础上的数据库,前面已经搭建起了hadoop高可用,要学习hive,先从搭建开始,下面梳理一下hive搭建过程 1.下载hive安装包 ,下载地址:https://hive.apache.org/downloads.html 找到自己hadoop对应的版本下载安装,我这里下载的是 apache-hive-2.3.6-bin.tar.gz 2.安装hive,将安装包解压到/opt/soft下,并建立软链接 tar -zxvf apac

Hadoop2伪分布模式安装

参照Apache的官方文档,Hadoop2还是蛮好搭建的,但是搭建好后,MapReduce的JobHistory页面却没法进去,这是因为JobHistory没有配置正确或者服务没有启动起来.本文将梳理伪分布模式的搭建过程,并给出配置文档,让你不再为搭建这些过程烦恼. 准备 安装程序获取:从官网上下载,从Apache Download Mirrors选择一个镜像位置,然后选择一个Hadoop版本,下载hadoop-2.*.*.tar.gz 安装jdk: sudo apt-get autoremov

Spark安装:CentOS7 + JDK7 + Hadoop2.6 + Scala2.10.4

本文搭建环境为:Mac + Parallel Desktop + CentOS7 + JDK7 + Hadoop2.6 + Scala2.10.4-------------------------------------------------- 一.CentOS安装 ■ 安装完成后记得保存快照. ■ 环境准备 CentOS7下载:http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso. ■ Mac Par

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)【转】

[转自:]http://blog.csdn.net/hitwengqi/article/details/8008203 最近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文. 首先要了解一下Hadoop的运行模式: 单机模式(standalone)       单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置.在这种默认模式下所有3个XML文件均为空.当配置文件为空时,Hadoop会完全运行在本地.因为不