四种Hadoop集群搭建(一)
*安装环境
Hadoop-2.4.1
jdk1.7.0_25
Cenos 32位
虚拟机:senior.shizhan04
*设置linux系统的启动页面.
linux系统不启动图形界面,而是启动命令行截面
Sudo vi /ect/inttab
Id:3:initdefault:
*设置ip地址
图形化界面修改IP
命令行界面修改ip地址,修改IPADDR即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0
*修改主机名
vi /etc/hosts //添加
192.168.195.13 senior.shizhan04
*设置hadoop用户具备管理员权限
更改用户的sodu权限,切换到root用户下,修改/etc/sudoers
添加: hadoop ALL=(ALL) ALL
*关闭防火墙
chkconfig iptables off
*安装jdk,配置环境变量等
在安装jdk之前,先查看自己的linux中是否自带jdk,如果自带可以卸载,然后安装自己需要的jdk版本
rpm -qa|grep jdk
rpm -qa|grep gcj
查看自带的jdk相关的信息
卸载自带jdk:yum -y remove (查询jdk信息)
[[email protected] ~]$ mkdir software
安装jdk:
[[email protected] ~]$ tar -zxvf jdk-7u65-linux-i586.tar.gz -C software/
配置jdk:
[[email protected] ~]$ sudo vi /etc/profile
添加以下两行:
export JAVA_HOME=/home/hadoop/software/jdk1.7.0_65
export PATH=$PATH:$JAVA_HOME/bin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*安装hadoop,并配置文件
[[email protected] ~]$ tar -zxvf hadoop-2.4.1.tar.gz -C software/
配置jdk:
[[email protected] ~]$ sudo vi /etc/profile
添加以下两行:
export HADOOP_HOME=/home/hadoop/software/ hadoop-2.4.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*配置hadoop的文件
hadoop-env.xml ,需修改jdk的安装目录
export JAVA_HOME=/home/hadoop/software/jdk1.7.0_25
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
Slaves
senior.shizhan04
*配置ssh免秘登陆
ssh-****** -t rsa
ssh-copy-id senior.shizhan04
*测试
格式化
bin/hdfs namenode -format
启动dfs
sbin/start-dfs.sh //同时启动namenode与datanaode,还有其他的启动方式,可以在sbin目录下查看
启动yarn
sbin/start-yarn.sh
执行mapreduce程序
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount inputData outputData
关闭服务
sbin/stop-dfs.sh
$ sbin/stop-yarn.sh
二 搭建三台伪分布式的hadoop集群
*实验环境
Hadoop-2.4.1
jdk1.7.0_25
Cenos 32位
三台虚拟机,分别为senior.shizhan02(192.168.195.11)、senior.shizhan03(192.168.195.12)、senior.shizhan04(192.168.195.13)
其中senior.shizhan04是namenode,senior.shizhan03是secondarynamenode,senior.shizhan02是resourcemanager
*设置linux系统的启动页面.
linux系统不启动图形界面,而是启动命令行截面
Sudo vi /ect/inttab
Id:3:initdefault:
*修改三台机器的ip
图形化界面修改IP
命令行界面修改ip地址,修改IPADDR即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0
*修改主机名
vi /etc/hosts //添加
192.168.195.13 senior.shizhan04
192.168.195.12 senior.shizhan03
192.168.195.11 senior.shizhan02
*设置三台机器上hadoop用户具备管理员权限
更改用户的sodu权限,切换到root用户下,修改/etc/sudoers
添加: hadoop ALL=(ALL) ALL
*关闭防火墙
chkconfig iptables off
*安装jdk,配置环境变量等
创建文件:
[[email protected] ~]$ mkdir software
安装jdk:
[[email protected] ~]$ tar -zxvf jdk-7u65-linux-i586.tar.gz -C software/
配置jdk:
[[email protected] ~]$ sudo vi /etc/profile
添加以下两行:
export JAVA_HOME=/home/hadoop/software/jdk1.7.0_65
export PATH=$PATH:$JAVA_HOME/bin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*安装hadoop,并配置文件
[[email protected] ~]$ tar -zxvf hadoop-2.4.1.tar.gz -C software/
配置jdk:
[[email protected] ~]$ sudo vi /etc/profile
添加以下两行:
export HADOOP_HOME=/home/hadoop/software/ hadoop-2.4.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让配置文件生效:
[[email protected] ~]$ source /etc/profile
*核心文件设置
*hdfs
hadoop-env.xml ,需修改jdk的安装目录
export JAVA_HOME=/home/hadoop/software/jdk1.7.0_25
core-site.xml
<!-- 配置namenode的节点所在机器-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://senior.shizhan04:8020</value>
</property>
<!-- 配置集群数据存放目录-->
<property>
<name>dfs.tmp.dir</name>
<value>/home/hadoop/software/hadoop-2.4.1/data/tmp</value>
</property>
hdfs-site.xml
<!-- 配置secondarynamenode所在机器-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>senior.shizhan03:50090</value>
</property>
Slaves
<!-- 配置集群所有的机器 -->
senior.shizhan04
senior.shizhan03
senior.shizhan02
*yarn
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>senior.shizhan02</value>
</property>
<!-- 陪着这个,可以在web页面上查看mapreduce的计算日志-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>640800</value>
</property>
*mapreduce
mapre-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>senior.shizhan04:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>senior.shizhan04:19888</value>
</property>
*置ssh免密登陆
//以senior.shizhan04为例,两外两台也是这样
ssh-****** -t rsa
ssh-copy-id senior.shizhan04
ssh-copy-id senior.shizhan03
ssh-copy-id senior.shizhan02
//测试三台机器的无秘钥登陆
ssh senior.shizhan04
*复制配置文件
将配置文件复制到另外两台机器上
*格式化集群
bin/hdfs dfs namenode -format
*集群测试
*启动服务
启动hdfs
sbin/start-dfs.sh
启动yarn
sbin/start-yarn.sh
启动historyserver
sbin/mr-jobhistory-daemon.sh start historyserver
*hdfs测试
读写操作
bin/hdfs dfs -mkdir -p /newDre
bin/hdfs dfs -put 1.text /newDre
bin/hdfs dfs -text /newDre
bin/hdfs dfs -get /newDre /home/hadoop/software/
*Yarn 测试
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount /inputDre/ /outputDre
*web页面
senior.shizhan04:50070(senior.shizhan04是namenode),可以看到一共有三个活动的节点
senior.shizhan02:8088(resourcemanager),可以看到执行过的mapreduce,还可以看到map与reduce两个阶段的执行日志
*测试完成之后关闭服务
关闭dfs:
sbin/stop-dfs.sh
关闭yarn,在resourcemanager可以一次性关闭集群中有关yarn的服务
sbin/stop-yarn.sh
关闭historyserver
sbin/mr-jobhistory-daemon.sh stop historyserver
*注意
在格式化之后,如果发现各种问题,可以查看hadoop安装目录下的logs的下的日志信息,并学会根据错误定位错误可能出现的位置。