最近想学习hadoop,于是网上找了些教程学习,几经周折,总算安装成功了!
先讲下环境,就2台机器...都是vmware虚拟机,操作系统centos,
jdk版本 1.8.0
hadoop版本 2.2.0
操作系统centos 6.5
操作系统的安装就不再说明了,从安装jdk开始.
将jdk安装包copy到usr/java目录下,再图形界面下直接安装。
安装完成后设置环境变量。
修改etc/profile文件,在末尾加入内容
# set java environment
JAVA_HOME=/usr/java/jdk1.8.0
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOMECLASSPATH PATH
重启,,命令行下输入 echo $JAVA_HOME
如果有值,代表已经正确安装和配置了。
另外一台机器重复此次操作,安装完成后开始安装hadoop
先更改机器名,namenode节点改名为master
输入命令 hostname master
配置好ip 192.168.1.100
另外一台做nodename 输入命令 hostname slaves
配置好ip 192.168.1.101
修改etc/hosts文件
内容如下
127.0.0.1 localhost
192.168.156.221 master
192.168.156.222 slaves
先安装主机,建立一个用户,这里我是建立自己的用户 wyh
进入wyh主目录 输入mkdir hadoop (建立hadoop目录)
进入hadoop目录 并将hadoop-2.2.0考到hadoop目录下,解压到hadoop-2.2.0下
mkdir dfs(建立dfs目录)
mkdir tmp(建立tmp目录)
配置hadoop环境变量
修改etc/profile 在末尾加入
#hadoop variable settings
export HADOOP_HOME=/home/wyh/hadoop/hadoop-2.2.0
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
完成后可以重启下,输入echo $HADOOP_HOME 检查下环境变量有没有设置正确。
下面是配置文件更改
在hadoop-2.2.0/etc/hadoop/下,修改core-site.xml内容如下
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/wyh/hadoop/tmp</value>
<description>A base for other temporarydirectories.</description>
</property>
<property>
<name>hadoop.proxyuser.wyh.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.wyh.groups</name>
<value>*</value>
</property>
</configuration>
修改hdfs-site.xml 内容如下
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/wyh/hadoop/tmp</value>
<description>A base for other temporarydirectories.</description>
</property>
<property>
<name>hadoop.proxyuser.wyh.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.wyh.groups</name>
<value>*</value>
</property>
</configuration>
修改marred-site.xml 内容如下
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property>
</configuration>
修改yarn-site.xml 内容如下
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
还要修改下hadoop.env.sh
在# The java implementation to use. 后面设置jdk的环境变量
export JAVA_HOME=/usr/java/jdk1.8.0
安装完成后另外一台重复同样操作,可以将安装好的hadoop直接copy到对应目录。
在这之前最好先生成ssh无密匙认证
在wyh@master上执行 ssh-kengen
然后一路回车
这样就在/wyh/.ssh/目录下生成一个私钥 id_rsa 和一个公钥 id_rsa.pub 。
执行cp id_rsa.pub authorized_keys
在scp authorized_keys wyh@slaves:/.ssh/ (将 authorized_keys 复制到slaves同目录下)
都配置完成后可以开始初试化了
进入hadoop-2.2.0目录
执行.bin/hdfs namenode -format
完成后执行/sbin/start-all.sh启动