Hadoop 系列(二)安装配置
Hadoop 系列(二)安装配置
Hadoop 官网:http://hadoop.apache.or
一、Hadoop 安装
1.1 Hadoop 依赖的组件
JDK :从 Oracle 官网下载,设置环境变量(JAVA_HOME、PATH 和 CLASSPATH)。
SSH(安全外壳标议) :推荐安装 Openssh。
Hadoop 需要通过 SSH 来启动 Slave 列表中各台主机的守护进程,因此 SSH 也是必须安装的,即使是安装伪分布式版本(因为 Hadoop 并没有区分开集群式和伪分布式)。对于伪分布式, Hadoop 会采用与集群相同的处理方式,即按次序启动文件 conf/slaves 中记载的主机上的进程;只不过在伪分布式中 Salve 为 localhost(即为自身),所以对于伪分布式 Hadoop,SSH 一样是必需的。
1.2 Hadoop 安装
(1) 创建 hadoop 用户
groupadd hadoop # 创建用户组
useradd -g hadoop -m -s /bin/bash hadoop # 创建用户
passwd hadoop # 设置 hadoop 密码为 hadoop
为 hadoop 用户增加管理员权限:
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
(2) 安装并配置 SSH 无密码登陆
CentOS 默认已安装了 SSH client、SSH server,打开终端执行如下命令进行检验
rpm -qa | grep ssh
如果返回的结果如下图所示,包含了 SSH client 跟 SSH server,则不需要再安装
若需要安装,则可以通过 yum 进行安装:
yum -y install openssh-clients openssh-server
接着执行如下命令测试一下 SSH 是否可用:
ssh localhost
此时会有如下提示(SSH 首次登陆提示),输入 yes 。然后按提示输入密码,这样就登陆到本机了。
[root@mdw home]# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is bd:66:a8:94:98:d5:0b:f3:bc:e9:5c:41:4c:ca:b3:d4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
root@localhost's password:
Last login: Fri Apr 20 07:07:31 2018 from 192.168.2.1
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
首先输入 exit 退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
rm ./id_rsa* # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限,否则无法登陆,亲测
注意: 一定要 chmod 来一下,不然无法起作用。此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了。
(3) Hadoop 安装
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz
tar -zxvf hadoop-3.1.0.tar.gz
sudo mv ./hadoop-3.1.0/ ./hadoop # 将文件夹名改为 hadoop
sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息
/usr/local/hadoop/bin/hadoop version
[hadoop@mdw ~]$ hadoop version
Hadoop 3.1.0
Source code repository https://github.com/apache/hadoop -r 16b70619a24cdcf5d3b0fcf4b58ca77238ccbe6d
Compiled by centos on 2018-03-30T00:00Z
Compiled with protoc 2.5.0
From source with checksum 14182d20c972b3e2105580a1ad6990
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-3.1.0.jar
(4) 环境变量
vim /etc/profile.d/start.sh
# hadoop
HADOOP_HOME=/home/hadoop/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
二、Hadoop 集群配置
(1) 网络配置
配置主机名:
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master
配置 IP/主机名 的映射关系
vim /etc/hosts
192.168.2.101 master
192.168.2.102 slave1
修改完成后需要重启一下,重启后在终端中才会看到机器名的变化。
配置好后需要在各个节点上执行如下命令,测试是否相互 ping 得通,如果 ping 不通,后面就无法顺利配置成功
ping master -c 3 # 只ping 3次,否则要按 Ctrl+c 中断
ping slave1 -c 3
(2) SSH 无密码登陆节点配置
这个操作是要让 master 节点可以无密码 SSH 登陆到各个 slave 节点上。
首先生成 master 节点的公匙,在 master 节点的终端中执行(因为改过主机名,所以还需要删掉原有的再重新生成一次)
cd ~/.ssh # 如果没有该目录,先执行一次 ssh localhost
rm ./id_rsa* # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa # 一直按回车就可以
chmod 600 ./authorized_keys # 修改文件权限
让 master 节点需能无密码 SSH 本机,在 master 节点上执行:
cat ./id_rsa.pub >> ./authorized_keys
完成后可执行 ssh master 验证一下(可能需要输入 yes,成功后执行 exit 返回原来的终端)。接着在 master 节点将上公匙传输到 slave1 节点:
scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/
scp 是 secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。执行 scp 时会要求输入 slave1 上 hadoop 用户的密码(hadoop),输入完成后会提示传输完毕,如下图所示:
接着在 Slave1 节点上,将 ssh 公匙加入授权:
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ./authorized_keys # 修改文件权限
rm ~/id_rsa.pub # 用完就可以删掉了
如果有其他 slave 节点,也要执行将 master 公匙传输到 slave 节点,在 slave 节点上加入授权这两步。
这样,在 master 节点上就可以无密码 SSH 到各个 slave 节点了,可在 master 节点上执行如下命令进行检验:
ssh slave1
(3) 配置集群/分布式环境配置
集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的 5 个配置文件,这里仅介绍了正常启动所必须的设置项: workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 。
配置 workers
workers 将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。
本教程让 master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加一行内容:slave1。
配置 conf/core-site.xml
<configuration>
<!-- 配置默认的文件系统,地址最好使用主机名而不是IP -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9090</value>
</property>
<!-- Hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
</configuration>
配置 conf/hdfs-site.xml
dfs.replication 一般设为 3,但我们只有一个 slave 节点,所以 dfs.replication 的值还是设为 1
<configuration>
<!-- 配置 Hadoop 中 HDFS,默认为 3,单机版需要改为 1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置 conf/mapred-site.xml
<configuration>
<!-- 指定 mr 运行在 yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置 conf/yarn-site.xml
<configuration>
<!-- 指定 yarn 的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<!-- reduce 获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Hadoop 系列(二)安装配置的更多相关文章
- ANDROID Porting系列二、配置一个新产品
ANDROID Porting系列二.配置一个新产品 详细说明 下面的步骤描述了如何配置新的移动设备和产品的makefile运行android. 1. 目录//vendor/创建一个公 ...
- Robotframework-Appium系列:安装配置
1. Robotframework-android系列:安装配置 1.1. 安装环境 64位win10家庭中文版 1.1. 安装说明 网上robotframework-appium安装资料也不少, ...
- 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明)
系列文章 1. 开源一款强大的文件服务组件(QJ_FileCenter)(系列一) 2. 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明) 3. 开源一款强大的文件服务组件 ...
- hadoop系列二:HDFS文件系统的命令及JAVA客户端API
转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...
- Hadoop伪分布安装配置
安装环境: 系统:Ubuntu 14.10 64bit hadoop:2.5.1 jdk:1.8.0_11 安装步骤: 一.安装JDK 安装 jdk,并且配置环境以及设置成默认 sudo gedi ...
- 一步一步跟我学hadoop(1)----hadoop概述和安装配置
这几年云计算大数据非常火,借这个东风.今天開始学习apache的分布式计算框架hadoop,希望不要太落后. Hadoop说明 对于hadoop.apache官方wiki给出的说明为 Apache H ...
- Hadoop完全分布式安装配置完整过程
一. 硬件.软件准备 1. 硬件设备 为了方便学习Hadoop,我采用了云服务器来配置Hadoop集群.集群使用三个节点,一个阿里云节点.一个腾讯云节点.一个华为云节点,其中阿里云和腾讯云都是通过使用 ...
- Hadoop集群安装配置
一.准备工作 1.首先准备好七台虚拟机,并确保都已经安装配置好jdk. 2.Hadoop3.2.0+jdk1.8自行到官网下载 3.修改好相称的主机名,并在hosts文件中相互添加. ######注意 ...
- Hadoop的学习--安装配置与使用
安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...
随机推荐
- 《GPU高性能编程CUDA实战》附录一 高级原子操作
▶ 本章介绍了手动实现原子操作.重构了第五章向量点积的过程.核心是通过定义结构Lock及其运算,实现锁定,读写,解锁的过程. ● 章节代码 #include <stdio.h> #incl ...
- windows下的java项目打jar分别编写在windows与linux下运行的脚本( 本人亲测可用!)
前言: 最近公司做了一个工具,要将这个工具打包成一个可运行的程序,编写start.bat和start.sh在windows和linux下都可以运行. 在网上找了很多资料,最后终于找到一个可靠的资料,记 ...
- 关闭IPV6
[root@bgw-t ~]# cat > /etc/modprobe.d/ipv6.conf << EOF alias net-pf-10 off options ipv6 dis ...
- adb的一些常用的命令
如果在dos界面想要直接用adb的话,需要将anroidsdk安装目录下的tools和platform-tools以及加入到环境变量path中. 查看当前的设备(包括真机和模拟器):adb devic ...
- 安装Anaconda以及jupyter的使用
1)下载https://www.anaconda.com/download/ 2)安装 3)终端查看(Anaconda Prompt) 4)升级所有的包 初次安装下的软件包版本一般都比较老旧,因此提前 ...
- bootstrap下拉框的例子,提示Error: Bootstrap's JavaScript requires jQuery
bootstrap很多js依赖jquery,所以需要引入jquery 遇到的问题: 页面访问提示:Error: Bootstrap's JavaScript requires jQuery 解 ...
- Android使用HTTPS进行IP直连握手失败问题(okHttp)
为什么要使用ip直连这种方式去请求我们的服务器呢?这其实和国内运营伤有关,运营商有时为了利益会将你的域名劫持换成他人的域名,为了防止这种情况的发生通用的解决办法要么联系运营商要么就只能使用ip直连了. ...
- luoguP3367 [模板]并查集
题目链接:https://www.luogu.org/problemnew/show/P3367 思路: 今天学了新算法——并查集,本题是简单的并查集题的模板. 核心思想是“递归+压缩路径”. 并查集 ...
- (动态规划)有 n 个学生站成一排,每个学生有一个能力值,从这 n 个学生中按照顺序选取kk 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 kk 个学生的能力值的乘积最大,返回最大的乘积
第2关:最强战队 挑战任务 绿盟和各大名企合作,举办编程能力大赛,需要选拔一支参赛队伍.队伍成员全部来自“绿盟杯”中表现优秀的同学,每个同学都根据在比赛中的表现被赋予了一个能力值.现在被召集的N个同学 ...
- 配置python学习环境遇到的问题:[Decode error - output not utf-8]
因为前阵子学习monkeyrunner的时候,碰到了很多关于.py的脚本,其实我是一知半解的,也没打算去学习一下.将就着看看吧,后来无意中看到自动化测试工程师都要求会脚本语言的时候,刺激了我,想了想, ...