1.环境
准备3台主机,安装Centos 64-bit操作系统,采用最小安装。修改/etc/hosts 文件,增加三台机器的ip和hostname的映射关系
192.168.11.196 cloud005
192.168.11.158 nbddh01
192.168.11.159 nbddh02
2.安装JDK、配置环境变量
(每台机器执行相同操作,最后将java安装在相同路径下)
2.1.安装JDK
下载jdk-7u45-linux-x64.tar.gz移到/usr/local目录下,解压:tar -zxvf jdk-7u45-linux-x64.tar.gz
2.2.配置环境变量
打开/etc/profile(vim /etc/profile),在最后面添加如下内容:
export MAHOUT_HOME=/home/ecap/mahout-distribution-0.9
export JAVA_HOME=/usr/local/jdk1.7.0_45
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$MAHOUT_HOME/lib
export HADOOP_HOME=/home/ecap/hadoop-2.5.2
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:$JAVA_HOME/bin:/usr/local/bin:$HADOOP_HOME/bin:$MAHOUT_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
2.3.应用环境变量
source /etc/profile
2.4.验证是否安装成功
java–version
2.5.关闭每台机器的防火墙
service iptables stop 关闭防火墙。
chkconfig iptables off 关闭开机启动。
3.配置ssh公钥密钥自动登录
3.1.前提
使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然后重启ssh服务:service sshd restart (一般是默认安装了ssh命令的,如果没有,或者版本比较老,则可以重新安装:sudo apt-get install ssh)
3.2.设置local无密码登陆
(以下操作在每台机器上面都要进行)
安装完成后会在~目录(当前用户主目录,即这里的/home/ecap)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。
具体步骤如下:
1) 进入.ssh文件夹
2) ssh-keygen -t dsa 之后一路回 车(产生秘钥)
3) 把id_rsa.pub 追加到授权的 key 里面去(cat id_dsa.pub >> authorized_keys)
chmod 644 authorized_keys
4) 重启 SSH 服 务命令使其生效 :service sshd restart(这里RedHat下为sshd Ubuntu下为ssh)
此时已经可以进行ssh localhost的无密码登陆
3.3.设置远程无密码登陆
这里只有cloud005是master,如果有多个namenode,或者rm的话则需要打通所有master都其他剩余节点的免密码登陆。(将namenode的authorized_keys追加到datanode的authorized_keys)
进入namenode的.ssh目录
scp authorized_keys ecap@nbddh01:~/.ssh/authorized_keys_from_namenode
进入nbddh01的.ssh目录
cat authorized_keys_from_namenode >> authorized_keys
至此,可以在namenode上面ssh ecap@nbddh01进行无密码登陆了。nbddh02的操作相同。
4.开始安装
下载最新版本hadoop-2.5.2,解压tar -zxf hadoop-2.5.2.tar.gz
5.修改配置文件
进入配置文件目录:cd hadoop-2.5.2/etc/hadoop
5.1.core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://cloud005:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/ecap/temp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
5.2.hdfs-site.xml
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cloud</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>cloud005:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/ecap/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/ecap/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
5.3.mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>cloud005:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>cloud005:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>cloud005:19888</value>
</property>
</configuration>
5.4.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>cloud005:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>cloud005:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>cloud005:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>cloud005:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>cloud005:8088</value>
</property>
</configuration>
5.5.slaves
nbddh01
nbddh02
5.6.修改JAVA_HOME
分别在文件hadoop-env.sh和yarn-env.sh中添加JAVA_HOME配置
vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0_45
vi yarn-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0_45
6.格式化namenode
hadoop-2.5.2/bin/hadoop namenode -format
7.启停服务
现在可以启动服务了
7.1.启动
hadoop-2.5.2/sbin/start-all.sh
7.2.停止
hadoop-2.5.2/sbin/stop-all.sh
7.3.启动historyserver
hadoop-2.5.2/sbin/mr-jobhistory-daemon.sh start historyserver
8.验证
8.1.查看启动的进程
jps
8.2.通过浏览器访问
http://192.168.11.196:50070/
http://192.168.11.196:8088/
8.3.查看端口
netstat -tpnl