Hadoop集群搭建及介绍:

什么是hadoop

HadoopApache开源的,可靠的,可扩展的一个项目;

能解决的问题是:

1、海量数据的存储(hdfs

2、海量数据的分析(MapReduce

3、资源管理调度(YARN

 

1、Hadoop子项目家族成员:

 

 

2、修改主机名

[root@localhost ~]# hostname hadoop

 

3、配置ssh,生成密钥对:

[root@hadoop conf]# cd 
[root@hadoop ~]# ssh-keygen -t rsa

[root@hadoop ~]# cd .ssh
[root@hadoop .ssh]# ls
id_rsa  id_rsa.pub     ##id_rsa是私钥,id_rsa.pub是公钥;

[root@hadoop .ssh]# ssh-copy-id -i ./id_rsa.pub root@10.10.10.30  ##拷贝公钥到需要认证的服务器上去;

 

测试连接:

[root@hadoop  ~]# ssh  root@10.10.10.30
Last login: Wed Nov  9 21:43:43 2016 from 10.10.10.20

[root@hadoop ~]# cd .ssh/
[root@hadoop .ssh]# ls
authorized_keys    ##拷贝过来的公钥变了名字;

注意:配置免密码连接的配置每台服务器上的root用户和hadoop用户都要操作;

4、下载及安装伪分布式

1)登录网址:http://mirrors.aliyun.com/apache/hadoop/common/ 下载hadoop安装包,hadoop-2.7.3.tar.gz 

2)http://pan.baidu.com/share/link?shareid=2793927523&uk=1678158691&fid=117337971851932  下载jdk插件;

 

3)安装Hadoop前要先安装jdk插件:

[root@hadoop tools]# tar xf jdk-7u79-linux-x64.tar.gz -C /data ##解压下载包;
[root@hadoop tools]# vim /etc/profile      ##编辑/etc/profile文件,在最下面添加如下四条:
export JAVA_HOME=/data/jdk1.7.0_79
export JRE_HOME=/data/jdk1.7.0_79/jre
export PATH=/data/jdk1.7.0_79/bin:$PATH
exportCLASSPATH=./:/data/jdk1.7.0_79/lib:/data/jdk1.7.0_79/lib

[root@hadoop tools]# . /etc/profile   ##使/etc/profile文件生效;
[root@hadoop tools]# java -version     ##查看安装情况及版本;
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
安装jdk完成;

 

4)解压hadoop软件并配置:

[root@hadoop tools]# tar xf hadoop-2.7.3.tar.gz -C /data  ##解压hadoop;
[root@hadoop tools]# cd /data/hadoop-2.7.3/etc/hadoop    ##cd到配置目录下面去;
[root@hadoop hadoop]# vim hadoop-env.sh   ##编辑其中一个配置文件;
export JAVA_HOME=/data/jdk1.7.0_79    ##最下面添加;
hadoop-env.sh
[root@hadoop hadoop]# vim core-site.xml    ##编辑第二个重要的文件,添加红色的部分;
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop1/tools/data/</value>   ##data目录要单独创建;
</property>
</configuration>
core-site.xml
[root@hadoop hadoop]# vim hdfs-site.xml   编辑第三个重要的配置文件
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
hdfs-site.xml
[root@hadoop hadoop]# vim mapred-site.xml   ##编辑第四个重要的文件,添加红色的内容;
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
mapred-site.xml
[root@hadoop hadoop]# vim yarn-site.xml  编辑第五个配置文件,添加红色的内容;
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn-site.xm

 

5)配置hadoop的环境变量:

[root@hadoop hadoop]# vim /etc/profile   ##
##hadoop
export HADOOP_HOME=/data/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

 

6)启动程序:

[root@hadoop hadoop]# start-dfs.sh   ##启动hdfs
[root@hadoop hadoop]# start-yarn.sh   ##启动yarn
[root@hadoop hadoop]# Jps     ##查看java进程;
41188 NameNode
41274 DataNode
41539 SecondaryNameNode
42015 Jps
41799 NodeManager
41710 ResourceManager

7)测试:

(1)通过网页登录:输入:http://ip:50070

 

 

(2)上传文件测试:

hadoop fs -put jdk-7u79-linux-x64.tar.gz hdfs://ip:9000/

在浏览器上查看:

 

 

(3)测试mapreduce:

 hadoop fs -mkdir /wordcount    
 hadoop fs -mkdir /wordcount/input    ##创建两个目录;

 

hadoop fs -put test.txt /wordcount/input   ##上传文件;

hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /wordcount/input /wordcount/output    ##执行这条命令会输出一下信息;

 

hadoop fs -ls /wordcount/output    ##查看是否执行成功,成功的会多多出下面两个文件;
Found 2 items
-rw-r--r--   1 hadoop supergroup          0 2016-11-29 12:37 /wordcount/output/_SUCCESS
-rw-r--r--   1 hadoop supergroup         54 2016-11-29 12:37 /wordcount/output/part-r-00000
hadoop fs -cat /wordcount/output/part-r-00000   ##显示刚才创建的文件的内容信息;
dasdasxccdf    1
fdfsfsfs    1
hallow    5
sss    1
world    1
www    1

HDFS的实现思想:

1、hdfs是通过分布式集群来存取文件的,为客户端提供了一个便捷的访问方式,就是一个虚拟的目录结构;

2、文件存储到hdfs集群中去的时候是被切分成block的;

3、文件的block存放在若干台datanode节点上;

4、Hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理;

5、每一个block在集群会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量;

HDFS的实现机制

 

 

Hadoop简单命令操作:

(1)设置权限:

 hadoop fs -chown hadoop:hadoop /jdk-7u79-linux-x64.tar.gz  ##设置属组权限;
 hadoop fs -ls /    ##查看结果
-rw-r--r--   1 hadoop  hadoop   153512879 2016-11-29 11:36 /jdk-7u79-linux-x64.tar.gz

 hadoop fs -chmod 777 /jdk-7u79-linux-x64.tar.gz  ##设置权限
 hadoop fs -ls /   ##查看结果;
 -rwxrwxrwx   1 hadoop  hadoop      153512879 2016-11-29 11:36  /jdk-7u79-linux-x64.tar.gz

(2)拷贝文件:

 hadoop fs -copyFromLocal hadoop-mapreduce-client-app-2.4.1.jar /   ##拷贝文件到根下去;
 hadoop fs -ls /    ##查看结果;
 Found 5 items
-rw-r--r--   1 hadoop supergroup     487973 2016-11-30 07:06 /hadoop-mapreduce-client-app-2.4.1.jar

hadoop fs -cp /hadoop-mapreduce-client-app-2.4.1.jar /wordcount    ##拷贝这个文件到这个目录下去;
hadoop fs -ls /wordcount    ##查看结果;
Found 3 items
-rw-r--r--   1 hadoop supergroup     487973 2016-11-30 07:23 /wordcount/hadoop-mapreduce-client-app-2.4.1.jar

(3)查看空间的大小和文件大小:

 hadoop fs -df -h /    ##查看根目录的大小和使用情况;
 Filesystem             Size     Used  Available  Use%
 hdfs://hadoop1:9000  73.9 G  149.9 M     66.5 G    0%

 hadoop fs -du -h /    ##统计根下面的每个目录或文件的大小;
 476.5 K  /hadoop-mapreduce-client-app-2.4.1.jar
 146.4 M  /jdk-7u79-linux-x64.tar.gz
 1.1 M    /tmp
 2.1 K    /user
 476.7 K  /wordcount

(4)创建目录:

 hadoop fs -mkdir /xyp    ##创建目录;
 hadoop fs -ls /    ##查看结果;
 Found 6 items
 drwxr-xr-x   - hadoop supergroup          0 2016-11-30 07:39 /xyp

(5)删除目录或文件:

hadoop fs -rm -r /xyp    ##删除目录;
16/11/30 07:41:58 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
Deleted /xyp
hadoop fs -ls /    ##查看结果
Found 5 items
-rw-r--r--   1 hadoop supergroup     487973 2016-11-30 07:06 /hadoop-mapreduce-client-app-2.4.1.jar
-rwxrwxrwx   1 hadoop  hadoop      153512879 2016-11-29 11:36 /jdk-7u79-linux-x64.tar.gz
drwx------   - hadoop supergroup          0 2016-11-29 12:05 /tmp
drwxr-xr-x   - hadoop supergroup          0 2016-11-29 12:05 /user
drwxr-xr-x   - hadoop supergroup          0 2016-11-30 07:23 /wordcount
posted on 2018-08-01 19:09  花豆豆  阅读(144)  评论(0编辑  收藏  举报