Hadoop - 01 - 集群搭建

更新于2018-09-25

上周因为硬盘空间不够,准备迁移Hadoop集群测试虚拟机,结果Master节点误操作,网络被我搞坏了。

死活连接不上去,一气之下,重新装了一个Master机器。

单纯的重新安装Master节点,想继续使用这个集群,是不可取的,需要将整个集群全部卸载,重新配置才行。

各位童鞋,如果本地安装集群,一定要准备充足的硬盘空间。

 

------------------------------以下为原文-----------------------------------

 

之前搭建Hadoop集群花了很长时间,来回浪费了很多时间,记录分享给大家。

自己电脑是Win7的,内存16G(双通道8G),安装了VM虚拟机

在虚拟机上安装了Centos6.8 系统,然后安装了必要的工具,JDK、SSH、tree、unzip之类的工具。

一共准备了三台虚拟机,一台Master,两台slave。

废话不多说,上笔记...

 

这里默认服务器安装完成,JDK,SSH等工具全都安装完毕,下面主要记录配置信息。

机器列表:

IP

角色

192.168.137.160

master

192.168.137.161

slave

192.168.137.162

slave

 

 

Host配置

host配置不多说,多台服务器之间连接必须的..

这下面的配置中,全部使用ip地址,不使用主机名

 

SSH信任配置

在master机器下执行

生成密钥

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

保存到authorized_keys中

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

发送给slave机器的authorized_keys中

cat /root/.ssh/id_rsa.pub | ssh 192.168.137.161 'cat >> .ssh/authorized_keys'

cat /root/.ssh/id_rsa.pub | ssh 192.168.137.162 'cat >> .ssh/authorized_keys'

上面一套执行下来,master --> slave 之间的ssh信任就配置好了

然后slave --> master 之间的反向信任也是这样子。

 

环境变量配置

vim /etc/profile

#HADOOP
export HADOOP_HOME=/home/hadoop/hadoop-2.8.1      #这个是hadoop解压缩后的路径(安装路径)
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

source /etc/profile

验证,输入

hadoop version

注意:Master机器上配置好了之后,两台slave机器也要配置,反正hadoop安装路径都是一样的...

 

Hadoop配置信息

下面的配置信息,都是使用ip配置的,没有使用主机名

我这里用hadoop-2.8.1.tar.gz举例子

我的安装路径:/home/hadoop/hadoop-2.8.1

配置文件都在etc下面:/home/hadoop/hadoop-2.8.1/etc/hadoop

----------------------------------------------------------------------------------------------------

hadoop-env.sh

# The java implementation to use.
export JAVA_HOME=/home/tools/jdk/jdk1.8.0_40

yarn-env.sh

 

# some Java parameters
export JAVA_HOME=/home/tools/jdk/jdk1.8.0_40

slaves

 

192.168.137.160
192.168.137.161
192.168.137.162

这里将master和slave机器的ip全部配置上去

core-site.xml

<configuration>

	<!-- 指定hdfs的nameservice为ns1 -->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://192.168.137.160:9000</value>
	</property>

	<!-- Size of read/write buffer used in SequenceFiles. -->
	<property>
		<name>io.file.buffer.size</name>
		<value>131072</value>
	</property>

	<!-- 指定hadoop临时目录,自行创建 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/hadoop/hadoop-2.8.1/tmp</value>
	</property>

</configuration>

hdfs-site.xm

<configuration>

	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>192.168.137.160:50090</value>
	</property>

	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>

	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/home/hadoop/hadoop-2.8.1/hdfs/namenode/dfs/name</value>
	</property>

	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/home/hadoop/hadoop-2.8.1/hdfs/datanode/dfs/data</value>
	</property>

	<property>
		<name>dfs.webhdfs.enabled</name>
		<value>true</value>
	</property>

</configuration>

mapred-site.xml

原目录下没有这个xml文件,我们复制一个

cp mapred-site.xml.template mapred-site.xml

<configuration>

	<property>
	  <name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>

	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>192.168.137.160:10020</value>
	</property>

	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>192.168.137.160:19888</value>
	</property>

</configuration>

yarn-site.xml

<configuration>

	<!-- Site specific YARN configuration properties -->

	<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>192.168.137.160:8032</value>
	</property>

	<property>
	   <name>yarn.resourcemanager.scheduler.address</name>
	   <value>192.168.137.160:8030</value>
	</property>

	<property>
	<name>yarn.resourcemanager.resource-tracker.address</name>
	 <value>192.168.137.160:8031</value>
	</property>

	<property>
	  <name>yarn.resourcemanager.admin.address</name>
	   <value>192.168.137.160:8033</value>
	</property>

	<property>
	   <name>yarn.resourcemanager.webapp.address</name>
	   <value>192.168.137.160:8088</value>
	</property>

</configuration>

上面的配置好了之后,将/home/hadoop/hadoop-2.8.1 整个目录发送到slave机器的固定目录下

(建议master 和 slave hadoop安装的目录保持一致,方便配置)

scp -r hadoop-2.8.1 root@192.168.137.161:/home/hadoop/

scp -r hadoop-2.8.1 root@192.168.137.162:/home/hadoop/

 

hadoop启动

(配置环境变量之后,可以直接使用格式化命令)

hdfs namenode -format

start-all.sh

stop-all.sh

sh mr-jobhistory-daemon.sh start historyserver

hadoop job -list

 

验证

master节点

slave节点

http://192.168.137.160:8088/cluster/nodes

http://192.168.137.160:50070/dfshealth.html

 

参考资料:

http://www.thebigdata.cn/Hadoop/33037.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值