Centos6下安装伪分布式hadoop

安装环境:Centos 6
Hadoop版本:2.7.2
用户名:huwei

Hadoop2.7.2下载链接:https://pan.baidu.com/s/1AK4CXh2jBKOSa-bN4NA8nQ 提取码:bemy

下载好的hadoop压缩包如下图所示:
Centos6下安装伪分布式hadoop_第1张图片

提示:全文中所有cd命令,均可在图形化界面点击进入指定文件夹后,右击打开终端而省略。

1. 为Hadoop创建安装的文件夹

cd命令进入/usr/local 目录下,由于进入系统目录操作需要管理员权限,故使用su命令由普通用户转为root用户,mkdir Hadoop创建Hadoop文件夹(touch是创建文件)

su
cd /usr/local/
mkdir Hadoop

Centos6下安装伪分布式hadoop_第2张图片

2.将Hadoop移至已创建好的文件夹中

mv /home/huwei/下载/hadoop-2.7.2.tar.gz /usr/local/Hadoop

移动成功后如下图:

Centos6下安装伪分布式hadoop_第3张图片

3. 解压Hadoop压缩包

进入刚刚创建的Hadoop文件夹,鼠标右击“在终端打开”
Centos6下安装伪分布式hadoop_第4张图片
即直接在终端进入了该文件夹的位置,免去的较为繁琐的cd命令

Centos6下安装伪分布式hadoop_第5张图片

还有一点要特别注意的就是,在系统目录里进行操作,需要转为root用户

su

解压压缩包

tar -zxvf hadoop-2.7.2.tar.gz

Centos6下安装伪分布式hadoop_第6张图片
解压完成!

4. 配置环境变量

su命令转为root用户,在任一目录下输入

vi /etc/profile

进入该文件后按下键盘中的字母 i 进行输入,在文件末尾添加以下变量(具体根据自己放置hadoop的位置进行相应修改)

export HADOOP_HOME=/usr/local/Hadoop/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

输入完成后按下键盘右上角的 Esc 并输入:wq进行保存退出

使变量生效并检验

source /etc/profile

任意目录输入hado,然后按下Tab,如果自动补全hadoop,则说明环境变量配置的没问题,回车则有

Centos6下安装伪分布式hadoop_第7张图片

5. 安装SSH、配置SSH无密码登陆

检查是否安装了SSH

rpm -qa | grep ssh

一般情况下,CentOS 默认已安装了 SSH client、SSH server,可打开终端执行如下命令进行检验。如果返回的结果如下图所示,包含了 SSH client 跟 SSH server,则不需要再安装。

Centos6下安装伪分布式hadoop_第8张图片
测试 SSH 是否可用

ssh localhost

此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 ,这样就登陆到本机了

在这里插入图片描述
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。

SSH无密码登陆

在客户端生成私钥与公钥

ssh-keygen -t [rsa|dsa],rsa和dsa代表不同的算法
将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub(如果用dsa则生成id_dsa,id_dsa.pub)

ssh-keygen -t rsa  # 三个回车

Centos6下安装伪分布式hadoop_第9张图片

cat id_rsa.pub >> authorized_keys  # 加入授权
chmod 600 ./authorized_keys    # 修改文件权限
ssh-copy-id localhost  # 将公钥拷贝给自己

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示

在这里插入图片描述
SSH无密码登陆配置成功!

有关上述Linux权限详解可参考:https://blog.csdn.net/u013197629/article/details/73608613

6.关闭防火墙

查看防火墙状态(切换为root用户)

service iptables status

CentOS 7的防火墙服务为firewalld,不再使用iptables了
systemctl stop firewalld 关闭防火墙服务网

若出现下图信息则说明防火墙处于开启状态!

Centos6下安装伪分布式hadoop_第10张图片

关闭防火墙

service iptables stop

在这里插入图片描述
再次查看防火墙的状态

service iptables status

在这里插入图片描述
防火墙成功关闭!

7. 修改相关配置文件

进入hadoop文件夹下的etc/hadoop/目录,打开终端并切换为root用户

Centos6下安装伪分布式hadoop_第11张图片

(1)hadoop-env.sh

vi hadoop-env.sh

修改下图红圈部分内容,即配置jdk的路径
Centos6下安装伪分布式hadoop_第12张图片
改后为:

Centos6下安装伪分布式hadoop_第13张图片

按下左上角的Esc输入:wq保存退出

(2) core-site.xml

vi core-site.xml

中加入

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

Centos6下安装伪分布式hadoop_第14张图片
按下左上角的Esc输入:wq保存退出

(3) hdfs-site.xml

vi hdfs-site.xml

中加入

    <!-- HDFS的副本为1,即数据只保存一份 -->
    
        dfs.replication</name>
        1</value>
    </property>

Centos6下安装伪分布式hadoop_第15张图片
按下左上角的Esc输入:wq保存退出

(4) mapred-site.xml

由于该目录下只有mapred-site.xml.template文件,故将其改名为mapred-site.xml

Centos6下安装伪分布式hadoop_第16张图片

mv mapred-site.xml.template mapred-site.xml

修改mapred-site.xml文件

vi mapred-site.xml

中加入

 <!-- 指定MapReduce运行在YARN上 -->
    
        mapreduce.framework.name</name>
        yarn</value>
    </property>

Centos6下安装伪分布式hadoop_第17张图片
按下左上角的Esc输入:wq保存退出

(5) yarn-site.xml

vi yarn-site.xml

中加入

<!-- 分别指定ResouceManager的地址 -->
    
       yarn.resourcemanager.hostname</name>
       localhost</value>
    </property>
    <!-- 分别指定MapReduce的方式 -->
    
       yarn.nodemanager.aux-services</name>
       mapreduce_shuffle</value>
    </property>

Centos6下安装伪分布式hadoop_第18张图片

按下左上角的Esc输入:wq保存退出

8. IP映射配置

要在root下进行

vi /etc/hosts

Centos6下安装伪分布式hadoop_第19张图片

9.初始化Hadoop HDFS文件系统

hdfs namenode -format

若出现下图所示内容,则说明初始化成功!
Centos6下安装伪分布式hadoop_第20张图片

10. 启动Hadoop

进入hadoop文件夹下的sbin目录,需切换至root用户

start-dfs.sh
start-yarn.sh
jps

Centos6下安装伪分布式hadoop_第21张图片
至此,hadoop安装完成!!!

你可能会遇到的以下问题

(1)在root用户下启动hadoop集群不需要输入密码,而在普通用户下的免密登录没有起效,仍需要多次输入密码,这可能是因为你刚刚是在root用户下进行的免密操作,那么就在普通用户下重新执行SSH免密操作。
(2)如果启动hadoop集群时提示找不到命令…,那么就再次输入source /etc/profile或输入source /etc/profile再reboot重启。
(3)在普通用户下启动yarn,虽然可以正常启动,但是过程中会有“……权限不够·”

Centos6下安装伪分布式hadoop_第22张图片
执行`

 chown -R huwei:huwei /tmp/  

即可正常。

其中huwei分别为我的用户名和组名,想要查看当前用户的所在组groups 用户名即可返回组名以及组下的用户名

你可能感兴趣的:(大数据,centos,linux,hadoop,ssh)