分享:Hadoop1.X 集群搭建实践(图文并茂超详细)
2014-01-04 12:04
531 查看
Hadoop 集群安装实践目录
Hadoop 集群安装实践... 1
Hadoop集群规划... 1
安装准备... 4
Hadoop 集群安装... 8
启动Hadoop 集群并测试... 13
规划说明:
与虚拟机的交互工具:终端工具:SecureCRTPortable如图:
FTP工具:SecureFXPortable
设置如下:
配置hostname:
设置如下:
配置域名解析:
最后重启虚拟机:
分别按以上步骤根据集群规划配置余下虚拟机的ip 和 主机名。 2)、关闭防火墙关闭所有虚拟机OS的防火墙。
3)、安装JDK下载:jdk-6u45-linux-x64.bin分别上传到6台虚拟机中的/usr/local/java 目录下。解压安装如下:
环境变量配置:编辑 /etc/profile 加入:JAVA_HOME、CLASSPATH等。
如:
编辑后生效:
验证安装:
如图:
注:如果操作系统预装JRE 可以修改软连接或使用alternatives 命令进行替换。使用如上操作分别在余下虚拟机中安装JDK。 4)、添加hadoop组和用户
如图:
修改密码:
5)、设置ssh无密码登陆在namenode主机上设置:
如图:
本机测试:
设置namenode 无密码登陆其他主机。如下说明设置namenode 无密码登陆 secondarynamenode 主机。其他主机按此操作步骤设置。 a)、拷贝namenode上 .ssh/authorized_keys 拷贝到 secondarynamenode主机上对应目录。
b)、在 secondarynamenode 上设置.ssh 目录及子文件权限
c)、测试连接
修改hadoop 安装主目录拥有者及权限:
3)、配置Hadoop 环境变量在hadoop用户主目录下/home/hadoop/.bash_profile 配置$HADOOP_HOME,并将$HADOOP_HOME/bin 加入到$PATH变量中。
编辑如下:
测试:
4)、配置$HADOOP_HOME/conf/hadoop-env.sh
设置JAVA_HOME 环境变量:
5)、设置Hadoop 守护进程的相关环境参数 a)、$HADOOP_HOME/conf/core-site.xml
编辑如下:
设置:fs.default.name 和hadoop.tmp.dir b)、$HADOOP_HOME/conf/hdfs-site.xml
编辑如下:
c)、$HADOOP_HOME/conf/mapred-site.xml
6)、配置masters 和 slaves a)、$HADOOP_HOME/conf/masters配置secondarynamenode节点
b)、$HADOOP_HOME/conf/slaves配置datanode节点
7)、使用hadoop用户将namenode 上的/usr/local/hadoop 目录拷贝到其他节点相应目录下。
修改其他节点/usr/local/hadoop-1.0.2 目录的拥有者及文件权限:
2)、在namenode 上启动Hadoop 集群
3)、验证安装在namenode和 secondarynamenode 及数据节点上查看守护进程:
使用hadoop dfsadmin 进行验证:
web 端查看 DFS 和 JobTraker 详情
4、Hadoop 集群安装问题总结 1)、配置好/etc/hosts及 主机名 2)、关闭防火墙 3)、在$HADOOP_HOME/conf/hadoop-env.sh必须配置JAVA_HOME 4)、在配置sshRSA 无密码登陆时注意文件权限问题 5)、在安装时遇到了:
问题。网上搜索是因为多次格式化导致的版本不一致的问题。我将各个节点的Hadoop工作目录(即:/home/hadoop/hadoop)全部删除,重新namenode 格式化。重新启动即可。
附件:http://down.51cto.com/data/2363946
Hadoop 集群安装实践... 1
Hadoop集群规划... 1
安装准备... 4
Hadoop 集群安装... 8
启动Hadoop 集群并测试... 13
Hadoop集群规划
利用自家的无线路由器及MacBook Pro 本本进行搭建。集群环境: VMwareWorkstation 建立6台虚拟机(采用Clone 方式迅速建立)。OS采用CentOS-6.4-x86_64服务器基本版本。如图:规划说明:
虚拟机名 | OS | 内存 | 硬盘 | IP | 主机名 | 用途 |
hadoop-namenode | CentOS | 1GB | 10GB | 192.168.0.120 | namenode | NamenNode、JobTracker |
hadoop-secondarynamenode | CentOS | 1GB | 10GB | 192.168.0.121 | secondarynamenode | SecondaryNameNode |
hadoop-datanode01 | CentOS | 1GB | 20GB | 192.168.0.122 | datanode01 | DataNode |
hadoop-datanode02 | CentOS | 1GB | 20GB | 192.168.0.123 | datanode02 | DataNode |
hadoop-datanode03 | CentOS | 1GB | 20GB | 192.168.0.124 | datanode03 | DataNode |
hadoop-datanode04 | CentOS | 1GB | 20GB | 192.168.0.125 | datanode04 | 备用,用于实验添加节点 |
FTP工具:SecureFXPortable
安装准备
1)、ip 和主机名根据集群规划设置各个虚拟机的IP 和 HostName。设置静态IP:$ vi /etc/sysconfig/network-scripts/ifcfg-eth0 |
DEVICE=eth0HWADDR=00:0C:29:7C:60:F6TYPE=EthernetUUID=770bae04-34dd-4930-8b24-0439d7778261ONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=staticIPADDR=192.168.0.120NETMASK=255.255.255.0GATEWAY=192.168.0.1 |
$ vi network |
NETWORKING=yes#HOSTNAME=localhost.localdomainHOSTNAME=namenode |
192.168.0.120 namenode192.168.0.121 secondarynamenode192.168.0.122 datanode01192.168.0.123 datanode02192.168.0.124 datanode03192.168.0.125 datanode04 |
reboot |
[root@namenode ~]# service iptables stop[root@namenode ~]# chkconfig iptables off |
3)、安装JDK下载:jdk-6u45-linux-x64.bin分别上传到6台虚拟机中的/usr/local/java 目录下。解压安装如下:
[root@namenode ~]# cd /usr/local/java/[root@namenode java]# chmod 700 jdk-6u45-linux-x64.bin [root@namenode java]# ./jdk-6u45-linux-x64.bin |
环境变量配置:编辑 /etc/profile 加入:JAVA_HOME、CLASSPATH等。
[root@namenode java]# vi + /etc/profile |
#jdk settingJAVA_HOME=/usr/local/java/jdk1.6.0_45CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$PATH:$JAVA_HOME/bin export JAVA_HOMEexport CLASSPATHexport PATH |
[root@namenode java]# source /etc/profile |
[root@namenode java]# java -version |
注:如果操作系统预装JRE 可以修改软连接或使用alternatives 命令进行替换。使用如上操作分别在余下虚拟机中安装JDK。 4)、添加hadoop组和用户
[root@namenode ~]# groupadd hadoop[root@namenode ~]# useradd hadoop -g hadoop |
修改密码:
5)、设置ssh无密码登陆在namenode主机上设置:
[hadoop@namenode ~]$ ssh-keygen -t rsa -P ''[hadoop@namenode ~]$ cp .ssh/id_rsa.pub .ssh/authorized_keys[hadoop@namenode ~]$ chmod 700 .ssh[hadoop@namenode ~]$ chmod -R 600 .ssh/* |
本机测试:
设置namenode 无密码登陆其他主机。如下说明设置namenode 无密码登陆 secondarynamenode 主机。其他主机按此操作步骤设置。 a)、拷贝namenode上 .ssh/authorized_keys 拷贝到 secondarynamenode主机上对应目录。
b)、在 secondarynamenode 上设置.ssh 目录及子文件权限
c)、测试连接
Hadoop集群安装
本次安装采用Hadoop 的 1.0.2 版本。 1)、到Apache Hadoop 官网上下载:hadoop-1.0.2.tar.gz 2)、将 hadoop-1.0.2.tar.gz上传到namenode 上。并解压安装到/usr/local 目录下。修改hadoop 安装主目录拥有者及权限:
3)、配置Hadoop 环境变量在hadoop用户主目录下/home/hadoop/.bash_profile 配置$HADOOP_HOME,并将$HADOOP_HOME/bin 加入到$PATH变量中。
[hadoop@namenode ~]$ vi .bash_profile |
# User specific environment and startup programs PATH=$PATH:$HOME/binHADOOP_HOME=/usr/local/hadoop-1.0.2PATH=$PATH:$HADOOP_HOME/binexport PATH |
4)、配置$HADOOP_HOME/conf/hadoop-env.sh
[hadoop@namenode ~]$ vi /usr/local/hadoop-1.0.2/conf/hadoop-env.sh |
5)、设置Hadoop 守护进程的相关环境参数 a)、$HADOOP_HOME/conf/core-site.xml
[hadoop@namenode ~]$ vi /usr/local/hadoop-1.0.2/conf/core-site.xml |
<configuration><property><name>fs.default.name</name><value>hdfs://namenode:8020</value></property> <property><name>hadoop.tmp.dir</name><value>/home/hadoop/hadoop/tmp</value></property></configuration> |
设置:fs.default.name 和hadoop.tmp.dir b)、$HADOOP_HOME/conf/hdfs-site.xml
[hadoop@namenode ~]$ vi /usr/local/hadoop-1.0.2/conf/hdfs-site.xml |
<configuration> <property> <name>dfs.name.dir</name> <value>/home/hadoop/hadoop/dfs/name,/home/hadoop/hadoop/dfs/name-backup</value> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/hadoop/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property></configuration> |
c)、$HADOOP_HOME/conf/mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>namenode:8021</value> </property> <property> <name>mapred.local.dir</name> <value>/home/hadoop/hadoop/mapred/local</value> </property></configuration> |
6)、配置masters 和 slaves a)、$HADOOP_HOME/conf/masters配置secondarynamenode节点
[hadoop@namenode ~]$ vi /usr/local/hadoop-1.0.2/conf/masters |
b)、$HADOOP_HOME/conf/slaves配置datanode节点
[hadoop@namenode ~]$ vi /usr/local/hadoop-1.0.2/conf/slaves |
7)、使用hadoop用户将namenode 上的/usr/local/hadoop 目录拷贝到其他节点相应目录下。
[hadoop@namenode local]$ scp -r /usr/local/hadoop-1.0.2/ root@secondarynamenode:/usr/local/[hadoop@namenode local]$ scp -r /usr/local/hadoop-1.0.2/ root@datanode01:/usr/local/[hadoop@namenode local]$ scp -r /usr/local/hadoop-1.0.2/ root@datanode02 :/usr/local/ [hadoop@namenode local]$ scp -r /usr/local/hadoop-1.0.2/ root@datanode03 :/usr/local/ [hadoop@namenode local]$ scp -r /usr/local/hadoop-1.0.2/ root@datanode04 :/usr/local/ |
[root@secondarynamenode ~]# cd /usr/local[root@secondarynamenode local]# chown -R hadoop:hadoop hadoop-1.0.2/[root@secondarynamenode local]# chmod -R 770 hadoop-1.0.2 [root@datanode01 ~]# cd /usr/local[root@datanode01 local]# chown -R hadoop:hadoop hadoop-1.0.2/[root@datanode01 local]# chmod -R 770 hadoop-1.0.2 [root@datanode02 ~]# cd /usr/local[root@datanode02 local]# chown -R hadoop:hadoop hadoop-1.0.2/[root@datanode02 local]# chmod -R 770 hadoop-1.0.2 root@datanode03 ~]# cd /usr/local[root@datanode03 local]# chown -R hadoop:hadoop hadoop-1.0.2/[root@datanode03 local]# chmod -R 770 hadoop-1.0.2 [root@datanode04 ~]# cd /usr/local[root@datanode04 local]# chown -R hadoop:hadoop hadoop-1.0.2/[root@datanode04 local]# chmod -R 770 hadoop-1.0.2 |
启动Hadoop集群并测试
1)、在namenode 上格式化namenode[hadoop@namenode ~]$ hadoop namenode -format |
2)、在namenode 上启动Hadoop 集群
[hadoop@namenode jdk1.6.0_45]$ start-all.sh |
3)、验证安装在namenode和 secondarynamenode 及数据节点上查看守护进程:
使用hadoop dfsadmin 进行验证:
web 端查看 DFS 和 JobTraker 详情
4、Hadoop 集群安装问题总结 1)、配置好/etc/hosts及 主机名 2)、关闭防火墙 3)、在$HADOOP_HOME/conf/hadoop-env.sh必须配置JAVA_HOME 4)、在配置sshRSA 无密码登陆时注意文件权限问题 5)、在安装时遇到了:
2013-12-14 15:51:17,573 ERROR org.apache.hadoop.hdfs.DFSClient: Exception closing file /home/hadoop/hadoop/tmp/mapred/system/jobtracker.info : org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /home/hadoop/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1 |
问题。网上搜索是因为多次格式化导致的版本不一致的问题。我将各个节点的Hadoop工作目录(即:/home/hadoop/hadoop)全部删除,重新namenode 格式化。重新启动即可。
附件:http://down.51cto.com/data/2363946
相关文章推荐
- Hadoop实践(二)---集群和开发环境搭建(Intellij IDEA & Maven 开发Hadoop)
- 入门级Hadoop集群搭建详细教程(八):JDK、Tomcat的安装
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
- hadoop2.6.0分布式集群搭建(详细),搭建es-hadoop
- hive(01)、基于hadoop集群的数据仓库Hive搭建实践
- 搭建hadoop集群(超详细)
- 入门级Hadoop集群搭建详细教程(九):MySql的安装
- Hadoop2.2.0 HA + Jdk1.8.0 + Zookeeper3.4.5 + Hbase0.98 集群搭建详细过程(服务器集群)
- Hadoop单机、伪分布式集群搭建(十分详细)
- hive(01)、基于hadoop集群的数据仓库Hive搭建实践
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
- 5节点Hadoop分布式集群搭建-超详细文档
- 『实践』hadoop2.7.3+Centos6.8+VirtualBox5.1.18搭建hadoop完全分布式集群
- Hadoop2.7.2版本分布式集群搭建详细记录
- hadoop2.x单机搭建分布式集群超详细教程
- hadoop详细环境配置,单机集群配置(图文并茂)
- 5节点Hadoop分布式集群搭建-超详细文档
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
- hadoop(04)、Hadoop 集群模式搭建实践
- hadoop2.6.4的HA集群搭建超详细步骤