程序员开发实例大全宝库

网站首页 > 编程文章 正文

hadoop2.7.7完全分布式安装(hadoop完全分布式部署)

zazugpt 2024-08-27 00:25:25 编程文章 15 ℃ 0 评论

前提:

1.准备三台虚拟机IP分别为:

192.168.1.104 master

192.168.1.105 slave1

192.168.1.106 slave2

2.到官方下载相应的hadoop包,我这里下载的是2.7.7 主要是考虑到后面会安装spark.

具体的下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

3.下载官方 JDK

jdk-8u181-linux-x64.tar.gz

具体安装 hadoop,在虚拟机根目录下创建hadoop目录,相关文件都放在此目录中。

1.简单的配置三台虚拟机分别为 master slave1 slave2

1.打开 /etc/hosts 文件,注释掉 127.0.1.1 ubuntu ,这一行,同时添加

192.168.1.104 master

192.168.1.105 slave1

192.168.1.106 slave2

修改后如图所示:

在三台虚拟机上执行相同的操作。

修改虚拟机的名称分别为 master slave1 slave2:

打开 /etc/hostname, 填写主机名称 master,其它两台分别命令为 slave1 和 slave2

2.安装JDK

1.分别上传 jdk-8u181-linux-x64.tar.gz 到三台虚拟机目录 /hadoop/

2.解压 jdk,在各个机器上分别执行命令

cd /hadoop/

tar zxvf jdk-8u181-linux-x64.tar.gz

3. 在系统文件 /etc/profile 中添加以下内容:

JAVA_HOME=/hadoop/jdk1.8.0_181

export JRE_HOME=/hadoop/jdk1.8.0_181/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=.:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

4.执行命令 source /etc/profile,使配置生效

5. 查看jdk安装是否成功 java -version,配置正确,控制台会输出安装的JDK版本

3.配置三台机器之间ssh免密码登陆:

1.执行命令 ssh-keygen -t rsa

2. 一路回车,会在 /root/ 生成 .ssh 的隐藏目录

3. 执行命令 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

4. 测试 ssh localhost 第一次登录会提示 yes/or 以后登录就不会。

同样的操作在三台机器上执行后,分别把每个机器上的 authorized_keys 内容复制到另外两台机器上,这样三台机器之间就可以免 ssh 登录 ,可以使用 ssh master,ssh slave1, ssh slave2,命令分别到各个机器之间来测试,是否可以免密码登录

4.配置hadoop。

1.上传下载好的hadoop包至服务器 master 目录/hadoop/

2.解压。 tar zxvf hadoop-2.7.7.tar.gz

3.修改hadoop的配置文件 /hadoop/hadoop-2.7.7/etc/hadoop/hadoop-env.sh

将 export JAVA_HOME=${JAVA_HOME}

修改为:export JAVA_HOME=/hadoop/jdk1.8.0_181/

4.修改 /hadoop/hadoop-2.7.7/etc/hadoop/core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/hadoop/hadoop-2.7.7/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value>

</property>

</configuration>

5.修改 /hadoop/hadoop-2.7.7/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/hadoop/hadoop-2.7.7/hdfs/namenode</value>

<description>。。。。</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/hadoop/hadoop-2.7.7/hdfs/datanode</value>

<description>。。。。</description>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

6.复制/hadoop/hadoop-2.7.7/etc/hadoop/mapred-site.xml.template

改名为 /hadoop/hadoop-2.7.7/etc/hadoop/mapred-site.xml

内容修改为:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>master:9001</value>

<description>Host or IP and port of JobTracker.</description>

</property>

</configuration>

7.新建文件 /hadoop/hadoop-2.7.7/etc/hadoop/masters,内容只有一行

master

8.修改 /hadoop/hadoop-2.7.7/etc/hadoop/slaves 内容只有两行,分别指定两个slave机器,内容如下:

slave1

slave2

9.利用scp命令将hadoop文件夹复制到各个从机上。

scp -r /hadoop/hadoop-2.7.7/ root@slave1:/hadoop/

scp -r /hadoop/hadoop-2.7.7/ root@slave2:/hadoop/

10.启动Hadoop

进入master机器的hadoop目录,格式化HDFS文件系统的namenode,执行命令

cd /hadoop/hadoop-2.7.7/bin/

hdfs namenode -format

执行完后,可以看到 namenode has been successfully formatted.

11.启动Hadoop集群

cd /hadoop/hadoop-2.6.0/sbin

./start-all.sh

用jps命令可以看到以下进程

ResourceManager

SecondaryNameNode

NameNode

Jps

到slave1,slave2机器上同样用jps命令来查看

DataNode

NodeManager

Jps

-------------------至此hadoop的完全分布式已经安装完成----------------------

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表