centos安装hadoop2.7.2伪分布式

本人最近在本地的虚拟机centos系统中搭建了一个hadoop2.7.2的伪分布式环境,并且可以成功执行wordcount代码,以下步骤大家可以参考参考。

以下是需要用到的软件列表:

1.VMware12 pro

2.CentOS-6.7-x86_64-bin-DVD1.iso

3.jdk-8u20-linux-x64.tar.gz

4.sublime_text_3_build_3103_x64.tar.bz2

5.hadoop-2.7.2.tar.gz


一、安装虚拟机并且通过CentOs镜像文件安装Centos6.7系统(步骤省略)


二、安装sublime_text_3

首先将sublime_text_3_build_3103_x64.tar放到/opt 目录下。

 然后执行解压命令: tar-jxvf sublime_text_3_build_3103_x64.tar.bz2

 解压后进入sublime_text_3目录。

 执行命令 cp /opt/sublime_text_3/sublime_text.desktop /usr/share/applications

 将sublime_text.desktop放到/usr/share/applications

 然后执行命令vi命令: vi /usr/share/applications/sublime_text.desktop

 如何修改正确本地路径:

centos安装hadoop2.7.2伪分布式_第1张图片

如下图添加桌面快捷方式:

centos安装hadoop2.7.2伪分布式_第2张图片

执行命令ln -s /opt/sublime_text_3/sublime_text /usr/bin/sublime 将sublime命令添加到本地环境。

然后可以通过命令sublime 直接打开文件。

centos安装hadoop2.7.2伪分布式_第3张图片


三、安装JDK

将jdk-8u20-linux-x64.tar文件放到/opt目录下。

然后执行解压命令tar –zxvf jdk-8u20-linux-x64.tar.gz

接着卸载本地openjdk。

首先执行命令:rpm -qa | grep jdk

如果执行命令显示了openjdk,则执行yum –y remove xxx 将本地openjdk删除。

删除本地openjdk之后配置java环境变量

执行命令sublime /etc/profile

然后将 export JAVA_HOME=/opt/jdk1.8.0_20

      export PATH=$PATH:$JAVA_HOME/bin

内容添加到该文件中,并保存。

然后执行 source /etc/profile 命令让环境变量生效。

接着执行 java –version 查看java版本


四、安装hadoop2.7.2伪分布式

Ssh 无密码登陆

vi /etc/ssh/sshd_config

#以下4行的注释需要打开

HostKey /etc/ssh/ssh_host_rsa_key

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

保存并重启sshd执行命令:service sshd restart

生成免登陆秘钥

ssh-keygen -t rsa

centos安装hadoop2.7.2伪分布式_第4张图片

一路回车。之后会在当前登陆用户主目录中的.ssh文件夹里生成2个文件。

如果是root用户则cd /root/.ssh 如何是单独创建的用户则cd /用户名/home/.ssh

进入.ssh目录。

cat id_rsa.pub>> authorized_keys

现在可以用ssh无密码登陆系统了。

ssh localhost


将hadoop-2.7.2.tar放到/opt目录下,并解压该文件。

然后配置hadoop环境变量,执行sublime /etc/profile

接着设置以下环境变量:

exportHADOOP_HOME=/opt/hadoop-2.7.2

exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

exportHADOOP_COMMON_HOME=$HADOOP_HOME

exportHADOOP_HDFS_HOME=$HADOOP_HOME

exportHADOOP_MAPRED_HOME=$HADOOP_HOME

exportHADOOP_YARN_HOME=$HADOOP_HOME

exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

exportHADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib

 

然后执行source /etc/profile命令

查看hadoop版本: hadoop version

centos安装hadoop2.7.2伪分布式_第5张图片

配置Hadoop

创建hadoop的name与data目录

mkdir -p /usr/hdfs/name

mkdir -p /usr/hdfs/data

mkdir -p /usr/hdfs/tmp

cd /opt/hadoop-2.7.2/etc/hadoop

设置以下文件的JAVA_HOME

hadoop-env.sh yarn-env.sh

export JAVA_HOME=/opt/jdk1.8.0_20


执行命令:sublime core-site.xml

在configuration节点里面加入以下配置

     hadoop.tmp.dir

     /usr/hdfs/tmp

     A base for other temporarydirectories.

 

 

     fs.defaultFS

     hdfs://localhost:9000

 


执行命令:sublime hdfs-site.xml

同样在configuration节点里面加入以下配置

   

       dfs.namenode.name.dir

       /usr/hdfs/name

   

    

       dfs.datanode.data.dir

       /usr/hdfs/data

   

   

       dfs.replication

       3

   

   

       dfs.permissions

       false


从模板复制一份mapred-site.xml

cpmapred-site.xml.template mapred-site.xml

执行命令:sublime mapred-site.xml

同样在configuration节点里面加入以下配置

       mapred.job.tracker

       localhost:9001

至此,已经将Hadoop初步的环境配置好了,在启动之前还需要格式化namenode。

输入命令“hadoop namenode -format”;

centos安装hadoop2.7.2伪分布式_第6张图片

然后 cd /opt/hadoop-2.7.2/sbin 启动hadoop.

执行启动命令: ./start-all.shcentos安装hadoop2.7.2伪分布式_第7张图片

然后执行jps命令,如下图:

centos安装hadoop2.7.2伪分布式_第8张图片

启动完毕,打开浏览器输入  http://localhost:50070 (监控namenode,datanode,查看hdfs)  与  http://localhost:8088/cluster (监控mapreduce运行状况) 验证安装。

centos安装hadoop2.7.2伪分布式_第9张图片

centos安装hadoop2.7.2伪分布式_第10张图片


测试Hadoop

 

通过运行hadoop自带的wordcount来验证安装是否正确。

进入/opt/hadoop-2.7.2/share/hadoop/mapreduce安装的目录,输入以下命令。

mkdir example

cd example

编辑file1.txt与file2.txt

执行命令:sublime file1.txt ,并保存以下内容。

hello zhm

hello hadoop

hello cz

执行命令:sublime file2.txt,并保存以下内容

hadoop is ok

hadoop is newbee

hadoop 2.7.2

在hdfs上创建 data目录,并把本地两个文件put到data目录中

hadoop fs -mkdir /data

hadoop fs -put -f example/file1.txt example/file2.txt /data

然后访问http://localhost:50070centos安装hadoop2.7.2伪分布式_第11张图片

运行wordcount例子

执行命令:

hadoop jar/opt/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jarwordcount /data /output

注意:jar包的地址必须填写好正确的路径,即使你已经cdjar包的目录下,也不可以省略路径,必须要绝对路径。

centos安装hadoop2.7.2伪分布式_第12张图片


然后可以执行命令查看结果:

hadoop fs -cat /output/part-r-00000

centos安装hadoop2.7.2伪分布式_第13张图片

或者是通过web端,访问查看结果

centos安装hadoop2.7.2伪分布式_第14张图片









你可能感兴趣的:(hadoop)