大数据学习系列----安装Hadoop

环境

  • 角色 主机名 IP 功能 存储分区
  • Master wx 192.168.1.22 NameNode|Secondarynamenode|JobTracker /data
  • Slave test1 192.168.1.23 DataNode|TaskTracker /data
  • Slave test2 192.168.1.24 DataNode|TaskTracker /data

部署

无密钥登陆

部署Hadoop须要Master无密码访问全部Slave主机,须要配置ssh登陆认证:java

192.168.1.22:node

ssh-keygen -t rsa #生成密钥对。一路回车,在/root/.ssh/目录下会生成id_rsa(私钥)、id_rsa.pub(公钥)密钥对web

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.23 #将公钥发送的被控主机apache

安装java

ssh登陆Master主机,安装JDK环境(本次安装的是java1.7,使用的是yum安装,也能够根据须要采用源码安装):vim

yum install java-1.7.0* -ybash

安装Hadoop

wget http://apache.fayea.com/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz tar -zxvf hadoop-2.6.4.tar.gz服务器

解压完成后修改配置文件:app

【hadoop-2.6.4/etc/hadoop/hadoop-env.sh】框架

hadoop-env.sh:配置环境变量,指定JAVA_HOMEssh

#export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111.x86_64 #将上面的${JAVA_HOME}修改成本机的java路径

【hadoop-2.6.4/etc/hadoop/core-site.xml】 core-site.xml:Hadoopcore配置项,主要针对Common组件的属性配置。

<configuration>
<property>
  <name>hadoop.tmp.dir</name> #Hadoop用户的临时存储目录(可自定义路径),默认路径为:/tmp/hadoop-${user.name}
  <value>/data/tmp/hadoop-${user.name}</value>
</property>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.1.22:9000</value> #master主机IP:9000端口
</property>
</configuration>

【hadoop-2.6.4/etc/hadoop/hdfs-site.xml】 hdfs-site.xml:Hadoop的HDFS组件的配置项,包括Namenode、Secondarynamenode和Datanode

<configuration>
<property>
  <name>dfs.namenode.name.dir</name> #Namenode持久存储名字空间、事务日志路径
  <value>/data/hdfs/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name> #Datanode数据存储路径
  <value>/data/hdfs/data</value>
</property>
<property>
  <name>dfs.datanode.max.xcievers</name> #Datanode所容许同时执行的发送和接收任务数量,默认为256
  <value>4096</value>
</property>
<property>
  <name>dfs.replication</name> #数据备份的个数,默认为3
  <value>2</value>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>  #配置Secondarynamenode地址
  <value>192.168.1.22:50090</value>
</property>
</configuration>

【hadoop-2.6.4/etc/hadoop/mapred-site.xml】 mapred-site.xml:配置map-reduce组件的属性,包括jobtracker和tasktracker。

<configuration>
<property>
  <name>mapreduce.framework.name</name>  #使用yarn框架(MapReduce框架)
  <value>yarn</value>
</property>
<property>
  <name>mapreduce.jobhistory.address</name>  #MapReduce JobHistory Server地址
  <value>192.168.1.22:10020</value>
</property>
<property>
  <name>mapreduce.jobhistory.webapp.address</name>   #MapReduce JobHistory Server Web UI地址
  <value>192.168.1.22:19888</value>
</property>
</configuration>

【hadoop-2.6.4/etc/hadoop/yarn-site.xml】

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
  <name>yarn.resourcemanager.hostname</name>   #ResourceManager 对客户端暴露的地址。客户端经过该地址向RM提交应用程序,杀死应用程序等
  <value>192.168.1.22</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services</name>   #NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序
  <value>mapreduce_shuffle</value>
</property>
</configuration>

【hadoop-2.6.4/etc/hadoop/masters】 该配置文件Master端生效 masers:配置Secondarynamenode项,起到HDFS文件系统元数据(metadata)信息的备份做用,当NameNode发生故障后能够快速还原数据。

192.168.1.22 #本次Namenode和Secondnamenode在同一台服务器上,生产环境应该分别使用独立的服务器

【hadoop-2.6.4/etc/hadoop/slaves】 slaves:配置全部Slave主机信息,填写IP地址便可。该配置文件放在Master端生效

192.168.1.23 192.168.1.24

配置完成后,从Master端复制Hadoop环境到全部Slave端,目标路径要与Master保持一致。java环境也要保持一致。

scp -r /usr/local/hadoop-2.6.4/ root@192.168.1.23:/usr/local/ scp -r /usr/local/hadoop-2.6.4/ root@192.168.1.24:/usr/local/

配置环境变量

vim .bashrc

#JAVA
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.111.x86_64
#Hadoop
export HADOOP_HOME=/usr/local/hadoop-2.6.4
export PATH=$PATH:/usr/local/hadoop-2.6.4/bin:/usr/local/hadoop-2.6.4/sbin

在启动hadoop以前,咱们须要作一步很是关键的步骤,须要在Master端格式化文件系统的namenode。(启动只在Master端作,Slave不用)

hdfs namenode -format

启动

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

至此,安装成功。

访问测试

http://192.168.1.22:50070 HDFS存储管理地址 http://192.168.1.22:8088 Map/Reduce管理地址

问题

问题:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable 解决:

wget http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar 解压到 hadoop-2.6.4/lib/native/

相关文章
相关标签/搜索