安装jdk
步骤一:解压jdk压缩包
tar -zxvf jdk-8u112-linux-x64.tar.gz -C app/
命令解释:
tar 打包/解压命令
-z 采用的解压编码,采用gzip压缩格式
-x 解压
-v 打印解压进度
-f 指定哪一个文件
-C 指定解压的目的地
步骤二:添加系统环境变量
sudo vi /etc/profile(此配置文件针对全局用户生效)
ps:sudo vi /home/hadoop/.bash_profile(此配置文件只针对当前用户生效)
在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_112
解释:添加系统环境变量JAVA_HOME
exprot PATH=$PATH:$JAVA_HOME/bin
解释:修改PATH值为$PATH(原来的path):(PATH的分隔符)$JAVA_HOME/bin
步骤三:使配置文件生效
source /etc/profile
安装hadoop
步骤一:解压hadoop
步骤二:目录结构
bin 一些可执行脚本
sbin 系统相关的执行脚本,类似于服务的启动、停止等
etc 配置文件
lib 本地库
include 与本地库相关的一些库包
share 依赖库
share/doc 文档(可删除)
share/hadoop jar包
share/hadoop/common 公共组件
share/hadoop/hdfs hdfs组件
share/hadoop/mapreduce 运算jar包
share/hadoop/tools 工具类
share/hadoop/yarn 资源调度框架
share/hadoop/httpfs 通过http方式访问hdfs的一些api(restfulAPI)
步骤三:修改hadoop配置文件
cd hadoop/etc/
修改hadoop-env.sh 修改JAVA_HOME
vi hadoop-env.sh
export JAVA_HOME=yourJAVA_HOME
修改core-site.xml(公共配置)
vi core-site.xml
<configuration>
<!--配置hdfs主节点地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000/</value>(配置hdfs主节点地址,采用hdfs协议)
</property>
<!--配置nameNode和dataNode目录-->
<!--生产系统中nameNode应该单独配置目录,dataNode进程也应单独配置目录-->
<!--配置的目录应是单独的磁盘挂载点,这样可以方便挂载跟多的磁盘,扩展容量-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/data</value>
</property>
</configuration>
修改hdfs-site.xml(hdfs配置)
vi hdfs-site.xml
<configuration>
<!--配置hdfs副本数-->
<!--(配置副本数量,单台机器配置多个副本数并没有意义,不能增加吞吐量,也不能增加稳定性)-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置hdfs分块大小,不配置时默认128M-->
<!--(配置hdfs主节点地址,采用hdfs协议)-->
<!--<property>
<name>dfs.blocksize</name>
<value>128</value>
</property>-->
</configuration>
修改mapred-site.xml(mapreduce配置)
vi mapred-site.xml
<configuration>
<!--配置mapreduce程序应在哪个资源调度集群上运行-->
<!--(如果不指定,mapreduce只会在本地跑,主要作用是分发jar包,hdfs和mapreduce虽然是两个集群,但在物理主机上部署并不分开)-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改yarn-site.xml(yarn配置)
vi yarn-site.xml
<configuration>
<!--配置yarn集群主节点-->
<property>
<name>yarn.resourcemanger.hostname</name>
<value>hadoop01</value>
</property>
<!--配置yarn集群的从节点-->
<!--(指定mapreduce中,map产生的中间结果怎么传递给reduce,采用何种机制)-->
<property>
<name>yarn.nodemanger.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
修改slaves配置datanode
vi slaves
修改成真实的主机名
步骤四:关闭防火墙
sudo service iptables stop(关闭防火墙服务)
sudo service iptables status(查看防火墙运行状态)
sudo chkconfig iptables off(检查自启动配置是否关闭)
sudo chkconfig iptables --list(查看防火墙运行级别)
步骤五:初始化(格式化磁盘)
未添加环境变量:cd hadoop-2.4.1/bin
hadoop namenode -format
添加系统环境变量:
sudo vi /etc/profile
export HADOOP_HOME=yourhadoophome
export JAVA_HOME=yourjavahome
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
执行成功后会出现storage directory path has bean successfully formated
在/home/hadoop/hadoop-2.4.1/data下会出现如下文件列表
dfs/name/current fsimage_0000000
fsimage_0000000.md5
seen_txid
VERSION
即元数据:hdfs里的某个目录某个文件,对应的有哪些切块,对应的切块在哪些datanode主机上面,元数据由namenode管理,namenode将其存放在
其运行主机的current中
步骤六:启动hadoop
cd /home/hadoop/hadoop-2.4.1/sbin
start-all.sh 启动所有进程
start-dfs.sh 启动与dfs有关的进程
start-yarn.sh 启动yarn(资源调度)集群
将sbin加入环境变量
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
start-dfs.sh
登录hadoop01
输入秘钥
启动namenode
登录localhost
输入秘钥
启动datanode
登录0.0.0.0
输入秘钥
启动secondarynamenode
jps查看hdfs的进程
Jps
DataNode
SecondaryNameNode
NameNode
启动yarn
启动resourcemanager
登录
输入秘钥
启动nodemanager