1.2 Hadoop环境搭建
1.2.1 JDK的安装和配置
1.创建JDK的安装目录
mkdir /usr/java/
2.解压 jdk-7u67-linux-x64.tar.gz
tar -zxvf jdk-7u67-linux-x64.tar.gz -C /usr/java/
3.配置java环境变量
vim /etc/profile
在末尾添加:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_HOME=/hadoop/hadoop-2.2.0/
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
如下图:
然后刷新配置:source /etc/profile
测试环境变量是否配置成功:
1.2.2 Hadoop的安装和配置
hadoop有三种运行模式:单机(本地)模式,伪分布式模式,全分布式模式,这里要配置为伪分布式模式。
1.安装hadoop
下载下来hadoop-2.2.0版本后,我安装在了/hadoop目录下
2.配置hadoop
hadoop2.x的伪分布式模式需要修改5个文件,都在/hadoop/hadoop-2.2.0/etc/hadoop目录下,分别是:hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml。
修改hadoop-env.sh
将 export JAVA_HOME=${JAVA_HOME}改为:
export JAVA_HOME=/usr/java/jdk1.7.0_67
配置后:
修改core-site.xml
在<configuration>和<c/onfiguration>之间加入:
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://H01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hadoop-2.2.0/tmp</value>
</property>
配置后:
修改hdfs-site.xml
在<configuration>和<c/onfiguration>之间加入:
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
配置后:
修改mapred-site.xml
由于原来是没有该文件的,但是有mapred-site.xml.template,可以mv mapred-site.xml.template mapred-site.xml,然后在<configuration>和<c/onfiguration>之间加入:
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
配置后:
修改yarn-site.xml
在<configuration>和<c/onfiguration>之间加入:
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>H01</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
配置后:
3.配置hadoop环境变量
将hadoop下的可执行程序添加到环境变量中
然后刷新配置:source /etc/profile
4.首次安装完成后需要格式化namenode
#hadoop namenode -format(已过时)
hdfs namenode -format来进行格式化。
5.启动hadoop
#start-all.sh(已经过时)
先启动HDFS
start-dfs.sh
再启动YARN
start-yarn.sh
注意:启动时会要求多次输入密码。
6.验证是否成功
使用Java的jps命令验证是否成功
说明成功启动成功了。
1.2.3 SSH免密码登陆设置
启动hadoop时,必须要输入很多次的密码,这会很麻烦,可以配置SSH免密码登陆。
cd ~/ .ssh/
创建SSH密钥
ssh-keygen -t rsa
输入命令后,连按4次Enter键,生成两个文件,一个id_rsa.pub(公钥),一个id_rsa(私钥)。复制公钥到authorized_keys。
cat id_rsa.pub >> authorized_keys或ssh-copy-id -i localhost
再次 ssh 本机ip
ssh 192.168.80.101
将公钥发给H02,这时在H01上使用ssh登录H02就不需要输入密码了。
ssh-copy-id 192.168.80.102
ssh 192.168.80.102
SSH免密码登陆图解
具体设置可以参考
http://www.aboutyun.com/blog-3779-85.html