阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop2.6完全分布式多节点集群安装配置

217次阅读
没有评论

共计 7845 个字符,预计需要花费 20 分钟才能阅读完成。

最终目的:实现 Win7 下,创建 Ubuntu 虚拟机搭建 Hadoop 多节点集群

1. 当前 pc 环境

WindowS 版本:Win7 专业版
处理器:Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz 
安装内存(RAM):4.00GB
系统类型:64bitOS
ip:192.168.1.110

2. 软件准备

宿主机:Win7 专业版
桌面虚拟机软件: 产品 VMware® Workstation 12 Pro; 版本 12.1.0 build-3272444; VMwareworkstation_full_12.1.0.2487.1453173744.exe
桌面 linuxOS: 版本 ubuntu 14.04LTS ;         ubuntu-14.04.3-desktop-amd64.exe(64bit)
JDK : 版本 1.8; jdk-8u73-linux-x64.tar.gz(64bit)    jdk 装到虚拟机里面,所以是 linux 的 jdk
Hadoop: 版本 2.6; hadoop-2.6.4.tar.gz
Eclipse:
集群配置:Ubuntu14(虚拟机名称)Master.Hadoop(hostname)192.168.1.111(ip)
 Ubuntu14slave1(虚拟机名称)Slaver1.Hadoop(hostname)192.168.1.112(ip)

3. 安装配置起航

3.1  安装 VMware Workstation

 安装流程可以参考 Windows 7 下用 VMware Workstation 10 虚拟机安装 Ubuntu 14.04   http://www.linuxidc.com/Linux/2014-04/100473.htm
虚拟机软件安装的位置 d:\Program Files(x86)\VMare\VMare Workstation\
   注意事项:安装出现是否更新和参与用户体验,去掉勾,不选;许可证秘钥自行百度;安装完毕打开在帮助里面可以查看版本之类的信息。
 
3.2  安装虚拟机并配置 Ubuntu 环境
安装流程可以参考 http://www.linuxidc.com/Linux/2016-09/135192.htm
本人虚拟机名称:Ubuntu14         虚拟机位置:d:\Ubuntu64
     Ubuntu14slave1     虚拟机位置:d:\Ubuntu14slave1
     两个用户名都相同,用户名 ysu  密码 123456

注意事项:客户机是 linux,版本是 ubuntu;网络类型很重要:我选的是桥接,Win7 宿主机和两个虚拟机在一个网段里面。

网络类型三种区分参考:

虚拟机网络连接方搜索式是如何设置的。如 VMWare 虚拟机提供了三种工作模式,它们是 bridged(桥接模式)、NAT(网络地址转换模式)和 host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式,然后就知道答案了。

bridged(桥接模式)

在这种模式下,VMWare 虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置 IP 地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的 TCP/IP 配置信息,以实现通过局域网的网关或路由器访问互联网。

host-only(主机模式)

在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用 host-only 模式。在 host-only 模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

3.NAT(网络地址转换模式)

使用 NAT 模式,就是让虚拟系统借助 NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用 NAT 模式可以实现在虚拟系统里访问互联网。NAT 模式下的虚拟系统的 TCP/IP 配置信息是由 VMnet8(NAT)虚拟网络的 DHCP 服务器提供的,无法进行手工修改,因此虚 拟系统也就无法和本局域网中的其他真实主机进行通讯。采用 NAT 模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

 
 
经常提示软件更新,我们选择永不更新
 
3.3  修改虚拟机静态 ip
参考 http://jingyan.baidu.com/article/b7001fe18f85fe0e7282ddaf.html
结果 Ubuntu14 ip192.168.1.111 子网掩码 255.255.255.0 网关 192.168.1.1 DNS 202.206.240.12
Ubuntu14slave1 ip 192.168.1.112 子网掩码 255.255.255.0 网关 192.168.1.1DNS 202.206.240.12
使用 ifconfig 查看结果
 
3.4  修改虚拟机主机名称和 hosts 文件
linux 命令需要自行查阅,注意命令里面是否有空格
命令 鼠标左键空白区域,Ctrl+Alt+T,弹出终端
    sudo gedit /etc/hostname
    sudo gedit /etc/hosts
结果:
Ubuntu14 hostname 文件 Master.Hadoop  
hosts 文件 127.0.0.1 localhost 192.168.1.111Master.Hadoop 192.168.1.112 Slaver1.Hadoop
 
Ubuntu14Slaver1 hostname 文件 Slaver1.Hadoop  
hosts 文件 127.0.0.1 localhost 192.168.1.111 Master.Hadoop 192.168.1.112 Slaver1.Hadoop
使用 ping 互相连通宿主机和虚拟机(会用到 ctrl+ c 让 ping 停止)
 
3.5 虚拟机安装配置 jdk
保证虚拟机能联网,打开 ubuntu 火狐浏览器,下载安装参考  Ubuntu 安装 JDK 详解  http://www.linuxidc.com/Linux/2016-11/136958.htm
我的 jdk 安装目录 /usr/lib/jvm/jdk1.8.0_73
使用 java-version 查看 jdk
 
 
3.6 SSH 无密码登陆验证配置
安装 ssh
命令:sudo apt-get install openssh-server
sudo apt-get install openssh-client
使用 ssh version 查看 ssh 是否安装成功
 
生成无密码密钥对:id_rsa(私钥)id_rsa.pub(公钥), 默认存储在 /home/ysu(用户名)/.ssh 目录下
命令:ssh-keygen -t rsa -P ”
使用 ls 查看是否有这两个钥
 
把 id_rsa.pub 追加到授权的 key 里面去。
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 
使用 root 用户登陆修改 ssh 配置文件
命令:su // 输入 root 密码切换到超级用户
gedit /etc/ssh/sshd_config
检查下面几行
PermitRootLogin yes(要改成 yes)
RSAAuthentication yes # 启用 RSA 认证(去掉最前面 #)
PubkeyAuthentication yes # 启用公钥私钥配对认证方式(去掉最前面 #)
AuthorizedKeysFile  %h/.ssh/authorized_keys # 公钥文件路径 (去掉最前面 #)
 
重启 ssh 服务
/home/ysu/.ssh/ service ssh restart
 
使用 exit 退出 root 登陆,验证 ssh 是否设置成功
ssh localhost
在测试有可能出现 Agent admitted failure to sign using the key
解决的办法:ssh-add ~/.ssh/id_rsa
 
将公钥传到远程主机上
命令:cd /home/ysu/.ssh
            ssh-copy-id  ysu@Slaver1.Hadoop// 这里是 Master 传入 Slaver1
    enter 完后输入 Slaver1.Hadoop 密码
 
检测是否可以无密码登陆
命令:ssh Slaver1.Hadoop
结果   ysu@Master:~$ 变成 ysu@Slaver1:~$
 
最后 Slaver1 机器也按照以上的步骤重复一遍
 
3.7 Hadoop 安装配置
注意:Hadoop2.X 版本跟 1.X 版本很多命令不一样,需要配置的文件也不一样。
保证虚拟机能联网,打开 ubuntu 火狐浏览器,下载 Hadoop(默认下载到 /home/ysu/ 下载目录里面)
root 用户登陆将 hadoop 安装包移动到 /usr 目录下
cp /home/ysu/ 下载 /hadoop-2.6.4.tar.gz /usr/
 
解压安装包
cd /usr/
tar -xzvf hadoop-2.6.4.tar.gz
 
重命名为 hadoop
mv hadoop-2.6.4 hadoop
 
给 ysu 用户分配 hadoop 文件夹读权限
chown -R ysu:ysu hadoop
 
删除安装包
rm -rf  hadoop-2.6.4.tar.gz
 
本地文件系统创建一下文件夹
mkdir /usr/hadoop/tmp
mkdir /usr/hadoop/dfs/data
mkdir /usr/hadoop/name
 
修改 /etc/profile 文件 添加 hadoop 路径
cd profile
sudo gedit /etc/profile
文件中
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=PATH:PATH:HADOOP_HOME/bin
 
配置 7 个文件 均在 /usr/hadoop/etc/hadoop/
 
配置 hadoop-env.sh // 修改 JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_73
配置 yarn-env.sh// 修改JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_73
配置 slaves 文件 // 增加 slave 节点
Slaver1.Hadoop
配置 core-site.xml 文件
<configuration>
<property>

  <name>fs.defaultFS</name>
  <value>hdfs://Master.Hadoop:9000</value>
 </property>

 <property>
  <name>io.file.buffer.size</name>
  <value>131072</value>
 </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/hadoop/tmp</value>
  <description>Abasefor other temporary directories.</description>
 </property>
 <property>
</configuration>

配置 hdfs-site.xml// 增加 hdfs 配置信息(namenode、datanode 端口和目录位置)

 

<configuration>
 <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>Master.Hadoop:9001</value>
 </property>
  <property>
   <name>dfs.namenode.name.dir</name>
   <value>/usr/hadoop/dfs/data</value>
 </property>
 <property>
  <name>dfs.datanode.data.dir</name>
  <value>/usr/hadoop/dfs/data</value>
  </property>
<property>
  <name>dfs.replication</name>
  <value>3</value>
 </property>
 <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
 </property>
</configuration>

配置  mapred-site.xml 文件 // 增加 mapreduce 配置(使用 yarn 框架、jobhistory 使用地址以及 web 地址)

注意 /usr/local/hadoop/etc/hadoop/ 文件夹下有 mapred.xml.template 文件,需要复制并重命名
cp mapred-site.xml.template mapred-site.xml
sudo gedit mapred-site.xml

 

<configuration>
  <property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.address</name>
  <value>Master.Hadoop:10020</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>Master.Hadoop:19888</value>
 </property>
</configuration>

配置 yarn-site.xml// 增加 yarn 功能

<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.Hadoop:8032</value>
  </property>
  <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>Master.Hadoop:8030</value>
  </property>
  <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>Master.Hadoop:8031</value>
  </property>
  <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>Master.Hadoop:8033</value>
  </property>
  <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>Master.Hadoop:8088</value>
  </property>
</configuration>

以上 Master 的 hadoop 配置完毕,配置 salver 的 hadoop

 

把 master 下的 hadoo 文件夹传到 salver 即可

普通用户和 root 用户均可 注意 sudo 和 su 的区别

命令:scp -r /usr/hadoop root@Salver1.Hadoop:/usr/

 

给 ysu 用户分配 hadoop 文件夹读权限
chown -R ysu:ysu hadoop
 
修改 /etc/profile 文件 添加 hadoop 路径
cd profile
sudo gedit /etc/profile
文件中
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=PATH:PATH:HADOOP_HOME/bin
这样 slave 的机器 hadoop 也配置好了
 
3.8 启动 Hadoop
格式化 HDFS
hdfs namenode -format
 
启动 hadoop
/usr/hadoop/sbin/start-dfs.sh
/usr/hadoop/sbin/start-yarn.sh
 
3.9 查看集群和进程
 
jps//jps 命令
 
/usr/hadoop/bin/hdfs dfsadmin -report // 查看集群(结果没出来,有待修复)
 
火狐浏览器打开
Master.Hadoop:50070
Master.Hadoop:8088(结果没出来,有待修复)
Slaver1.Hadoop:8042

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137217.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7845字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中