以下是从其他地方抄过来了,目的是对即将要学的东西做一个基本的了解
HDFS(分布式文件系统):解决海量数据存储
YARN(作业调度和集群资源管理框架):解决资源任务调度
MAPREDUCE(分布式运算变成框架):解决海量数据计算
HBASE: 基于hadoop的分布式海量数据库
HIVE:基于hadoop的分布式数据仓库,提供SQL的查询数据操作
ZOOKEEPER:分布式卸掉服务基础组建
Mahout:基于mapreduce/spark/flink风分布式运算框架的机器学习算法库
Oozie:工作流调度框架
Sqoop:数据导入导出工具
Flume:日志数据采集框架
Ipala:基于hadoop的实时分析
注: 步骤2、4中的hotsname一致,步骤2应该在步骤4之后,因为要使用root权限,所以暂时使用su root
可以使用虚拟机代替,NET模式
# 获取root权限
su - (或者 su root)
# 输入密码
# 修改/etc/sudoers配置
vi /etc/sudoers
# 找到root ALL=(ALL) ALL这行,并在下一行添加
hostname(你的hostname) ALL=(ALL) ALL
# 保存退出
使用ntp做时间同步
# 1、安装ntp
yum install -y ntpdate # CentOS安装ntp
apt-get install ntpdate # Linux安装ntp
# 2、进行时间同步
ntpdate cn.pool.ntp.org
#
# vi /etc/hosts
10.143.72.114(本机的服务器ip) node1(本机ip别名)
··· (你的服务器ip) node2(ip别名)
··· (你的服务器ip) ···(ip别名)
··· (你的服务器ip) nodenN(ip别名)
# 生成私钥
ssh-keygen -t rsa
# 分发给其他几个节点
ssh-copy-id node1
ssh-copy-id node2
... ...
# 测试联通性
ping node1
ping node2
ping ...
# 去adobe官网下载,解压到固定目录 例如/envirment/
tar -zxvf /envirment/jdk-8u141-linux-x64.tar.gz
# 配置
vi /etc/profile
# 在最后一行添加
export JAVA_HOME=/envirment/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 保存,退出,启用配置
source /etc/profile
1、下载预编译包(或者源码包,如果是源码包需要自己编译,教程官方、google、百度或者必应)
2、配置hadoop文件
3、修改环境变量
4、hdfs格式化(格式化namenode)
5、运行
在进行完第3步以后,将之前所有的配置文件(java文件、hadoop文件、profile文件)都分发给其他几个节点
使用预编译的包可能后期会出现部分坑(反正我还没踩到),使用源码包在编译过程中就会无数踩坑,我踩的受不了了才选择预编译包.
以下操作都在hadoop文件下的etc文件夹内hadoop文件内进行,另外,各个文件的配置到底作用点在哪,就不做介绍了,有需要的可以搜一下,这个没什么坑.
修改hadoop-env.sh配置
# 找到JAVA_HOME,修改为
export JAVA_HOME=/envirment/jdk1.8.0_141
修改core-site.xml文件配置
<property>
<name>fs.defaultFSname>
<value>hdfs://node1:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/export/data/hadoopdatavalue>
property>
修改hdfs-site.xml文件配置
<property>
<name>dfx.replicationname>
<value>2value>
property>
<property>
<name>dfx.namenode.secondary.http-addressname>
<value>node1:50090value>
property>
修改mapred-site.xml文件配置
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
如果没有找到该文件,就将mapred-site.xml.template文件重命名为mapred-site.xml
修改yarn-site.xml文件配置
<property>
<name>yarn.resourcemanager.hostnamename>
<value>node1value>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
修改slaves文件配置
vi slaves
# 添加
node1
node2
node3
...
每行一个hostname
vi /etc/profile
# 在文件内最后一行添加,HADOOP_HOME是之前下载的hadoop解压文件路径
export HADOOP_HOME=/hadoop/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 保存退出
source /etc/profile
文件分发,或者手动将之前配置的文件copy到其他节点
hadoop namenode -format
以下命令在/hadoop/hadoop-2.6.4/sbin文件下执行
# 启动命令分为单独启动和快速启动两种
# 单独启动
start-dfs.sh
start-yarn.sh
# 单独停止
stop-dfs.sh
stop-yarn.sh
# 快速启动
start-all.sh
# 快速停止
stop=all.sh
# 检查
jps
# 会打印出以下的内容
42452 SecondaryNameNode
42308 DataNode
45767 Jps
42683 NodeManager
42191 NameNode
42591 ResourceManager
# 打开浏览器,输入http://127.0.0.1:50090或者 node1的ip地址:50090
剩下的可以开始练习dfs语法了
hadoop fs mkdir /file
hadoop fs -put /file /file # 前者为本地path,后者为节点path
hadoop fs -get /file
hadoop fs -stat /file
fs -stat "%b %F %g %n %o %r %u %y %Y" /file
等等...
本文是查看文档、视频以及自己踩坑后完成的,总体感觉是文档晦涩难懂,而且容易踩坑,需要视频辅助,但是视频与自己本机环境又不是很相同,还需要一部分配置修改,而且环境搭建好的实践最好参照实践来.总之,它山之石可以攻玉.