折腾hadoop好久,期间几次完全推到重来,现在在这里写下来备份。本文不是写给别人作为教程,而是给我自己作提醒的,如果你碰巧看到了本文,那你可能需要一些linux基本知识才能正确理解。
1、安装linux
本文假设从裸机开始,所以要先装linux。本人是ubuntu对支持者,所以装的是ubuntu,废话没有,很容易就装好了。在安装过程中,要注意所有节点对主机名应该有规律,比如node0, node1, node2 ...
2、准备
下面对软件对安装,全都使用了apt,这个软件需要互联网链接,如果你对网速极慢,或者根本链接不到外部网络(这个现象在教育网内很常见),可以从一个能 上网对ubuntu电脑上的/var/cache/apt/archives文件夹里deb文件出来安装(什么?你问我这个文件夹里为什么没有想要的包, 这个文件夹是apt对缓存文件夹,想要里面有你想要对东西,不用我提醒你应该怎么办了吧)。
ubuntu默认已经装好了openssh-client,需要安装openssh-server。命令如下:
sudo apt-get install openssh-server
然后是jdk:
sudo apt-get install default-jdk
3、配置网络
如果你的节点们可以通过dhcp服务器获得ip,我个人建议,这样做,原因是简单,不用怎么配置就搞定了。或者可以使用静态ip,作为一个牛b的 linux大牛,应该可以通过一行命令来设置静态ip,但是我不会。我通常都是在gnome提供的网络管理器来设ip对。如果你用对linux里没有图形 界面,那样请google。
设置好了ip地址之后,记忆在/etc/hosts文件中给每个节点起个名字,最好就是各自对主机名,这样有利于下面对配置和管理。
hadoop要求各节点间可以不需要输入密码就能用ssh互相登录。我使用了比官方方法简单一点方法来设置,但是据说安全性有点儿问题。下面是方法:
在某个节点上执行如下命令:
rm -rf ~/.ssh
ssh-keygen -t rsa
这个命令之后需要多按几次回车,知道再次出现命令提示符。当然,这个做法也不是很安全,里面有个输入key的地方,官方的建议是,输入一首歌的歌词,呵呵,这个建议很搞笑。当然在我的步骤中,这个key就是空值了。
cat ~/.ssh/id_rsa.pub >> authorized_keys
然后把整个.ssh文件夹考到所有对节点上,具体方法可以使用scp命令,具体命令由于和具体环境有关,下面不写。
这样网络就设置对差不多了。
4、安装hadoop
解压,这个比较简单,命令不写。解压对位置最好每个hadoop都一样,不一样有什么后果,我没试过。
之后要进行一些配置,首先进入解压后目录对conf文件夹,要修改对配置文件包括hadoop-env.sh hadoop-site.xml masters slaves
hadoop-env.sh中要uncomment下面一行:
export JAVA_HOME=/home/hadoop/jdk1.6.0_16/
当然具体的值,也要根据具体情况进行更改。
接下来是hadoop-site.xml,下面是我的文件内容。
这个例子很直白,不解释。
masters里面是jobtracker和namenode所在节点的主机名或者ip地址,我的masters文件里只有一行,当然如果你想要设置多个节点作为主节点,也可以。
slaves里面是所有tasktracker和datanode对主机名或ip地址。
5、运行
先进入hadoop安装文件夹。然后依次运行如下命令:
不出意外的话,现在hadoop就可以使用了。