之前介绍过在Ubuntu 12.04单机版环境中搭建hadoop详细教程,今天的教程介绍的是3个节点的Hadoop平台建设。
本次安装规划使用三个节点,每个节点都使用centos系统。
三个节点的hostname分别规划为:centoshadoop1、centoshadoop2、centoshadoop3(此处为本教程参数,可根据实际环境情况修改)
三个节点的ip地址分别规划为:192.168.65.57、192.168.65.58、192.168.65.59(此处为本教程参数,根据实际环境情况修改)
下载如下软件
操作系统安装包:Centos6.3_x64
Jdk安装包:jdk-6u37-linux-x64.bin
Hadoop安装包:hadoop-1.1.2.tar.gz
安装三个节点的操作系统,安装过程省略。
[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=centoshadoop1
[root@localhost ~]# vi /etc/hosts
……
192.168.65.57 centoshadoop1
192.168.65.58centoshadoop2
192.168.65.59centoshadoop3
[root@localhost ~]#reboot
[root@centoshadoop1~]#service iptables stop
注意每次操作系统重启后都要操作
生成签名文件
[root@centoshadoop1~]#cd /root
[root@centoshadoop1~]#ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@centoshadoop1~]#cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[root@centoshadoop1~]#
测试本地SSH无密码登录
[root@centoshadoop1~]#sshcentoshadoop1
上传jdk-6u37-linux-x64.bin到/root目录下
[root@centoshadoop1~]#chmod 777 jdk-6u37-linux-x64.bin
[root@centoshadoop1~]#./jdk-6u37-linux-x64.bin
[root@centoshadoop1~]#ll
查看生成jdk-6u37-linux-x64目录
上传hadoop-1.1.2.tar.gz到/root目录下
[root@centoshadoop1~]#tar -zvxf hadoop-1.1.2.tar.gz
[root@centoshadoop1~]#ll
查看生成hadoop-1.1.2目录
[root@centoshadoop1~]#vi /conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.65.57:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop-1.1.2/tmp</value>
</property>
</configuration>
[root@centoshadoop1~]#vi hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
[root@centoshadoop1~]#vi mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.65.57:9001</value>
</property>
</configuration>
[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/masters
192.168.65.57 #secondaryNameNode
[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/slaves
192.168.65.58 #datanode
192.168.65.59 #datanode
[root@centoshadoop1~]#cd /root
[root@centoshadoop1~]#vi /etc/profile
export JAVA_HOME=/root/jdk1.6.0_37
export JRE_HOME=/root/jdk1.6.0_37/jre
export HADOOP_HOME=/root/hadoop-1.1.2
export HADOOP_HOME_WARN_SUPPRESS=1
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
[root@centoshadoop1~]#vi ~/.bashrc
export JAVA_HOME=/root/jdk1.6.0_37
export JRE_HOME=/root/jdk1.6.0_37/jre
export HADOOP_HOME=/root/hadoop-1.1.2
export HADOOP_DEV_HOME=/root/hadoop-1.1.2
export HADOOP_COMMON_HOME=/root/hadoop-1.1.2
export HADOOP_HDFS_HOME=/root/hadoop-1.1.2
export HADOOP_CONF_DIR=/root/hadoop-1.1.2/conf
[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/hadoop-env.sh
export JAVA_HOME=/root/jdk1.6.0_37
export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_CLASSPATH=/root/hadoop-1.1.2:/root/hadoop-1.1.2/lib
[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=centoshadoop2
[root@localhost ~]# vi /etc/hosts
……
192.168.65.57 centoshadoop1
192.168.65.58 centoshadoop2
192.168.65.59 centoshadoop3
[root@localhost ~]#reboot
[root@centoshadoop1~]#service iptables stop
注意每次操作系统重启后都要操作
将centoshadoop1节点上/root/.ssh目录下的authorized_keys、known_hosts 、id_rsa.pub、id_rsa四个文件拷贝到本机的/root/.ssh目录下
上传jdk-6u37-linux-x64.bin到/root目录下
[root@centoshadoop1~]#chmod 777 jdk-6u37-linux-x64.bin
[root@centoshadoop1~]#./jdk-6u37-linux-x64.bin
[root@centoshadoop1~]#ll
查看生成jdk-6u37-linux-x64目录
上传hadoop-1.1.2.tar.gz到/root目录下
[root@centoshadoop1~]#tar -zvxf hadoop-1.1.2.tar.gz
[root@centoshadoop1~]#ll
查看生成hadoop-1.1.2目录
[root@centoshadoop1~]#vi /conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.65.57:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop-1.1.2/tmp</value>
</property>
</configuration>
[root@centoshadoop1~]#vi hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
[root@centoshadoop1~]#vi mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.65.57:9001</value>
</property>
</configuration>
[root@centoshadoop1~]#cd /root
[root@centoshadoop1~]#vi /etc/profile
export JAVA_HOME=/root/jdk1.6.0_37
export JRE_HOME=/root/jdk1.6.0_37/jre
export HADOOP_HOME=/root/hadoop-1.1.2
export HADOOP_HOME_WARN_SUPPRESS=1
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
[root@centoshadoop1~]#vi ~/.bashrc
export JAVA_HOME=/root/jdk1.6.0_37
export JRE_HOME=/root/jdk1.6.0_37/jre
export HADOOP_HOME=/root/hadoop-1.1.2
export HADOOP_DEV_HOME=/root/hadoop-1.1.2
export HADOOP_COMMON_HOME=/root/hadoop-1.1.2
export HADOOP_HDFS_HOME=/root/hadoop-1.1.2
export HADOOP_CONF_DIR=/root/hadoop-1.1.2/conf
[root@centoshadoop1~]#vi /root/hadoop-1.1.2/conf/hadoop-env.sh
export JAVA_HOME=/root/jdk1.6.0_37
export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_CLASSPATH=/root/hadoop-1.1.2:/root/hadoop-1.1.2/lib
[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=centoshadoop3
[root@localhost ~]# vi /etc/hosts
……
192.168.65.57 centoshadoop1
192.168.65.58 centoshadoop2
192.168.65.59 centoshadoop3
[root@localhost ~]#reboot
关闭iptables防火墙、建立无ssh密码登陆、安装jdk、安装hadoop软件、添加环境变量等操作跟“配置centoshadoop2节点”完全相同
[root@centoshadoop1~]#hadoop namenode –format
注意:core-site.xml、hdfs-site.xml、mapred-site.xml等配置文件变化后都需要执行格式化
[root@centoshadoop1~]#start-all.sh
[root@centoshadoop1~]#stop-all.sh
查看hadoop启动的进程
[root@centoshadoop1~]#jps
查看hadoop集群状态
[root@centoshadoop1~]#hadoop dfsadmin -report
查看hadoop中的目录情况
[root@centoshadoop1~]#hadoop fs –ls /
四个节点上均是CentOS6.0系统,并且有一个相同的用户hadoop。Master机器主要配置NameNode和JobTracker的角色,负责总管分布式数据和分解任务的执行
首先虚拟化几台机器,安装hadoop。在windows上使用xftp很方便地在多台机器之间传输文件。利用 putty 很方便的进行命令操作。
Hadoop运行软件环境:SSH及 SSHD服务正常运行2. JDK,
Hadoop集群的部署环境是经过虚拟化之后的四台主机,Master是Hadoop集群的管理节点,重要的hadoop安装配置工作都在它上面,至于它的功能和作用请参考HadoopAPI。
hadoop学习过程中,我们会遇到各种各样的问题,常见的有hadoop无法启动,集群不能正常工作,不停跳出报错信息等等,这里总结了常见的几个问题及除了方法,希望对大家有用。
【聚焦搜索,数智采购】2021第一届百度爱采购数智大会即将于5月28日在上海盛大开启!
本次大会上,紫晶存储董事、总经理钟国裕作为公司代表,与中国—东盟信息港签署合作协议
XEUS统一存储已成功承载宣武医院PACS系统近5年的历史数据迁移,为支持各业务科室蓬勃扩张的数据增量和访问、调用乃至分析需求奠定了坚实基础。
大兆科技全方面展示大兆科技在医疗信息化建设中数据存储系统方面取得的成就。
双方相信,通过本次合作,能够使双方进一步提升技术实力、提升产品品质及服务质量,为客户创造更大价值。