hadoop伪分布搭建

xiaoxiao2021-02-27  319

准备工作

1.构建三个linux环境作为三个节点

2.三个节点间可相互通信

3.三个节点的IP和hostname绑定(不绑定也可以,直接用IP)

4.关闭所有节点防火墙(service iptables stop,本人在这里犯过错误,浪费好多时间)

开始搭建

一.安装jdk(三个节点均安装)

1.我用的是jdk-8u11-linux-x64.tar.gz,直接解压即安装

2.配置JAVA_HOME,/etc/profile文件中,添加

JAVA_HOME=java安装路径,如/opt/tool/jdk1.8 CLASSPATH=$JAVA_HONE/lib/ PATH=$PATH:$JAVA_HOME/bin:$PATH 保存,退出

3.让配置立即生效:source /etc/profile 4.验证java是否安装成功 java -version 命令,出现java信息及配置成功

二.安装hadoop及配置

1.我用的是hadoop-1.1.2.tar.gz,直接解压即安装(先在作为主节点的环境下操作)

2.修改配置文件

HDFS相关 core-site.xml

<configuration> <property> <name>fs.default.name</name> <value>hdfs://node1:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hdfs/tmp</value> </property> </configuration>

fs.default.name是指NameNode结点的URL,由协议、主机名称、端口号组成,集群里的每一台机器都需要知道NameNode的地址。 hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它

hdfs-site.xml

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

dfs.replication表示副本数目,不设置就默认为3,注意的是副本数一定是小于等于datanode节点数

slaves

192.168....... 192.168....... 配置datanode的结点地址

masters

192.168....... 配置secondnamenode的结点地址,注意,不要与namenode在一个结点上

hadoop-env.sh

配置JAVA_HOME

mapreduce相关 mapred-site.xml

<property> <name>mapred.job.tracker</name> <value>node3:9001</value> </property> jobtracker的地址

3.将hadoop复制给其他两个节点

scp hadoop文件夹 用户名@hostname(比如root@node2:要复制到的节点的存放hadoop的路径

4.在/etc/profile文件中,添加

HADOOP_HOME=hadoop安装路径,如java PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH 添加到path,可以使用hdfs的命令

三.配置免秘钥登录

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 生成秘钥 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将id_dsa.pub文件内容追加到authorized_keys touch authorized_keys scp 文件名 用户名:路径 如scp id_dsa.pub 用户名@hostname:~ 复制本地文件到远程结点

此时,hadoop的伪分布已经搭建好了,在启动hadoop之前,我们需要先格式化namenode (hadoop namenode -format),然后,就可以进入到hadoop的bin文件夹下,执行start-all.sh(./start-all.sh)来启动hadoop。

转载请注明原文地址: https://www.6miu.com/read-4971.html

最新回复(0)