1,这个我们是直接在linux中下载hadoop-2.6.0-cdh5.7.0,(当然你也可以在本地下载后再上传,这步就可以忽略)首先确保你的虚拟机有网络,可以先ping百度测试有网没,如下代码就是有网络的情况。

[root@master ~]# ping www.baidu.com
PING www.a.shifen.com (180.97.33.108) 56(84) bytes of data.
64 bytes from 180.97.33.108: icmp_seq=1 ttl=128 time=26.4 ms
64 bytes from 180.97.33.108: icmp_seq=1 ttl=127 time=26.4 ms (DUP!)
64 bytes from 180.97.33.108: icmp_seq=2 ttl=128 time=23.7 ms
64 bytes from 180.97.33.108: icmp_seq=2 ttl=127 time=23.7 ms (DUP!)
64 bytes from 180.97.33.108: icmp_seq=3 ttl=128 time=23.1 ms
64 bytes from 180.97.33.108: icmp_seq=3 ttl=127 time=23.5 ms (DUP!)
64 bytes from 180.97.33.108: icmp_seq=4 ttl=128 time=24.7 ms

2,root账户下,进入opt这个文件夹:

[root@master ~]# cd /opt
[root@master opt]#

3,root账户下,直接在当前文件夹输入“wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz” 下载hadoop(几百兆可能要下载一会),下载完成后,直接ls可以查看:

[root@master opt]# wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
[root@master opt]# ls
hadoop-2.6.0-cdh5.7.0.tar.gz
[root@master opt]# 

3,解压hadoop,解压完成后就可以ls查看;

[root@master opt]# tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz
[root@master opt]# ls
hadoop-2.6.0-cdh5.7.0  hadoop-2.6.0-cdh5.7.0.tar.gz
[root@master opt]#

4,改名字,由于后面要配置环境变量,为了方便,不用输入hadoop-2.6.0-cdh5.7.0这么长串的字符,所以我们将hadoop-2.6.0-cdh5.7.0直接改为hadoop,再ls查看:

[root@master opt]# mv hadoop-2.6.0-cdh5.7.0 hadoop
[root@master opt]# ls
hadoop  hadoop-2.6.0-cdh5.7.0.tar.gz
[root@master opt]# 

5,配置java环境变量,我已经提前上传了jdk,也是移动到 /opt目录下,
然后再解压,首先找到你的jdk的位置,再移动到 /opt目录下,然后再编辑环境变量,在末尾添加以下内容
在这里插入图片描述
然后再刷新全局变量。
一系列命令如下:

[root@master hadoop]# mv jdk-8u45-linux-x64.gz /opt/
[root@master hadoop]# cd /opt/
[root@master opt]# tar -zxvf jdk-8u45-linux-x64.gz
[root@master opt]# mv jdk1.8.0_45/ jdk
root@master opt]# ls
hadoop  hadoop-2.6.0-cdh5.7.0.tar.gz  jdk  jdk-8u45-linux-x64.gz  rh
[root@master opt]# vi /etc/profile   //编辑环境变量,进入后在末尾添加上图中的内容。
[root@master opt]# source /etc/profile      //刷新全局变量

6,检查环境是否生效,java,hadoop是否成功安装,输入java -version和hadooo version查看java和hadoop版本,如下:

[root@master opt]# java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
[root@master opt]# 
[root@master opt]# hadoop version
Hadoop 2.6.0-cdh5.7.0
Subversion http://github.com/cloudera/hadoop -r c00978c67b0d3fe9f3b896b5030741bd40bf541a
Compiled by jenkins on 2016-03-23T18:41Z
Compiled with protoc 2.5.0
From source with checksum b2eabfa328e763c88cb14168f9b372
This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-2.6.0-cdh5.7.0.jar
[root@master opt]# 

7,赋予hadoop用户编辑opt文件的权限,输入以下命令"chown -R hadoop /opt/
",然后再ll可以查看当前的权限都是hadoop用户的:

[root@master opt]# chown -R hadoop /opt/ 
[root@master opt]# ll
total 473512
drwxr-xr-x. 14 hadoop 4001      4096 Mar 24  2016 hadoop
-rw-r--r--.  1 hadoop root 311585484 Apr  1  2016 hadoop-2.6.0-cdh5.7.0.tar.gz
drwxr-xr-x.  8 hadoop  143      4096 Apr 11  2015 jdk
-rw-rw-r--.  1 hadoop ke   173271626 Sep 11 15:37 jdk-8u45-linux-x64.gz
drwxr-xr-x.  2 hadoop root      4096 Nov 22  2013 rh
[root@master opt]# 

8,切换hadoop用户,配置Hadoop:

[root@master opt]# su hadoop
[hadoop@master hadoop]$ cd /opt/hadoop/etc/hadoop
[hadoop@master hadoop]$ ls
capacity-scheduler.xml      httpfs-env.sh            mapred-env.sh
configuration.xsl           httpfs-log4j.properties  mapred-queues.xml.template
container-executor.cfg      httpfs-signature.secret  mapred-site.xml.template
core-site.xml               httpfs-site.xml          slaves
hadoop-env.cmd              kms-acls.xml             ssl-client.xml.example
hadoop-env.sh               kms-env.sh               ssl-server.xml.example
hadoop-metrics2.properties  kms-log4j.properties     yarn-env.cmd
hadoop-metrics.properties   kms-site.xml             yarn-env.sh
hadoop-policy.xml           log4j.properties         yarn-site.xml
hdfs-site.xml               mapred-env.cmd
[hadoop@master hadoop]$

这里我们就可以看到里面有我们需要配置的文件了,
(1)首先编辑“hadoop-env.sh”,“mapred-env.sh”,“yarn-env.sh”,这三个文件夹,
找到这三个文件里面的JAVA_HOME,将后面的都改为自己jdk的位置,如图:
在这里插入图片描述
改为如下内容:
在这里插入图片描述
如果export前面有#,一定要去掉,
(2)然后修改core-site.xml文件,添加内容如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>

(3)修改hdfs-site.xml,添加内容如下:

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.dir</name>
                <value>/opt/hdfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.dir</name>
                <value>/opt/hdfs/data</value>
        </property>
</configuration>

(4)修改mapred-site.xml文件,由于不存在这个文件,我们把mapred-site.xml.template文件拷贝一份给mapred-site.xml,代码如下;

[hadoop@master hadoop]$ cp mapred-site.xml.template mapred-site.xml

然后再添加以下内容:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

(5)修改yarn-site.xml文件,添加内容如下:

<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.resourcemanager.address</name>
		<value>master:8080</value>
	</property>
	<property>
	         <name>yarn.resoucemanager.resouce-tracker.address</name>
	         <value>master:8082</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
	</property>
</configuration>

(6)修改slaves文件,修改主机名:

master

9,格式化HDFS,进入/opt/hadoop/bin目录下,再输入hadoop namenode -format:

hadoop@master bin]$ cd /opt/hadoop/bin
[hadoop@master bin]$ hadoop namenode -format

如果出现以下内容就说明格式化成功了

18/09/29 12:30:07 INFO common.Storage: Storage directory /opt/hdfs/name has been successfully formatted.
18/09/29 12:30:08 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
18/09/29 12:30:08 INFO util.ExitUtil: Exiting with status 0
18/09/29 12:30:08 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/192.168.137.114
************************************************************/

如果格式化没成功,去检查是不是上面的配置文件的内容打错(基本都是有问题,一定要仔细看,我开始练习安装也是错了好多次),是不是对应自己的主机名master,或者看hadoop环境变量是否生效。还有二次格式化就要先把/opt/hdfs目录下的data和name和tmp删除了再去格式化。不然是不会成功的。
10,启动hadoop并验证安装成功,
首先赋予脚本(hadoop用户下)输入以下命令:

[hadoop@master bin]$ chmod +x -R /opt/hadoop/sbin/

然后启动hadoop,(hadoop用户下)进入/opt/hadoop/sbin执行以下命令:

[hadoop@master bin]$ cd /opt/hadoop/sbin/
[hadoop@master sbin]$ ./start-all.sh 

完成后执行jps命令,查看相关进程是否启动,如图就是启动成功:

[hadoop@master sbin]$ jps
3360 NodeManager
3268 ResourceManager
3671 Jps
2857 NameNode
3132 SecondaryNameNode
2975 DataNode
[hadoop@master sbin]$ 

到此hadoop伪分布式就成功搭建,最后执行./stop-all.sh命令停止服务,以后每次启动就到hadoop用户下的/opt/hadoop/sbin下启动,停止服务命令如下:

[hadoop@master sbin]$ ./stop-all.sh 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐