我是用的是桌面般的Ubuntu

1、创建hadoop用户

打开Ubuntu终端

sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell
sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码
sudo adduser hadoop sudo             #为hadoop用户增加管理员权限
su - hadoop                          #切换当前用户为用户hadoop
sudo apt-get update                  #更新hadoop用户的apt,方便后面的安装

2安装SSH,设置SSH无密码登陆

sudo apt-get install openssh-server   #安装SSH server
ssh localhost                         #登陆SSH,第一次登陆输入yes
exit                                  #退出登录的ssh localhost
cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
ssh-keygen -t rsa

输入完 $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车,如下图:

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hadoop


出现这个图,既成功

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_02


然后输入

cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh localhost

如果不需要输入密码(出现下图,既安装成功)

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_xml_03

3、安装JDK

前面有一篇单独安装JDK的,就不在此再次写了

4、安装Hadoop

A、下载hadoop

http://mirrors.hust.edu.cn/apache/hadoop/common/

B、把下载的文件放到虚拟机里
C、在虚拟机根目录创建hadoop文件夹
sudo mkdir /hadoop
D、解压并移动文件

我的hadoop放在下载文件夹下(中文的乌班图)
1、解压

sudo tar -zxvf /home/hadoop/下载/hadoop-2.7.7.tar.gz

2、移动文件
解压后会发现在 下载 文件里 多了个hadoop-2.7.7 文件夹

sudo mv  hadoop-2.7.7 /hadoop

注意此时我实在下载目录下

E、配置环境变量

打开配置文件

sudo gedit /etc/profile

环境变量(在打开的文件,写入环境变量)

export HADOOP_HOME=/hadoop/hadoop-2.7.7 #相应文件夹路径
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

使用source /etc/profile 命令使配置文件生效。

F、测试是否安装成功

在终端输入

hadoop version

注意,和测试JAVA的环境变量不同的是,这里的version前面没有- 出现下图,则安装成功

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hadoop_04

5、伪分布式配置

需要修改四个文件,四个文件都在hadoop_path/etc/hadoop/
hadoop_pathhadoop安装目录
1、sore-site.xml

<configuration>
	<propert>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost/</value>
	</propert>
</configuration>

2、hdfs-site.xml

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

3、mapred-site.xml

注意:目录没有这个文件,但是有一个mapred-site.xml.template,复制并重命名为mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

4、yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>localhost</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

6、Hadoop运行

a、格式化hdfs
hdfs namenode -format

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_05

b、启动hadoop hdfs

启动的时候遇到一个问题,找不到JAVA_HOME,但是echo $JAVA_HOME 就可以获取到

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_xml_06


没办法,索性直接修改文件

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_07


这是修改后的,注意看红框里的,修改为如图启动的时候遇到了一个问题,提示权限不够,无法启动

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hadoop_08


后才查找资料才知道

logs文件夹Owner是root, hadoop 用户没有权限

chmod a+w $HADOOP_HOME

增加权限 解决。

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hadoop_09


再次尝试启动hadoop hdfs

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_10


启动成功

c、启动yarn
start-yarn.sh

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_11

可以使用start-all.sh 启动所有进程

d、查看运行进程

jsp 命令查看所有进程

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_12

7、Web管理页面

http://localhost:8088

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_xml_13


http://localhost:50070

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_xml_14

8、退出

stop-all.sh 一次推出所有进程
stop-dfs.sh stop-yarn.sh 分别关闭进程

ubuntu hadoop集群 时间同步 基于ubuntu的hadoop部署_hdfs_15