超详细解说Hadoop伪分布式搭建
原文
原原文
单节点伪分布式Hadoop配置
(声明:文档里面需要用户输入的均已斜体表示)
第一步: 安装JDK
因为 Hadoop 运行必须安装 JDK 环境,因此在安装好 Linux 后进入系统的第一步 便是安装 JDK ,安装过程和在 Windows 环境中的安装步骤很类似,首先去 Oracle 官网 去下载安装包,然后直接进行解压。我自己解压在路径 /usr/jvm 下面,假如你的安装包现在已经下载在 jvm 文件夹下面,然后 按 Ctrl+Alt+t 进去命令行,然后输入
cd /usr/jvm
进入到jvm文件夹下面,然后再输入如下命令进行解压:
sudo tar -zxvf jdk-7u40-linux-i586.tar.gz
第二步: 配置环境变量
解压结束以后,像在 Windows 系统中一样,需要配置环境变量,在 Ubuntu 中设置 环境变量的过程为打开文件 /etc/profile ,因为权限的问题,因此在命令行需要输入 的是
sudo gedit /etc/profile
然后在根据提示输入用户密码即可,然后在文件最下面添加如下:
export JAVA_HOME=http://www.likecs.com/usr/jvm/jdk1.7.0_40
export CLASSPATH=".:$JAVA_HOME/lib:$JAVA_HOME/jre/lib$CLASSPATH"
export PATH="$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/hadoop/hadoop-1.2.1/bin:$PATH"
上面这三个以单词 export 开始的三个语句就类似于我们在 Windows 中的环境变量中设置一样,而且在这个里面和 Windows 中不同的是,在 Windows 中使用 “;” 号来表示分隔,但是在 Ubuntu 中是以 “:” 号来表示分隔。还需要注意的是,上面的路径都是我自己配置的时候的路径,因为我的 JDK 解压在 /usr/jvm 中,所以我的 JAVA_HOME 设置的是那个路径,而且如果安装的 JDK 版本不同那么后面的也不一样。同理在 CLASSPATH 路径中也是因为我自己的安装路径进行设置的,因此在配置过程中需要读者注意。在 PATH 路径中最后面还将 Hadoop 的路径也添加了进去,因此在读者安装了 Hadoop 后也将这个路径添加进环境变量 PATH 中去。
在配置完环境变量后,我们来将我们安装的 JDK 设置为 Ubuntu 系统默认的 JDK ,因为之前系统里面自带 openjdk ,在命令行里面输入如下:
sudo update-alternatives --install /usr/bin/java java /usr/jvm/jdk1.7.0_40/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/jvm/jdk1.7.0_40/bin/javac 300
sudo update-alternatives --config java
然后我们就可以在命令行输入 java -version 来进行察看 JDK 是否已经配置好了。
第三步: 安装Hadoop
我们可以去 Hadoop 官网上去下载安装包,我自己下载使用的是 hadoop-1.2.1.tar.gz ,然后当安装包下载结束后,将安装包解压到指定位置,我将安装包解压到了 /usr/hadoop 目录下面。
具体步骤是,像解压 JDK 一样,首先加入下载的 Hadoop 安装包在 /usr/hadoop 文件夹下面。然后在命令行下进入 /usr/hadoop 文件,类似于上面的。然后输入解压命令如下
sudo tar -zxvf hadoop-1.2.1.tar.gz
后面的 Hadoop 安装包名称具体看你下载的版本,我下载的是1.2.1版本的。 为了以后操作 /usr/hadoop 文件夹里面的文件方便,我们设置一下文件夹的权限,在命令行输入如下
sudo chown -hR baoshan /usr/hadoop
注意:在上面的命令中,baoshan是我自己此时登陆的用户名,因此你需要将那个改成你自己的用户名。
第四步: 配置Hadoop环境变量
在上面解压完 Hadoop 以后,现在我们来设置环境变量,其实在上面刚才我们配置 JDK 环境变量的时候,已经在 PATH 路径后面添加了 Hadoop 安装目录的 bin 目录的路径,所以那个就代表环境变量已经设置好了,但是读者一定要注意,不要 Copy ,要明确自己的 Hadoop 安装路径来进行配置。
第五步: 设置SSH(安全外壳协议)
推荐安装 OpenSSH , Hadoop 需要通过 SSH 来启动 Slave 列表中各台主机的守护进程,因此 SSH 是必需安装的。虽然我们现在搭建的是一个伪分布式的平台,但是 Hadoop 没有区分开集群式和伪分布式,对于伪分布式, Hadoop 会采用与集群相同的处理方式,即按次序启动文件 conf/slaves 中记载的主机进程,只不过在伪分布式中 Salve 为 localhost 而已,所以对于伪分布式, SSH 是必须的。
配置过程(首先确保连接上网络):
① 安装SSH,在命令行输入如下
sudo apt-get install openssh-server
② 配置可以免密码登陆本机
在命令行输入(注意其中的ssh前面还有一个 “ . ” 不要遗漏)
ssh-keygen -t dsa -P \'\' -f ~/.ssh/id_dsa
(解释一下上面这条命令, ssh-keygen 代表生成密钥; -t 表示指定生成的密钥 类型; dsa 是 dsa 密钥认证的意思; -P 用于提供密语(接着后面是两个单引号, 不要打错); -f 表示指定生成密钥文件)