首先配置一个可以用的虚拟机环境,我使用的是Virtual Box上面安装的Ubuntu desktop版。在一开始分配硬盘的时候尽量大一点,我一开始只分配了10G,结果装到一半满了,连虚拟机都打不开。(改天写一下虚拟机打不开怎么办)。建议分配虚拟硬盘100G。
安装完linux环境之后,第一步先确保系统是最新的
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential ssh lzop git rsync curl
$ sudo apt-get install python-dev python-setuptools
$ sudo apt-get install libcurl4-openssl-dev
$sudo pip install virtualenv virtualenvwrapper python-dateutil
第二步,创建hadoop用户组,以及组内用户,我们创建两个用户hadoop管理员:hadoop和普通用户:student
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hadoop
$ sudo adduser --ingroup hadoop student
# 添加已有用户到hadoop组
$ sudo usermod -a -G hadoop student
这里hadoop用户之后要作为管理员,所以最好给他添加sudo权限
首先登陆拥有root权限的用户
$ vim /etc/sudoers
找到root ALL=(ALL;ALL) ALL
这一行,在后面仿照这行加一行
hadoop ALL=(ALL;ALL) ALL
:wq! 保存
第三步,配置SSH
SSH配置是必须的,是通过加密手段控制hadoop的访问,只有注册过的用户才可以访问hadoop。通过以下命令
# 切换到你要注册的用户
$ sudo su hadoop
$ ssh-keygen
过程中出现的都一路回车,不要输入密码。
为了使用ssh,需要将生成的密钥复制到授权文件里:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
测试配置是否成功:
# -l 使用的用户名
$ ssh -l hadoop localhost
如果没有要求输入密码,则说明配置成功。
第四步,安装JAVA
$ sudo apt-get install openjdk-7-*
这里会出提示,不要选择9以后的版本,不然后面会很吐血。
出来3个东西,都装上。
检查是否安装成功:
$ java -version
第五步,禁用ipv6
Hadoop与Ipv6有冲突的可能,所以我们先禁用Ipv6
$ sudo vim /etc/sysctl.conf
将以下内容加到文件末尾:
# 禁用ipv6
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
重启计算机使更改生效
输入测试代码:
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
如果输出是1,则表示ipv6已经成功禁用