Hadoop2.6简单集群搭建

1 环境准备

centos7
安装包: jdk1.7.0_45.tgz, hadoop-2.6.1.tar.gz
三台机器的IP:
master: 192.168.37.100
slave1: 192.168.37.101
slave2: 192.168.37.102

2 关闭防火墙
检查防火墙状态: systemctl status firewalld.service

在这里插入图片描述

关闭防火墙: systemctl stop firewalld.service
关闭防火墙开机自启: systemctl disable firewalld.service
再次检查防火墙状态: systemctl status firewalld.service

在这里插入图片描述
可以看到防火墙已关闭

3 配置多台机器互信

在每个节点上执行,生成公钥:

ssh-keygen -t rsa

一直enter键就行
在这里插入图片描述
将公钥写入认证文件中,并给生成认证文件添加权限:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chomd 777 ~/.ssh/authorized_keys

然后在master上执行,即在192.168.37.100执行,需要输入密码:

ssh 192.168.37.101 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh 192.168.37.102 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

将认证文件分发至每一个节点:

scp ~/.ssh/authorized_keys 192.168.37.101:~/.ssh/
scp ~/.ssh/authorized_keys 192.168.37.102:~/.ssh/

就可以ssh登录了
还可以配置: vim /etc/hosts
将ip 和 对应的hostname加入进去,连接时,就可以直接ssh hostname 连接了,不用再输入ip,

192.168.37.100 master
192.168.37.101 slave1
192.168.37.102 slave2
如连接slave1  : ssh slave1
4 安装jdk(这里安装的时jdk1.7)

每个节点都要安装jdk
解压jdk:

tar zxvf jdk1.7.0_45.tgz

配置jdk环境变量:

vim ~/.bashrc

JAVA_HOME 为Jdk压缩包解压的目录位置的绝对路径

JAVA_HOME=/usr/local/jdk1.7.0_45
export PATH="$JAVA_HOME/bin:$PATH"

然后执行:

bash

查看java是否生效:

java -version
5 安装Hadoop2

解压:

tar zxvf hadoop-2.6.1.tar.g

进入加压目录: 我这里解压在 /usr/local下

cd  /usr/local/hadoop-2.6.1/etc/hadoop

需要修改下面一些文件
1 修改 hadoop-env.sh
修改java_home即你解压jdk的目录

export JAVA_HOME=/usr/local/jdk1.7.0_45

2 修改 yarn-env.sh
同样:将注释的java_home,修改路径

#export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/local/src/jdk1.7.0_45

3 修改 slaves
将从节点hostname写入文件中,我这里从节点名字 slave1 slave2

slave1
slave2

4 修改 core-site.xml

注意: tmp 文件夹需要自己手动创建

# 配置hdfs的默认路径和文件的临时存储路径
<configuration
   <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000/</value>
   </property>

   <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/src/hadoop-2.6.1/tmp</value>
   </property>

</configuration>

5 修改 hdfs-site.xml
注意:同样需手动创建目录dfs,然后再dfs下在创建两个文件夹:data name

# 配置从节点,数据存储的路径dfs
<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>master:9001</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/src/hadoop-2.6.1/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/src/hadoop-2.6.1/dfs/data</value>
        </property>
</configuration>

6 修改 mapred-site.xml

cp mapred-site.xml.template mapred-site.xm
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

7 修改 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>master:8032</value>
	</property>
	<property>
		<name>yarn.resourcemanager.scheduler.address</name>
		<value>master:8030</value>
	</property>
	<property>
		<name>yarn.resourcemanager.resource-tracker.address</name>
		<value>master:8035</value>
	</property>
	<property>
		<name>yarn.resourcemanager.admin.address</name>
		<value>master:8033</value>
	</property>
	<property>
		<name>yarn.resourcemanager.webapp.address</name>
		<value>master:8088</value>
	</property>
	<!--log-->
 <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
 </property>
 <property>
        <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
        <value>3600</value>
 </property>
 <property>
        <name>yarn.nodemanager.remote-app-log-dir</name>
        <value>/tmp/logs</value>
 </property>
</configuration>

8 将hadopp加入环境变量:
vim ~/.bashrc

HADOOP_HOME=/usr/local/src/hadoop-2.6.1
export PATH="$HADOOP_HOME/bin:$PATH"

然后执行: bash

9 格式化HDFS文件系统:

hdfs namenode -format

成功在这里有标记
在这里插入图片描述
10 在hadoop的目录下的/sbin目录下执行

./start-all.sh

Supongo que te gusta

Origin blog.csdn.net/u014644167/article/details/104702808
Recomendado
Clasificación