新 手 版 Centos7 下 安 装 Hadoop2.7.6 单 机

本人刚开始安装的时候,看了很多篇的博客,跟着一步步做结果还是出现很多问题,主要是有的步骤、配置他们都没有解释清楚,这对于刚接触Linux系统的新手、小白来说,简直就是个巨坑。所有我特意在这里整理了一篇比较全面的博客,希望可以帮助没有多少基础的小伙伴快速地安装上Hadoop。

温馨提示: 再开始前,请确保,你的网络是连通的,否则在后面发现,就会变得麻烦。关于网络不通的问题

由于许多操作都需要root权限,最好用su命令提前进入root用户,或者在需要权限的操作前加上sudo


安装环境


#1 、Centos7
#2 、jdk1.8.0
#3 、Hadoop-2.7.6
#4 、SSH

一、安装jdk


由于centos7在安装的时候,默认安装了jdk,因此为方便,先卸载系统自带的jdk版,安装自己所需的jdk版本。

  1. 查看系统中的java版本
[root@master ~]# java -version
结果如下

centos7卸载 apache centos7卸载hadoop_Hadoop

  1. 查看已安装的openjdk版本 ,用下面两条命令之一进行查看;
[root@master ~]# rpm -qa | grep java
[root@master ~]#  rpm -qa | grep jdk
结果如下图

centos7卸载 apache centos7卸载hadoop_SSH免密_02

  1. 卸载系统自带的openjdk ,其中java-1.8.0-openjdk-devel是所卸载的文件名的唯一前缀,只需能和其他的文件名区别开就行;
[root@master ~]#   rpm -e --nodeps java-1.8.0-openjdk-devel

有的博客提到不带箭头的不要删掉,不过我在安装的过程中,没有遇到所说的带箭头的,我直接把列出来的文件都卸载了;
  1. 下载jdk压缩包,在这里总结了三种方法;
    首先在根目录下创建一个文件夹,用于存放文件。
[root@master ~]# mkdir /opt

4.1、通过通过挂载命令mount,实现Linux和Windows文件互通, 共享文件夹,提取Windows系统中的文件;

由于篇幅有限,过段时间会在此处补上,或者给出相关的连接。

相关连接 此连接无效,后期补上,若是急需可在下方留言,望能略尽绵薄之力。

4.2、通过系统自带的 yum 工具进行安装;

由于篇幅有限,过段时间会在此处补上,或者给出相关的连接。

相关连接 此连接无效,后期补上,若是急需可在下方留言,望能略尽绵薄之力。

4.3、通过Linux安装好的图形化界面中的Firefox浏览器,下载到本地文件夹。

JDKl下载连接

centos7卸载 apache centos7卸载hadoop_centos7卸载 apache_03


在以上四个中,根据自己的情况进行下载,我下的是Linux系统64位的(X86代表32位系统,X64为64位系统)。

将下载好的压缩包文件移到opt目录下

进入jdk压缩包所在的下载目录

[demo@demo ~]$ cd 下载

将jdk压缩包移到opt目录下

[demo@demo 下载]$ sudo mv  jdk-8u211-linux-x64.tar.gz /opt
将jdk安装到opt目录下
[demo@demo ~]$ cd /opt/
 [demo@demo opt]$  sudo rpm -ivh --prefix=/opt jdk-8u211-linux-x64.rpm
安装成功后会出现下图方框中的文件夹

centos7卸载 apache centos7卸载hadoop_centos7卸载 apache_04

  1. 配置java环境变量 ,;

修改系统配置文件profile;

[demo@demo opt]$  sudo vi /etc/profile

在文件末尾添加或修改为以下内容
说明1:/opt/jdk1.8.0_211-amd64 为jdk安装解压路径
说明2:export PATH=centos7卸载 apache centos7卸载hadoop_SSH免密_05PATH 为必要设置, 不必更改

export JAVA_HOME=/opt/jdk1.8.0_211-amd64
export PATH=$JAVA_HOME/bin:$PATH
结果如下图

centos7卸载 apache centos7卸载hadoop_Hadoop_06

设置成功后,输入下列命令,是配置文件生效。

[demo@demo opt]$  source /etc/profile
  1. 进行验证

输入下列命令之一查看是否有内容

[demo@demo opt]$  java -version

如图所示

centos7卸载 apache centos7卸载hadoop_centos7卸载 apache_07


二、关闭防火墙

此操作也可于第一步做


  1. 关闭防护墙,;
[demo@demo opt]$  systemctl stop firewalld.service
  1. 禁止防火墙开机启动,;
[demo@demo opt]$  Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
[demo@demo opt]$  Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

三、安装Hadoop


  1. 下载Hadoop压缩包,;

步骤同,jdk压缩包下载,此处省略具体步骤

  1. Hadoop2.7.6下载连接

将其解压到/opt目录下

[demo@demo opt]$  tar -zxvf hadoop-2.7.6.tar.gz  -C /opt/
解压后得到如下图所示文件夹

centos7卸载 apache centos7卸载hadoop_centos7卸载 apache_08

  1. 在根目录下创建文件夹,用于存放Hadoop的压缩包和解压后文件;
[demo@demo opt]$  mkdir software
  1. 修改Hadoop环境变量,;

修改profile文件

[demo@demo opt]$  vim /etc/profile

修改或添加以下内容:

export HADOOP_HOME=/opt/hadoop-2.7.6

export PATH=$PATH:$HADOOP_HOME/bin

使配置文件生效

[demo@demo opt]$  source /etc/profile
  1. 修改Hadoop配置文件,;

配置文件所在目录的绝对路径为:/opt/hadoop-2.7.6/etc/hadoop/

  1. <1>、-配置hadoop-env.sh,;
[demo@demo opt]$  sudo vim /opt/hadoop-2.7.6/etc/hadoop/hadoop-env.sh

在# The java implementation to use.下面添加或修改为:

export JAVA_HOME=/opt/jdk1.8.0_45

<2>、-配置core-site.xml,;

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

[demo@demo opt]$  sudo vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml

将其中内容修改为:

<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:///opt/hadoop-2.7.6</value>
		<description>Abase for other temporary directories.</description>
	</property>
	<property>
		 <name>fs.defaultFS</name>
		 <value>hdfs://192.168.162.131:8888</value>
	</property>
</configuration>

<3>、-配置hdfs-site.xml,;

[demo@demo opt]$  sudo 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.6/tmp/dfs/name</value>
		</property>
		<property>
			 <name>dfs.datanode.data.dir</name>
			 <value>file:///opt/hadoop-2.7.6/tmp/dfs/data</value>
		 </property>
</configuration>

四、SSH免密登录

此过程需要open所示安装包


  1. 安装openssh,系统自带可自行跳过;
[demo@demo opt]$  sudo yum install openssh -y
  1. 生成ssh密码对,;

<1>、为了使生成的文件在root目录下,先进入root用户

[demo@demo opt]$  su

<2>、进行秘密对生成

[root@demo opt]$  ssh-keygen -t rsa -P ""

:输入后,一直回车,直至秘密对生成即可;

  1. 将id_dsa.pub追加到授权的key中,;
[root@demo opt]$  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 设置授权key权限,参数0600或600;
[root@demo opt]$  chmod 0600 ~/.ssh/authorized_keys
  1. 测试ssh连接,首次测试会进行询问,输入yes即可;
[root@demo opt]$  ssh localhost

退出登录

启动

[root@demo opt]$  exit

再次登录,输入命令后直接登录成功

[root@demo opt]$  ssh localhost

五、测试


  1. 格式化hdfs,;
[root@demo opt]$  cd /opt/hadoop-2.7.6
[root@demo opt]$  ./bin/hdfs namenode -format

出现询问,输入yes即可

启动

[root@demo opt]$  ./sbin/start-dfs.sh

在浏览器中输入http://192.168.162.131:50070 进行验证

结果如下图

centos7卸载 apache centos7卸载hadoop_SSH免密_09

停止

[root@demo opt]$  ./sbin/stop-dfs.sh