Hadoop安装,伪分布式,完全分布式搭建

在搭建集群式要先安装jdk和hadoop,本文用的时Centos6.8,jdk8,hadoop2.7.3

JDK安装参考:https://blog.csdn.net/woainiqazwsx123/article/details/83016453

Hadoop安装

在用户目录下新建一个soft目录将hadoop压缩包解压到当前目录下

创建软链接 

$ ln -s hadoop-2.7.3 hadoop

配置环境变量

JAVA_HOME=/home/hyxy/soft/jdk

HADOOP_HOME=/home/hyxy/soft/hadoop

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export JAVA_HOME HADOOP_HOME

export PATH

$ source .barches

配置完后输入hadoop version 命令查看是否配置成功


伪分布式

修改/hadoop-2.7.3/etc/hadoop/下的两个配置文件

修改core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

localhost的位置写的是自己的主机名

修改hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

1的位置是节点数,因为是伪分布,只有一台机器,所以是1

ssh免密登录

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

格式化文件系统

$ hdfs namenode -format

如果出现错误: JAVA_HOME is not set and could not be found.
            修改hadoop-env.sh
            大约25行左右指定JAVA_HOME路径:export JAVA_HOME=/home/hyxy/soft/jdk

启动NameNode和DataNode

$ sbin / start-dfs.sh

注意:如果格式化了两次可能会出现错误,可以将/tmp/hsperfdata_hyxy删除,之后再格式化,启动服务


完全分布式

首先最少需要有三台虚拟机在配置好jdk和hadoop后进行克隆,克隆后可能会出现网络问题可参考:VM虚拟机克隆无法设置静态IP

配置ssh免密登录

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

在三台虚拟机上都要生成密钥,生成后将生成后的密钥发送到其中一个虚拟机上执行第二条命令,将密钥添加进去,依次继续,使得三台虚拟机上都有彼此的密钥

配置hadoop配置文件

修改/hadoop-2.7.3/etc/hadoop/下的配置文件

core-site.xml

<configuration>
	<!--默认文件系统的名称。一个URI的方案和权限决定文件系统的实现。的uri的方案确定config属性(fs. schema .impl)命名文件系统实现类。uri的权限已经被使用确定文件系统的主机、端口等。指定主节点位置,提供一个对外的接口供其他程序使用-->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
	<property>
		<!--其他临时目录的基础hadoop系统临时目录(格式化后的namenode和datanode)-->
		<name>hadoop.tmp.dir</name>
        <!--下面写的是自己定的目录-->
		<value>/home/hyxy/soft/tmp</value>
	</property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
	    <!--副本数-->
		<name>dfs.replication</name>
		<value>3</value>
	</property>
</configuration>

yarn-site.xml

<configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
		<!--参考hadoop权威指南296页-->
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<property>
		<!--指定resourcemanager所在主机-->
		<name>yarn.resourcemanager.hostname</name>
		<value>master</value>
	</property>
</configuration>

mapred-site.xml

<configuration>
    <!--指定mr任务在哪个上面运行(本地、经典和yarn)-->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
			  
	</property>
</configuration>

slaves

master
slave1
slave2

将配置好的hadoopp配置文件使用scp命令发送到其他两台机器上

格式化namenode,最好在master上进行

$ hdfs namenode -format

启动集群

 start-all.sh    或     start-dfs.sh和start-yarn.sh  推荐使用第二种方法开启服务

阅读更多
换一批

没有更多推荐了,返回首页