ubuntu64位hadoop2.2.0全分布安装部署

2023-12-08 16:38

本文主要是介绍ubuntu64位hadoop2.2.0全分布安装部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、安装完ubuntu系统后,激活root账户
sudo passwd root(参考网址:http://www.aboutyun.com/blog-61-121.html)
2、增加用户
用命令sudo adduser aboutyun
(注:ubuntu建用户最好用adduser,虽然adduser和useradd是一样的在别的linux糸统下,但是我在ubuntu下用useradd时,参考网址:http://www.aboutyun.com/blog-61-121.html)
两次输入aboutyun的初始密码123456,出现的信息如下

passwd: password updated successfullyChanging the user information for aboutyunEnter the new value, or press ENTER for the defaultFull Name []:Room Number []:Work Phone []:Home Phone []:Other []:Full Name []:

这个信息是否正确? [Y/n] y
到此,用户添加成功。如果需要让此用户有root权限,执行命令:
root@ubuntu:~# sudo vim /etc/sudoers
修改文件如下:

# User privilege specificationroot ALL=(ALL) ALLaboutyun ALL=(ALL) ALL

保存退出,aboutyun用户就拥有了root权限。(注:如果sudoers为只读文件,用chmod 600 /etc/sudoers命令修改文件权限)
3、搭建集群
这里我们搭建一个由三台机器组成的集群(参考网址:http://www.aboutyun.com/thread-7684-1-1.html)

192.168.0.107    aboutyun/123456      master
192.168.0.108     aboutyun/123456      slave1
172.16.77.17     aboutyun/123456      slave2

3.1 上面各列分别为IP、user/passwd、hostname
Hostname可以在/etc/hostname中修改,hostname,
对于三台机器都需要修改:
下面是master的修改:通过命令
vim /etc/hosts
这里写图片描述
4、打通master到slave节点的SSH无密码登陆
1)、登陆root用户,运行sudo apt-get update
(2)、运行apt-get install ssh安装ssh应用
(3)、设置local无密码登陆
具体步骤如下:
第一步:产生密钥
$ ssh-keygen -t rsa -P ” -f ~/.ssh/id_rsa
输出如下:
这里写图片描述
第二步:导入authorized_keys
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第二步导入的目的是为了无密码等,这样输入如下命令:
ssh localhost
注:次localhost对应的是/etc/hosts中127.0.0.1 localhost一行中的对应字段
这里写图片描述
出现Last login表示登陆成功

(4)、设置远程无密码登陆
进入master的.ssh目录
scp authorized_keys aboutyun@slave1:~/.ssh/authorized_keys_from_master
进入slave1的.ssh目录
cat authorized_keys_from_master >> authorized_keys
至此,可以在master上面ssh slave1进行无密码登陆了(注意:是master访问slave1,不是slave1访问master)。
【注意】:以上操作在每台机器上面都要进行。
(5)、这里在强调一下原理:
就是把工钥放到里面,然后本台机器就可以ssh无密码登录了。如果想彼此无密码登录,那么就需要把彼此的工钥(*.pub)放到authorized_keys里面
如果想要理解上述操作,请参考网址(http://www.educity.cn/net/1620180.html)
下面有三篇好文章讲解rsa和dsa密钥管理只是,可以看一下哦,人家讲解的通俗易懂,考虑的又比较全面:
http://www.ibm.com/developerworks/cn/linux/security/openssh/part1/index.html
http://www.ibm.com/developerworks/cn/linux/security/openssh/part2/index.html
http://www.ibm.com/developerworks/cn/linux/security/openssh/part3/index.html
如果建立权限不成功可参考以下此网址(http://digdeeply.org/archives/06142220.html和http://jiajun.iteye.com/blog/621309)

5、安装jdk
(1)解压安装

sudo mkdir /usr/lib/jvm
sudo tar zxvf ./jdk-7-linux-x64.tar.gz  -C /usr/lib/jvm
cd /usr/lib/jvm
sudo mv jdk1.7.0 java

(2)修改环境变量

vim ~/.bashrc

在最下边增加以下代码

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

(3)配置默认JDK版本
由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。
执行代码:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin/java 300sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 300sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 300sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 300sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 300

(4)测试

$ java -versionjava version "1.7.0"Java(TM) SE Runtime Environment (build 1.7.0-b147)Java HotSpot(TM) Server VM (build 21.0-b17, mixed mode)

(5)关闭每台机器的防火墙
ufw disable (重启生效)
6、安装和配置主hadoop
(参考网址:http://www.aboutyun.com/thread-7684-1-1.html)
(1)、 解压文件
将第一部分中下载的
执行代码:

tar zxvf hadoop-2.2.0_x64.tar.gz
mv hadoop-2.2.0 /usr/hadoop

(2)、hadoop配置过程
配置之前,需要在master本地文件系统创建以下文件夹:
~/dfs/name
~/dfs/data
~/tmp
这里文件权限:创建完毕,你会看到红线部分,注意所属用户及用户组。
这里写图片描述

配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/java)
配置文件2:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/java)
配置文件3:slaves (这个文件里面保存所有slave节点)
写入以下内容:

slave1
slave2

配置文件4:core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://master:8020</value></property><property><name>io.file.buffer.size</name><value>131072</value></property><property><name>hadoop.tmp.dir</name><value>file:/home/aboutyun/tmp</value><description>Abase for other temporary   directories.</description></property><property><name>hadoop.proxyuser.aboutyun.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.aboutyun.groups</name><value>*</value></property>
</configuration>

配置文件5:hdfs-site.xml

<configuration><property><name>dfs.namenode.secondary.http-address</name><value>master:9001</value></property><property><name>dfs.namenode.name.dir</name><value>file:/home/aboutyun/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/home/aboutyun/dfs/data</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property>
</configuration>

配置文件6:mapred-site.xml

<configuration><property>                                                                  <name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</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:8031</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>
</configuration>

7、复制到其他节点
上面配置完毕,我们基本上完成了90%了剩下就是复制。我们可以把整个hadoop复制过去:使用如下命令:
sudo scp -r /usr/hadoop aboutyun@slave1:~/
这里记得先复制到home/aboutyun下面,然后在转移到/usr下面。

后面我们会经常遇到问题,经常修改配置文件,所以修改完一个配置文件后,其他节点都需要修改,这里附上脚本操作方便:
一、节点之间传递数据:
第一步:vi scp.sh
第二步:把下面内容放到里面

#!/bin/bash
#slave1
scp /usr/hadoop/etc/hadoop/core-site.xml aboutyun@slave1:~/
scp /usr/hadoop/etc/hadoop/hdfs-site.xml aboutyun@slave1:~/   
#slave2
scp /usr/hadoop/etc/hadoop/core-site.xml aboutyun@slave2:~/
scp /usr/hadoop/etc/hadoop/hdfs-site.xml aboutyun@slave2:~/

第三步:保存scp.sh
第四步:bash scp.sh执行
二、移动文件夹:
可以自己写了。

8、配置环境变量
(1)、vi ~/.bashrc
(2)、添加如下代码:

export HADOOP_HOME=/home/tom/hadoop-2.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3)、source ~/.bashrc
9、启动验证
启动hadoop(注:以下命令都只是在主节点上运行)
格式化namenode:
hdfs namenode –format
启动hdfs:
start-dfs.sh
此时在master上面运行jps命令有以下两个进程:

namenode 
secondarynamenode

slave节点上面运行的进程有:datanode

启动yarn:
start-yarn.sh
我们看到如下效果:
master有如下进程:
这里写图片描述
slave1有如下进程
这里写图片描述
此时hadoop集群已全部配置完成!!!
【注意】:而且所有的配置文件和节点处不要有空格,否则会报错!
然后我们输入:(这里有的同学没有配置hosts,所以输出master访问不到,如果访问不到输入ip地址即可)
http://master:8088/
如何修改hosts:
win7 进入下面路径:
C:\Windows\System32\drivers\etc
找打hosts
这里写图片描述
然后打开,进行如下配置即可看到
这里写图片描述
看到下图:
这里写图片描述
10、遇到问题

启动HDFS,命令如下:(参考网址:http://blog.csdn.net/xin_jmail/article/details/40556267)
$ sbin/start-dfs.sh
遇到如下错误:

1.  14/10/29 16:49:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable  
2.  Starting namenodes on [OpenJDK Server VM warning: You have loaded library /home/baisong/hadoop-2.5.0/lib/native/libhadoop.so.1.0.0  
3.   which might have disabled stack guard. The VM will try to fix the stack guard now.  
4.  It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.  
5.  localhost]  
6.  sed: -e expression #1, char 6: unknown option to `s'  
7.  VM: ssh: Could not resolve hostname vm: Name or service not known  
8.  library: ssh: Could not resolve hostname library: Name or service not known  
9.  have: ssh: Could not resolve hostname have: Name or service not known  
10. which: ssh: Could not resolve hostname which: Name or service not known  
11. might: ssh: Could not resolve hostname might: Name or service not known  
12. warning:: ssh: Could not resolve hostname warning:: Name or service not known  
13. loaded: ssh: Could not resolve hostname loaded: Name or service not known  
14. have: ssh: Could not resolve hostname have: Name or service not known  
15. Server: ssh: Could not resolve hostname server: Name or service not known

分析原因知,没有设置 HADOOP_COMMON_LIB_NATIVE_DIR和HADOOP_OPTS环境变量,在 ~/.bashrc文件中添加如下内容并编译。

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"   

$ source ~/.bashrc

重新启动HDFS,输出启动成功。

这篇关于ubuntu64位hadoop2.2.0全分布安装部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/470582

相关文章

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启

debian12安装docker的实现步骤

《debian12安装docker的实现步骤》本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录步骤 1:更新你的系统步骤 2:安装依赖项步骤 3:添加 docker 的官方 GPG 密钥步骤

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登