Ubuntu下hadoop2.4搭建集群(单机模式)

时间:2022-12-04 10:48:16

一  、新建用户和用户组

注明:(这个步骤事实上能够不用的。只是单独使用一个不同的用户好一些)

1.新建用户组

sudo addgroup hadoop

Ubuntu下hadoop2.4搭建集群(单机模式)

2.新建用户

sudo adduser -ingroup hadoop hadoop

Ubuntu下hadoop2.4搭建集群(单机模式)

3.加入hadoop用户权限

sudo gedit  /etc/sudoers

打开sudoer文件后加入hadoop用户

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

# User privilege specification
root ALL=(ALL:ALL) ALL
hadoop ALL=(ALL:ALL) ALL

4.使用hadoop用户登录

二、安装ssh

 sudo apt-get install openssh-server

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

安装完毕后。启动服务

sudo /etc/init.d/ssh start

查看服务是否正确启动:ps -e | grep ssh

Ubuntu下hadoop2.4搭建集群(单机模式)

集群、单节点模式都须要用到SSH无password登陆,首先设置SSH无password登陆本机。

输入命令

ssh  localhost

首次登录须要输入yes

 Ubuntu下hadoop2.4搭建集群(单机模式)

设置免password登录,生成私钥和公钥

 ssh-keygen -t rsa -P ""

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

以下我们将公钥追加到authorized_keys中,它用户保存全部同意以当前用户身份登录到sshclient用户的公钥内容。

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

Ubuntu下hadoop2.4搭建集群(单机模式)

然后使用ssh localhsot就能够无password登录了。

使用exit退出登录

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

三、安装Java环境

曾经的教程都是建议安装Oracle的JDK,不建议使用OpenJDK。只是按http://wiki.apache.org/hadoop/HadoopJavaVersions中说的。新版本号在OpenJDK 1.7下是没问题的。通过命令安装OpenJDK 7。

sudoapt-getinstall openjdk-7-jreopenjdk-7-jdk

查看安装结果。输入命令:java -version。结果例如以下表示成功安装。

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

查看安装结果,输入命令:java -version,结果例如以下表示成功安装。

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

四、 安装Hadoop 2.4.1

2.4.1的下载地址为: http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.4.1/hadoop-2.4.1.tar.gz,安装教程主要參考了官方教程http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

下载后,解压到/usr/local/中。

然后改动目录名为hadoop

Ubuntu下hadoop2.4搭建集群(单机模式)

赋予用户对该目录的读写权限(这个问题非常是坑,我当时配置的时候被一些方法坑了,不太了解文件权限的东西)

有的建议是这样:

 sudo chmod 774 /usr/local/hadoop

可是我用这个命令之后。目录所有被隐藏了。都打不开。最后我是删除了hadoop目录。使用以下这个才解决的。

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

配置~/.bashrc

配置该文件前须要知道Java的安装路径。用来设置JAVA_HOME环境变量,能够使用以下命令行查看安装路径

update-alternatives - -config java

运行结果例如以下:

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

配置.bashrc文件

sudo gedit ~/.bashrc

Ubuntu下hadoop2.4搭建集群(单机模式)

#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

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

编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh

运行以下命令。打开该文件的编辑窗体

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

找到JAVA_HOME变量,改动此变量例如以下

 export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-i386   

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

五、測试wordcount

单机模式安装完毕。以下通过运行hadoop自带实例WordCount验证是否成功安装

/usr/local/hadoop路径下创建input目录

sudo mkdir input

拷贝README.txt到input

 cp README.txt input

Ubuntu下hadoop2.4搭建集群(单机模式)

运行WordCount

bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

执行例如以下

Ubuntu下hadoop2.4搭建集群(单机模式)

运行 cat output/*。查看字符统计结果

Ubuntu下hadoop2.4搭建集群(单机模式)

结果例如以下

Ubuntu下hadoop2.4搭建集群(单机模式)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdXpob3VqaWFucXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">