##1创建hadoop 用户组
sudo addgroup hadoop

##创建Hadoop用户
sudo adduser -ingroup hadoop hadoop

###回车后会提示输入密码(hadoop用户的密码) 然后一直敲回车就好
image.png

##为Hadoop用户添加权限

sudo gedit /etc/sudoers

打开sudoers文件,找到
root    ALL=(ALL:ALL) ALL
修改后如图
image.png

##切换到hadoop用户

su - hadoop

  输入密码即可

###安装ssh
sudo apt-get install openssh-server

启动ssh服务:

sudo /etc/init.d/ssh start

启动后,可以通过如下命令来确认服务是否正确启动:

ps -e | grep ss

image.png
作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

1
ssh-keygen -t rsa -P ""

image.png

 此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):

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

 现在可以登入ssh确认以后登录时不用输入密码

ssh localhost

退出

exit

##安装Java:

sudo apt-get install openjdk-6-jdk

直接执行此命令 会报错(因为Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库)
在网上找到的解决办法

1
2
3
sudo add-apt-repository ppa:openjdk-r/ppa  
sudo apt-get update
sudo apt-get install openjdk-7-jdk

但是速度是真的慢(考虑到是国外的库)所以安装失败
另一种 Ubuntu 16.04 Java8 安装
这种我没尝试

###最终我采用的解决办法是
在Ubuntu 16.04如何安装Java

###安装默认JRE / JDK
安装Java的最简单的选择是使用与Ubuntu一起打包的版本。 具体来说,这将安装OpenJDK 8,最新和推荐的版本。

首先,更新包索引。

sudo apt-get update

接下来,安装Java。 具体来说,此命令将安装Java运行时环境(JRE)。

1
sudo apt-get install default-jre

还有另一个默认的Java安装,称为JDK(Java开发工具包)。 JDK通常只需要如果你要编译Java程序,或者如果使用Java的软件特别需要它。

###JDK确实包含JRE,因此如果安装JDK而不是JRE,除了较大的文件大小,则没有缺点。

您可以使用以下命令安装JDK:

1
sudo apt-get install default-jdk

查看java 版本信息

java -version

image.png

##安装Hadoop
根据自己需要下载
下载地址
首先是切换到hadoop用户
要确保所有的操作都是在用户hadoop下完成的

###解压

tar zxf hadoop-3.0.2.tar.gz

###移动(将解压后的文件 移动到 /usr/local/hadoop目录下)

sudo mv hadoop-3.0.2 /usr/local/hadoop

###赋权

sudo chown -R hadoop:hadoop /usr/local/hadoop

##配置Hadoop

###1配置.bashrc
配置该文件,需要知道Java的安装路径

update-alternatives --config java

image.png

###修改.bashrc 文件

sudo gedit ~/.bashrc

在文件末尾追加下面内容,然后保存。

1
2
3
4
5
6
7
8
9
10
11
12
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

执行下面命令,使添加的环境变量生效:

source ~/.bashrc

image.png

###配置hadoop-env.sh

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

找到JAVA_HOME变量,按如下进行修改

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

image.png

使配置生效:

source /usr/local/hadoop/etc/hadoop/hadoop-env.sh

####单机模式安装完成

输入 hadoop version查看版本信息
image.png

##ubuntu16.04安装hadoop3.02伪分布式
ubuntu16.04安装hadoop3.02伪分布式+集群

###参考文章:
# 在Ubuntu系统上一步步搭建Hadoop(单机模式)
Ubuntu16.04 安装hadoop伪分布式1