一、安装环境准备(操作系统 Linux )
1、修改hostname
把机器hostname修改为 hadoop001
2、配置host
3、配置ssh免密码登录
现在确认能否不输入口令就用ssh登录localhost:
$ ssh localhost
如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
4、Java环境变量
安装JDK
5、hadoop安装包目录结构分析
bin:hadoop最基本的管理脚本和使用脚本所在目录 ,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用hadoop。
etc:hadoop配置文件所在目录,包括core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml 等
include:对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用c++程序访问hdfs或者编写mapreduce程序的。
lib:改目录包含了hadoop对外提供的编程动态库和静态库,与include中的头文件结合使用
libexec:各个服务对应的shell配置文件所在目录,可用于配置日志输出目录,启动参数(比如jvm参数)等基本信息
sbin:hadoop管理脚本所在目录,主要包含hdfs和yarn中各类服务的启动关闭脚本
share:hadoop哥哥模块编译后的jar包所在目录。
准备好以上环境后开始配置hadoop
6、建立hadoop用户和hadoopgroup组
二、安装步骤 (此处以hadoop-2.6.1 为例)
1、将安装包存放到一目录下,并解压 赋予权限
2、修改解压后的目录文件夹/etc/hadoop下的xml配置文件(如果文件不存在自己创建)
hadoop-env.sh 修改以下配置项 (java环境)
export JAVA_HOME=/usr/java/jdk1.7.0_79
slaves文件配置为一下配置 (写成主机名)
hadoop001
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.122.131:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///workdata/hadoop/hadoop-2.x/data/tmp</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///workdata/hadoop/hadoop-2.x/data/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///workdata/hadoop/hadoop-2.x/data/dn</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.122.131:10020</value>
<description>MapReduce JobHistory Server IPC host:port</description>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.122.131:19888</value>
<description>MapReduce JobHistory Server Web UI host:port</description>
</property>
</configuration>
3、配置环境变量
$ sudo vim /etc/profile
export HADOOP_HOME=/workdata/hadoop/hadoop-2.x
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
$ source /etc/profile
三、启动hadoop
格式化hdfs
hadoop namenode -format
注意:若格式化后,若namenode起不来,这时候查看存储文件(hdfs-site.xml里面配置的nn和dn所在文件夹里面current文件下的version)保证两个version里面的id一样
启动hdfs ( jobhistory可以不启动)
sbin/start-all.sh
sbin/mr-jobhistory-daemon.sh start historyserver
验证是否启动成功
$ jps
有如下进程,则启动成功
3199 DataNode
9295 Jps
3069 NameNode
3412 SecondaryNameNode
3547 ResourceManager
3668 NodeManager
Web Interfaces
web接口地址
NameNode
http://nn_host:port/
Default HTTP port is 50070.
ResourceManager
http://rm_host:port/
Default HTTP port is 8088.
MapReduce JobHistory Server
http://jhs_host:port/
Default HTTP port is 19888.