HDFS:分布式文件系统,是Hadoop生态圈的基本组成部分,数据被保存在计算机集群上,为HBase等工具提供基础
Mapreduce:主要执行框架,分布式、并行处理的编程模型,其把任务分为map reduce阶段 使Hadoop能以并行的方式访问数据,从而实现快速访问数据。
Hbase:建立在HDFS之上,面向列的NoSQL数据库,用与快速读写,使用Zookeeper进行管理。
zookeeper:分布式协调服务。管理集群.
Pig:是MapReduce编程的复杂性抽象。pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin),其编译器将Pig Latin 翻译成MapReduce程序序列。
Hive:类似SQL高级语言,用于运行存储在Hadoop 上的查询语言,hive让不熟悉mapreduce的开发人员也能编写数据查询语句,然后被编译为Hadoop上面的mapreduce任务 抽象层工具。
Sqoop:一个连接工具,用于在关系数据库、数据仓库和Hadoop之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入导出;利用mapreduce实现并行化运行和容错技术。
Flume:提供了分布式、可靠、高效的服务,用于收集、汇总大数据 ,并将单台计算机的大量数据转移到HDFS。他基于一个简单而灵活的架构,利用简单的可扩展数据模型,将企业中多台计算机上的数据转移到Hadoop中。
Hadoop1.X伪分布安装
单机模式:仅限于调试
伪分布模式:在单节点同时启动namenode datanode jobtracker tasktracker secondarynamenode 等5个进程,模拟分布式运行的各个节点。
完全分布式:正常的Hadoop集群
环境搭建
配置本地环境
设置机器名
sudo vi /etc/sysconfig/network
设置host映射文件
#配置主机名对应的IP地址
$ sudo vi /etc/hosts
在打开的文件的最后一行加上Hadoop,使用tab键而不是空格
设置《IP 地址》<主机名>
192.168.42.3 55a95997af1c hadoop
使用ping命令验证是否成功
ping hadoop
设置操作系统环境
关闭防火墙:
在Hadoop安装过程中需要关闭防火墙和SElinux否则出现异常
使用 sudo service iptables status
注意:若弹出权限不足,可能防火墙已经关闭,请输入命令:
chkconfig iptables --list
查看防火墙的状态。
使用如下命令关闭iptables
sudo chkconfig iptables off
关闭SElinux
1.使用getenforce命令查看是否关闭
2.修改、etc/selinux/config文件
将selinux=enforcing改为selinux=disabled执行命令重启机器
JDK安装及配置
1.下载安装包
2.创建/app目录,把该目录的所有者修改为。。。
sudo mkdir /app
sudo chown -R shiyanlou /app
3.创建/app/lib目录
mkdir /app/lib
4.把下载的安装包解压并迁移到/app/lib目录下
cd /home/shiyanlou/install-pack
tar -zxf jdk-7u55-linux-x64.tar.gz
mv jdk1.7.0_5/ /app/lib
ll /app/lib
5.打开配置文件 设置jdk路径
export JAVA_HOME=/app/lib/jdk1.7.0_55
exportPATH=$JAVA_HOME/bin:$PATH
export
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
6.编译并验证
source /etc/profile
java -version
更新openSLL
SSH免密验证登录
1.打开配置文件
sudo vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2.配置后重启服务
sudo service sshd restart
3.生成公钥和 私钥
ssh-keygen -t rsa
4.进入、/home/shiyanlou/.ssh目录吧公钥命名为authorized_keys,使用命令如下
cp id_rsa.pub authorized_keys
5.设置authorized_keys读写权限
sudo chmod 400 authorized_keys
6.测试ssh免密登录是否有效
下载并解压Hadoop安装包
cd /home/shiyanlou/install-pack
tar -xzf hadoop-1.1.2-bin.tar.gz
rm -rf /app/hadoop-1.1.2
mv hadoop-1.1.2 /app
在Hadoop-1.1.2目录下创建子目录
cd /app/hadoop-1.1.2
mkdir -p tmp hdfs hdfs/name hdfs/data
ls
进入hdfs目录 使用chmod -R 755 data把hdfs/data 设置为755
操作格式化namenode 和启动Hadoop步骤
配置hadoop-env.sh
1.进入Hadoop-1.1.2、conf目录,打开配置文件hadoop-env.sh
cd /app/hadoop-1.1.2/conf
vi hadoop-env.sh
2.加入配置内容,设置Hadoop中jdk和hadoop/bin路径
export JAVA_HOME=/app/lib/jdk1.7.0_55
export PATH=$PATH:/app/hadoop-1.1.2/bin
3.配置文件Hadoop-env.sh并确认生效
source hadoop-env.sh
hadoop version
配置core-site.xml
1.打开配置文件
sudo vi core-site.xml
2.在配置文件中,按照如下配置
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <value>/app/hadoop-1.1.2/tmp</value>
</property>
</configuration>
配置hdfs-site.xml
1.打开配置文件
sudo vi hdfs-site.xml
2.在配置文件中 配置
<configuration>
<property>
<name>dfs.replication</name> <value>1</value>
</property>
<property>
<name>dfs.name.dir</name> <value>/app/hadoop-1.1.2/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name> <value>/app/hadoop-1.1.2/hdfs/data</value>
</property>
</configuration>
配置mapred-site.xml
1.打开如下 命令打开 maoed-site.xml
sudo vi mapred-site.xml
配置
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value>
</property>
</configuration>
配置masters和 slaves文件
1.设置主节点
vi masters
2.设置从节点
vi slaves
格式化namenode
cd /app/hadoop-1.1.2/bin
./hadoop namenode -format
启动Hadoop
./start-all.sh
jps检验后台进程是否成功启动