Hadoop简单介绍
Hadoop:适合大数据分布式存储与计算的平台。
Hadoop两大核心项目:
1、HDFS:Hadoop分布式文件系统
HDFS的架构: 主从结构:
主节点,只有一个:namenode
1、接收用户操作请求
2、维护文件系统的目录结构
3、管理文件与block之间关系,block与datanode之间关系
从节点,有很多个:datanodes
1、存储文件
2、文件被分成block存储在磁盘上
3、为保证数据安全,文件会有多个副本
2、MapReduce:并行计算框架
MapReducede的架构:主从结构:
主节点,只有一个:JobTracker
1、接收客户端提交的计算任务
2、把计算任务分给TaskTrackers执行
3、监控TaskTracker的执行情况
从节点,有很多个:TaskTrackers
执行JobTracker分配的计算任务
Hadoop的特点:
1、扩容能力
2、成本低
3、高效率
4、可靠性
Hadoop部署方式:
1、本地模式
2、伪分布模式
3、集群模式
安装前准备软件:
1、Vitual Box/VMWare
2、centOS
3、jdk-6u24-linux-xxx.bin
4、hadoop-1.1.2.tar.gz
1.hadoop的伪分布安装
1.1 设置ip地址
执行命令 service network restart
验证: ifconfig
1.2 关闭防火墙
执行命令 service iptables stop
验证: service iptables status
1.3 关闭防火墙的自动运行
执行命令 chkconfig iptables off
验证: chkconfig --list | grep iptables //过滤出iptables
1.4 设置主机名(按下面这两步进行)
执行命令 (1)hostname chaoren //设置当前主机名为chaoren,但是重启系统后会失效
(2)vi /etc/sysconfig/network //编辑文件设置主机名,重启后不会失效
1.5 ip与hostname绑定
执行命令 vi /etc/hosts //在文件下面增加一行 192.168.80.100 chaoren
验证: ping chaoren
1.6 设置ssh免密码登陆
执行命令 (1)ssh-keygen -t rsa //一直回车即可
(2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证: ssh chaoren
**************
windows与Linux之间传输文件工具: WinSCP
安装好,打开设置: 主机名:192.168.56.100 用户名:root 密码:hadoop
然后点击保存,勾选上保存密码,然后双击连接登录。
将左侧Windows下的文件,拖动复制到右侧Linux下的目录/usr/local下。
**************
1.7 安装jdk
执行命令 (1)cd /usr/local
(2)chmod u+x jdk-6u24-linux-i586.bin //增加执行的权限
(3)./jdk-6u24-linux-i586.bin //解压
(4)mv jdk-1.6.0_24 jdk //重命名
(5)vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
(6)source /etc/profile //刷新环境变量
验证: java -version (改变后,OpenJdk就变成了oracle下的jdk了)
1.8 安装hadoop
执行命令 (1)tar -zxvf hadoop-1.1.2.tar.gz //解压
(2)mv hadoop-1.1.2 hadoop //重命名
(3)vi /etc/profile 修改环境变量,增加内容如下:
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
(4)source /etc/profile
(5)修改conf目录下的配置文件(直接在WinSCP中编辑修改保存)
hadoop-env.sh:
export JAVA_HOME=/usr/local/jdk/
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://主机名:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>主机名:9001</value>
</property>
</configuration>
(6)hadoop namenode -format //存储之前,要对文件系统进行格式化
(7)start-all.sh
验证: (1)执行命令jps 如果看到5个新的java进程,分别是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker
(2)在浏览器查看,http://chaoren:50070 http://chaoren:50030
1.9 启动时没有NameNode的可能原因:
(1)没有格式化
(2)环境变量设置错误
(3)ip与hostname绑定失败