环境
虚拟机:VirtualBox
Ubuntu:14.04
hadoop:2.6
安装
1、创建hadoop用户
sudo useradd -m hadoop -s/bin/bash
【
Ubuntu终端复制粘贴快捷键】
【在Ubuntu终端窗口中,复制粘贴的快捷键需要加上shift,即粘贴是 ctrl+shift+v。】
使用如下命令修改密码,按提示输入两次密码 hadoop
:
sudo passwd hadoop
可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:
sudo adduser hadoop sudo
2、切换到hadoop用户下
su hadoop
3、安装
SSH server、配置SSH无密码登陆
集群、单节点模式都需要用到SSH登陆(类似于远程登陆,你可以登录某台Linux电脑,并且在上面运行命令),Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
sudo apt-get install openssh-server
安装后,可以使用如下命令登陆本机:
ssh localhost
此时会有提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码hadoop
,这样就登陆到本机了。
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
此时再用 ssh localhost
命令,无需输入密码就可以直接登陆
Java环境可选择 Oracle 的 JDK,或是 OpenJDK,按http://wiki.apache.org/hadoop/HadoopJavaVersions中说的,新版本在 OpenJDK 1.7 下是没问题的。为图方便,这边直接通过命令安装 OpenJDK 7。
sudo apt-get install openjdk-7-jre openjdk-7-jdk
OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/jvm/java-7-openjdk-i86 ,可通过命令dpkg -L openjdk-7-jdk
查看到)。安装完后就可以使用了,可以用java -version
检查一下。
接着需要配置一下 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置(扩展阅读:设置Linux环境变量的方法和区别):
vi ~/.bashrc
在文件最前面添加如下单独一行(注意 = 号前后不能有空格),并保存:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
如下图所示(该文件原本可能不存在,内容为空,这不影响):
接着还需要让该环境变量生效,执行如下代码:
source ~/.bashrc# 使变量设置生效
echo $JAVA_HOME# 检验是否设置正确
设置正确的话,会输出如下结果:
5、安装hadoop
进入hadoop所在的目录将其解压到/usr/local/hadoop
sudo tar -zxvf ./hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限
Hadoop解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示命令用法:
cd ./hadoop
./bin/hadoop
6、hadoop伪分布配置
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/
中,伪分布式需要修改2个配置文件core-site.xml 和hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
修改配置文件 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml
),将当中的
<configuration>
</configuration>
修改为下面配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
同样的,修改配置文件 hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
修改配置文件
yarn-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置完成后,执行 namenode 的格式
bin/hdfs namenode -format
成功的话,会看到
successfully formatted
的提示,且倒数第5行的提示如下,Exitting with status 0
表示成功,若为Exitting with status 1
则是出错
接着开启
如下
进程
sbin/start-dfs.sh
sbin/start-yarn.sh
至此,所有的已经安装完事,且所有服务都已经启动
验证
提示
参考文章:www.powerxing.com/install-hadoop/
QQ交流:1923361654
hadoop完全分布式部署参考:http://blog.csdn.net/gamer_gyt/article/details/51991893
hadoop单机版部署参考:http://blog.csdn.net/gamer_gyt/article/details/46545303