Hadoop2.6.0安装----环境准备

合集下载

hadoop2.6.0安装

hadoop2.6.0安装

hadoop2.6.0安装搭建hadoop2.6.0开发环境前言:因为没有物理机器要测试,所以学习如何构建Hadoop环境并在本地笔记本中创建三个Linux虚拟机是一个不错的选择。

安装VMware并准备三台相同的Linux虚拟机Linux虚拟机ISO:虚拟机平台服务器版本:PS:关于软件,软件描述如下:本地笔记本:t420,8g内存,64位操作系统,配置如下:1.安装虚拟机1.1安装vmware-workstation,一路下一步即可,导入centos,使用iso方式搭建linux虚拟机2.安装Linux虚拟机2.1安装vmware-workstation完成后,选择新建虚拟机,导入centos,使用iso方式搭建linux虚拟机选择路径选择多核选择2G内存选择桥连接的方式选择磁盘I/O模式创建全新的虚拟机选择磁盘类型虚拟机文件存储方式设置虚拟机文件的存储路径完成打开,报错如下:无法准备安装说明:\\software\\wmware\\centos-6.5-x86 64-bin-dvd1。

iso。

确保您正在使用有效的Linux安装光盘。

如果出现错误,您可能需要安装VMWareWorkstation。

原因是笔记本没有开启虚拟机功能选项,重启电脑,然后按住f1键,进入bios设置,找到virtual选项,设置成enable,然后保存退出。

打开时出现错误消息:EDD:Error8000ReadingSector 2073976原因是:vmwareworkstation9,版本太老,升级到10版本,就ok了。

设置虚拟机网络连接(固定IP),并将连接模式设置为NAT模式看下是否能上外网,左键点击笔记本右下角无线图标,再点击打开网络与共享中心,关闭vmnet01,只保留vmnet08,然后使用默认的ipv4的ip地址192.168.52.1像两颗豌豆一样克隆另一颗。

在虚拟机name02上右键弹出菜单里点击”管理(m)”,然后点击右边下拉菜单”克隆(c)”,如下所示:继续下一步选择创建完成克隆(f)设置名称和位置,然后单击finish开始复制,时间较长,耐心等待,如下单击“关闭”按钮以完成克隆。

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu_CentOS

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu_CentOS

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS本教程讲述如何配置Hadoop 集群,默认读者已经掌握了Hadoop 的单机伪分布式配置,否则请先查看Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置。

本教程由厦门大学数据库实验室出品,转载请注明。

本教程适合于原生Hadoop 2,包括Hadoop 2.6.0, Hadoop 2.7.1 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,保证按照步骤来,都能顺利安装并运行Hadoop。

另外有Hadoop安装配置简略版方便有基础的读者快速完成安装。

为了方便新手入门,我们准备了两篇不同系统的Hadoop 伪分布式配置教程。

但其他Hadoop 教程我们将不再区分,可同时适用于Ubuntu 和CentOS/RedHat 系统。

例如本教程以Ubuntu 系统为主要演示环境,但对Ubuntu/CentOS 的不同配置之处、CentOS 6.x 与CentOS 7 的操作区别等都会尽量给出注明。

环境本教程使用Ubuntu 14.04 64位作为系统环境,基于原生Hadoop 2,在Hadoop 2.6.0 (stable)版本下验证通过,可适合任何Hadoop 2.x.y 版本,例如Hadoop 2.7.1,Hadoop 2.4.1 等。

本教程简单的使用两个节点作为集群环境: 一个作为Master 节点,局域网IP 为192.168.1.121;另一个作为Slave 节点,局域网IP 为192.168.1.122。

准备工作Hadoop 集群的安装配置大致为如下流程:1.选定一台机器作为Master2.在Master 节点上配置hadoop 用户、安装SSH server、安装Java 环境3.在Master 节点上安装Hadoop,并完成配置4.在其他Slave 节点上配置hadoop 用户、安装SSH server、安装Java 环境5.将Master 节点上的/usr/local/hadoop 目录复制到其他Slave 节点上6.在Master 节点上开启Hadoop配置hadoop 用户、安装SSH server、安装Java 环境、安装Hadoop 等过程已经在Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置中有详细介绍,请前往查看,不再重复叙述。

centos下hadoop2.6.0配置

centos下hadoop2.6.0配置

Hadoop-2.6.0配置前面的部分跟配置Hadoop-1.2.1的一样就可以,什么都不用变,完全参考文档1即可。

下面的部分就按照下面的做就可以了。

hadoop-2.6.0的版本用张老师的。

下面的配置Hadoop hadoop-2.6.0的部分1.修改hadoop-2.6.0/etc/hadoop/hadoop-env.sh,添加JDK支持:export JAVA_HOME=/usr/java/jdk1.6.0_45如果不知道你的JDK目录,使用命令echo $JAVA_HOME查看。

2.修改hadoop-2.6.0/etc/hadoop/core-site.xml注意:必须加在<configuration></configuration>节点内<configuration><property><name>hadoop.tmp.dir</name><value>/home/hadoop/hadoop-2.6.0/tmp</value><description>Abase for other temporary directories.</description></property><property><name></name><value>hdfs://master:9000</value></property></configuration>3.修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml<property><name>.dir</name><value>/home/hadoop/hadoop-2.6.0/dfs/name</value><description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description></property><property><name>dfs.data.dir</name><value>/home/hadoop/hadoop-2.6.0/dfs/data</value><description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description></property><property><name>dfs.replication</name><value>1</value></property>4.修改hadoop-2.6.0/etc/hadoop/mapred-site.xml<property><name>mapred.job.tracker</name><value>master:9001</value><description>Host or IP and port of JobTracker.</description></property>5. 修改hadoop-2.6.0/etc/hadoop/masters列出所有的master节点:master6.修改hadoop-2.6.0/etc/hadoop/slaves这个是所有datanode的机器,例如:slave1slave2slave3slave47.将master结点上配置好的hadoop文件夹拷贝到所有的slave结点上以slave1为例:命令如下:scp -r ~/hadoop-2.6.0slave1:~/安装完成后,我们要格式化HDFS然后启动集群所有节点。

RedHat7 Hadoop-2.6.0

RedHat7 Hadoop-2.6.0

一、服务器版本查看cat /etc/redhat-release二、新建目录:mkdir -p /softwares上传hadoop-2.6.0.tar.gz三、解压cd /softwarestar zxvf hadoop-2.6.0.tar.gz四、设置环境变量分别修改主机名称vim /etc/hostname(修改主机名)修改host名称vim /etc/hosts192.168.18.202 Master.Hadoop192.168.18.203 Slave1.Hadoop192.168.18.208 Slave2.Hadoop192.168.18.202 192.168.18.203 192.168.18.208 五、设置免密登录创建hadoop用户【在master\slave1\slave2上】# useradd hadoop --创建用户名为hadoop的用户# passwd hadoop --为用户hadoop设置密码# su - hadoop --切换到root用户# cd ~ --打开用户文件夹# ssh-keygen -t rsa -P '' --生成密码对,/home/hadoop/.ssh/id_rsa和/home/hadoop/.ssh/ id_rsa.pub# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --把id_rsa.pub追加到授权的k ey里面去# chmod 600 ~/.ssh/authorized_keys --修改权限# chmod 700 ~/.ssh# su hadoop --切换到hadoop用户# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.203:~/.ssh/master# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.208:~/.ssh/master# su hadoop --切换到hadoop用户# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.202:~/.ssh/slave1# su hadoop --切换到hadoop用户# scp ~/.ssh/id_rsa.pub hadoop@192.168.18.202:~/.ssh/slave2# su root --切换到root用户# vim /etc/ssh/sshd_config --修改ssh配置文件RSAAuthentication yes #启用RSA认证PubkeyAuthentication yes #启用公钥私钥配对认证方式AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径# systemctl restart sshd.service ---重启 sshd 服务在slave1、slave2上# su hadoop --切换到hadoop用户# cat ~/.ssh/master >> ~/.ssh/authorized_keys在master上# su hadoop --切换到hadoop用户# cat ~/.ssh/slave1 >> ~/.ssh/authorized_keys# cat ~/.ssh/slave2 >> ~/.ssh/authorized_keys重启sshd 服务:systemctl restart sshd.service验证无密码登陆,在slave1和slave2上# su hadoop --切换到hadoop用户# ssh Master.Hadoop验证无密码登陆,在master上# su - hadoop# ssh Slave1.Hadoop# ssh Slave2.Hadoop六、修改hadoop文件mkdir -p /softwares/hadoop/tmpcd /softwares/hadoop-2.6.0/etc/hadoopvim core-site.xml<property><name>hadoop.tmp.dir</name><value>/softwares/hadoop/tmp</value><description>Abase for other temporary directories.</description> </property><property><name>fs.defaultFS</name><value>hdfs://Master.Hadoop:9000</value></property><property><name>io.file.buffer.size</name><value>4096</value></property>vim hadoop-env.sh和yarn-env.sh在开头添加如下环境变量cd /softwares/hadoop-2.6.0/etc/hadoopvim hadoop-env.shvim yarn-env.shexport JAVA_HOME=/usr/local/java/jdk1.8.0_112mkdir -p /softwares/hadoop/dfs/namemkdir -p /softwares/hadoop/dfs/datamkdir -p /softwares/hadoop/dfs/name/currentcd /softwares/hadoop-2.6.0/etc/hadoopvim hdfs-site.xml<property><name>.dir</name><value>file:///softwares/hadoop/dfs/name</value> </property><property><name>dfs.datanode.data.dir</name><value>file:///softwares/hadoop/dfs/data</value> </property><property><name>dfs.replication</name><value>2</value></property><property><name>services</name><value>Master.Hadoop:9000</value></property><property><name>node.secondary.http-address</name> <value>Master.Hadoop:50090</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property>cd /softwares/hadoop-2.6.0/etc/hadoopcp mapred-site.xml.template mapred-site.xmlvim mapred-site.xml<property><name></name><value>yarn</value><final>true</final></property><property><name>mapreduce.jobtracker.http.address</name><value>Master.Hadoop:50030</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><property><name>mapred.job.tracker</name><value>http://Master.Hadoop:9001</value></property>cd /softwares/hadoop-2.6.0/etc/hadoopvim yarn-site.xml<property><name>yarn.resourcemanager.hostname</name><value>Master.Hadoop</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.address</name><value>Master.Hadoop:8042</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>Master.Hadoop:8040</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name> <value>Master.Hadoop:8041</value></property><property><name>yarn.resourcemanager.admin.address</name><value>Master.Hadoop:8043</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>Master.Hadoop:8048</value></property>配置Hadoop的集群cd /softwares/hadoop-2.6.0/etc/hadoopvim slavesSlave1.HadoopSlave2.Hadoop在master上把hadoop 目录的权限交给hadoopsu - rootchown -R hadoop:hadoop /softwares/hadoop-2.6.0chown -R hadoop:hadoop/softwares/hadoop将hadoop-2.6.0整个的copy到另外两台机器上面scp -r /softwares/hadoop-2.6.0 192.168.18.203:/softwares/ scp -r /softwares/hadoop 192.168.18.203:/softwares/scp -r /softwares/hadoop-2.6.0 192.168.18.208:/softwares/ scp -r /softwares/hadoop 192.168.18.208:/softwares/在slave1和slave2上把hadoop 目录的权限交给hadoopchown -R hadoop:hadoop /softwares/hadoop-2.6.0chown -R hadoop:hadoop /softwares/hadoop在master上格式化HDFS 系统su - hadoopcd /softwares/hadoop-2.6.0/bin./hadoop namenode -format启动整个Hadoop集群及其验证在master上su - hadoopcd /softwares/hadoop-2.6.0/sbin./start-dfs.sh./start-yarn.sh或者用下面的./start-all.sh(./stop-all.sh)使用java 的jps 小工具可以看到ResourceManager , NameNode 都启动了:master上【ResourceManager、NameNode】slave1上【DataNode、NodeManager】slave2上【DataNode、NodeManager】如果都运行了,就可以用浏览器查看了http://192.168.18.202:8048/cluster/nodes用./bin/hdfs dfsadmin -report查看状态cd /softwares/hadoop-2.6.0/bin./hdfs dfsadmin -report在系统中使用下面的命令可以看到hadoop 使用的端口:netstat -tnulp | grep java概念说明NamenodeNamenode 管理文件系统的Namespace。

hadoop2.6基于yarn安装配置详解

hadoop2.6基于yarn安装配置详解

Hadoop2.6配置详解在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。

Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。

这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.6解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM(由cloudra提出,原理类似zookeeper)。

这里我使用QJM完成。

主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。

通常配置奇数个JournalNode1安装前准备1.1示例机器192.168.0.10 hadoop1192.168.0.20 hadoop2192.168.0.30 hadoop3192.168.0.40 hadoop4每台机器都有一个hadoop用户,密码是hadoop所有机器上安装jdk1.7。

在hadoop2,hadoop3,hadoop4上安装Zookeeper3.4集群。

1.2配置ip与hostname用root用户修改每台机器的hostsVi /etc/hosts添加以下内容:192.168.0.10 hadoop1192.168.0.20 hadoop2192.168.0.30 hadoop3192.168.0.40 hadoop4应用配置source /etc/hosts1.3关闭防火墙切换到管理员su root连接设备,键入命令“service iptables status”查看防火墙状态关闭命令“chkconfig iptables off”,重启后生效。

在linux中安装Hadoop教程-伪分布式配置-Hadoop2.6.0-Ubuntu14.04

在linux中安装Hadoop教程-伪分布式配置-Hadoop2.6.0-Ubuntu14.04

在linux中安装Hadoop教程-伪分布式配置-Hadoop2.6.0-Ubuntu14.04注:该教程转⾃厦门⼤学⼤数据课程学习总结装好了 Ubuntu 系统之后,在安装 Hadoop 前还需要做⼀些必备⼯作。

创建hadoop⽤户如果你安装 Ubuntu 的时候不是⽤的 “hadoop” ⽤户,那么需要增加⼀个名为 hadoop 的⽤户。

⾸先按 ctrl+alt+t 打开终端窗⼝,输⼊如下命令创建新⽤户 : sudo useradd -m hadoop -s /bin/bash这条命令创建了可以登陆的 hadoop ⽤户,并使⽤ /bin/bash 作为 shell。

sudo命令 本⽂中会⼤量使⽤到sudo命令。

sudo是ubuntu中⼀种权限管理机制,管理员可以授权给⼀些普通⽤户去执⾏⼀些需要root权限执⾏的操作。

当使⽤sudo命令时,就需要输⼊您当前⽤户的密码.密码 在Linux的终端中输⼊密码,终端是不会显⽰任何你当前输⼊的密码,也不会提⽰你已经输⼊了多少字符密码。

⽽在windows系统中,输⼊密码⼀般都会以“*”表⽰你输⼊的密码字符 接着使⽤如下命令设置密码,可简单设置为 hadoop,按提⽰输⼊两次密码: sudo passwd hadoop可为 hadoop ⽤户增加管理员权限,⽅便部署,避免⼀些对新⼿来说⽐较棘⼿的权限问题: sudo adduser hadoop sudo最后注销当前⽤户(点击屏幕右上⾓的齿轮,选择注销),返回登陆界⾯。

在登陆界⾯中选择刚创建的 hadoop ⽤户进⾏登陆。

更新apt⽤ hadoop ⽤户登录后,我们先更新⼀下 apt,后续我们使⽤ apt 安装软件,如果没更新可能有⼀些软件安装不了。

按 ctrl+alt+t 打开终端窗⼝,执⾏如下命令: sudo apt-get update后续需要更改⼀些配置⽂件,我⽐较喜欢⽤的是 vim(vi增强版,基本⽤法相同) sudo apt-get install vim安装SSH、配置SSH⽆密码登陆集群、单节点模式都需要⽤到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上⾯运⾏命令),Ubuntu 默认已安装了SSH client,此外还需要安装 SSH server: sudo apt-get install openssh-server安装后,配置SSH⽆密码登陆利⽤ ssh-keygen ⽣成密钥,并将密钥加⼊到授权中: exit # 退出刚才的 ssh localhost cd ~/.ssh/ # 若没有该⽬录,请先执⾏⼀次ssh localhost ssh-keygen -t rsa # 会有提⽰,都按回车就可以 cat ./id_rsa.pub >> ./authorized_keys # 加⼊授权此时再⽤ssh localhost命令,⽆需输⼊密码就可以直接登陆了。

Hadoop集群安装详细步骤亲测有效

Hadoop集群安装详细步骤亲测有效

Hadoop集群安装详细步骤亲测有效第一步:准备硬件环境- 64位操作系统,可以是Linux或者Windows-4核或更高的CPU-8GB或更高的内存-100GB或更大的硬盘空间第二步:准备软件环境- JDK安装:Hadoop运行需要Java环境,所以我们需要先安装JDK。

- SSH配置:在主节点和从节点之间建立SSH连接是Hadoop集群正常运行的前提条件,所以我们需要在主节点上生成SSH密钥,并将公钥分发到从节点上。

第四步:配置Hadoop- core-site.xml:配置Hadoop的核心参数,包括文件系统的默认URI和临时目录等。

例如,可以将`hadoop.tmp.dir`设置为`/tmp/hadoop`。

- hdfs-site.xml:配置Hadoop分布式文件系统的参数,包括副本数量和块大小等。

例如,可以将副本数量设置为`3`。

- yarn-site.xml:配置Hadoop的资源管理系统(YARN)的参数。

例如,可以设置YARN的内存资源分配方式为容器的最大和最小内存均为1GB。

- mapred-site.xml:配置Hadoop的MapReduce框架的参数。

例如,可以设置每个任务容器的内存限制为2GB。

第五步:格式化Hadoop分布式文件系统在主节点上执行以下命令,格式化HDFS文件系统:```hadoop namenode -format```第六步:启动Hadoop集群在主节点上执行以下命令来启动Hadoop集群:```start-all.sh```此命令将启动Hadoop的各个组件,包括NameNode、DataNode、ResourceManager和NodeManager。

第七步:测试Hadoop集群可以使用`jps`命令检查Hadoop的各个进程是否正常运行,例如`NameNode`、`DataNode`、`ResourceManager`和`NodeManager`等进程都应该在运行中。

hadoop安装实验总结

hadoop安装实验总结

hadoop安装实验总结Hadoop安装实验总结Hadoop是一个开源的分布式计算框架,用于处理大规模数据集。

在本次实验中,我成功安装了Hadoop,并进行了相关的配置和测试。

以下是我对整个过程的总结和经验分享。

1. 环境准备在开始安装Hadoop之前,我们需要确保已经具备了以下几个环境条件:- 一台Linux操作系统的机器,推荐使用Ubuntu或CentOS。

- Java开发环境,Hadoop是基于Java开发的,因此需要安装JDK。

- SSH服务,Hadoop通过SSH协议进行节点之间的通信,因此需要确保SSH服务已启动。

2. 下载和安装Hadoop可以从Hadoop官方网站上下载最新的稳定版本。

下载完成后,解压缩到指定目录,并设置环境变量。

同时,还需要进行一些配置,包括修改配置文件和创建必要的目录。

3. 配置Hadoop集群Hadoop是一个分布式系统,通常会配置一个包含多个节点的集群。

在配置文件中,我们需要指定集群的各个节点的IP地址和端口号,并设置一些重要的参数,如数据存储路径、副本数量等。

此外,还可以根据实际需求调整其他配置参数,以优化集群性能。

4. 启动Hadoop集群在完成集群配置后,我们需要启动Hadoop集群。

这一过程需要先启动Hadoop的各个组件,包括NameNode、DataNode、ResourceManager和NodeManager等。

启动成功后,可以通过Web 界面查看集群的状态和运行情况。

5. 测试Hadoop集群为了验证Hadoop集群的正常运行,我们可以进行一些简单的测试。

例如,可以使用Hadoop提供的命令行工具上传和下载文件,查看文件的副本情况,或者运行一些MapReduce任务进行数据处理。

这些测试可以帮助我们了解集群的性能和可靠性。

6. 故障排除与优化在实际使用Hadoop时,可能会遇到一些故障和性能问题。

为了解决这些问题,我们可以通过查看日志文件或者使用Hadoop提供的工具进行故障排查。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

准备工作:1、笔记本4G内存,操作系统WIN7 (屌丝的配置)2、工具VMware Workstation3、虚拟机:CentOS6.4共四台虚拟机设置:每台机器:内存512M,硬盘40G,网络适配器:NAT模式选择高级,新生成虚机Mac地址(克隆虚拟机,Mac地址不会改变,每次最后手动重新生成)编辑虚拟机网络:点击NAT设置,查看虚机网关IP,并记住它,该IP在虚机的网络设置中非常重要。

NAT设置默认IP会自动生成,但是我们的集群中IP需要手动设置。

本机Win7 :VMnet8 网络设置注意:克隆的虚拟机网卡MAC地址已经改变,但是文件里面没有修改,我们启动网络服务会遇到下面错误:Bringing up interface eth0: Error: No suitable device found: no device found for cone解决办法:# vi /etc/udev/rules.d/70-persistent-net.rules(内容如下图)查看ifcfg-eth0 中的“HWADDR ”是否和第一个网卡启动信息中的ATTR{address}值相同,如果两个值相同则删除eth0中的所有内容在eth1中进行相关IP配置安装JDK72.1下载JDK安装包安装版本:jdk-7u60-linux-x64.gz查看最新:/technetwork/java/javase/downloads/index.html2.2解压安装我们把JDK安装到这个路径:/usr/lib/jvm如果没有这个目录,我们就新建一个目录cd /usr/libsudomkdirjvm将jdk-7u60-linux-x64.tar.gz复制到linux桌面tarzxvf jdk-7u60-linux-x64.tar.gz -C /usr/lib/jvm2.3配置环境变量(1)只对当前用户生效vim ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH保存退出,然后输入下面的命令来使之生效source ~/.bashrc(2)对所有用户生效(root用户登录)vim /etc/profileexport JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH保存退出,然后输入下面的命令来使之生效source /etc/profile2.4配置默认JDK(一般情况下这一步都可以省略)由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。

所以为了使得我们刚才安装好的JDK版本能成为默认的JDK版本,我们还要进行下面的配置。

执行下面的命令:sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_60/bin/java 300sudo update-alternatives --install /usr/bin/javacjavac /usr/lib/jvm/jdk1.7.0_60/bin/javac 300注意:如果以上两个命令出现找不到路径问题,只要重启一下机器在重复上面两行代码就OK了。

执行下面的代码可以看到当前各种JDK版本和配置:sudo update-alternatives --config java2.5测试在linux命令行,使用java -version来查看java版本关闭防火墙以及配置主机名2.23SSH主要通过RSA算法来产生公钥与私钥,在数据传输过程中对数据进行加密来保障数据的安全性和可靠性,公钥部分是公共部分,网络上任一结点均可以访问,私钥主要用于对数据进行加密,以防他人盗取数据。

总而言之,这是一种非对称算法,想要破解还是非常有难度的。

Hadoop集群的各个结点之间需要进行数据的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop采用的是ssh的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然,如果hadoop对每个结点的访问均需要进行验证,其效率将会大大降低,所以才需要配置SSH免密码的方法直接远程连入被访问结点,这样将大大提高访问效率。

namenode节点配置免密码登陆其他节点,每个节点都要产生公钥密码,Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:a. 每个节点分别产生密钥# 提示:(1):.ssh目录需要755权限,authorized_keys需要644权限;(2):Linux防火墙开着,hadoop需要开的端口需要添加,或者关掉防火墙;(3):数据节点连不上主服务器还有可能是使用了机器名的缘故,还是使用IP地址比较稳妥。

4 b. name01(192.168.85.128)主库上面:namenode主节点hadoop账户创建服务器登陆公私钥:mkdir -p /home/hadoop/.sshchownhadoop.hadoop -R /home/hadoop/.sshchmod 755 /home/hadoop/.sshsu - hadoopcd /home/hadoop/.sshssh-keygen -t dsa -P '' -f id_rsa注意这里rsa[hadoop@name01 .ssh]$ ssh-keygen -t rsa5如果错误执行:setenforce 06Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:7[hadoop@name01 .ssh]$ cat id_rsa.pub >>authorized_keys8data01和data02执行以上相同的操作,生产authorized_keys9 c. 构造3个通用的authorized_keys在name01(192.168.85.128)上操作:su - hadoopcd /home/hadoop/.sshscp hadoop@data01:/home/hadoop/.ssh/id_rsa.pub ./id_dsa.pub.data01scp hadoop@data02:/home/hadoop/.ssh/id_rsa.pub ./id_dsa.pub.data02cat id_rsa.pub.data01 >>authorized_keyscat id_rsa.pub.data02 >>authorized_keys10cat authorized_keys11看到authorized_keys文件里面有3行记录,分别代表了访问name01,data01,data02的公用密钥。

把这个authorized_keys公钥文件copy到data01和data02上面同一个目录下。

12copy文件authorized_keys,然后通过hadoop远程彼此连接name01、data01、data02就可以免密码scpauthorized_keys hadoop@data01:/home/hadoop/.ssh/scpauthorized_keys hadoop@data02:/home/hadoop/.ssh/然后分别在name01、data01、data02以hadoop用户执行权限赋予操作su - hadoopchmod 600 /home/hadoop/.ssh/authorized_keyschmod 700 -R /home/hadoop/.ssh13测试ssh免秘钥登录,首次连接的时候,需要输入yes,之后就不用输入密码直接可以ssh过去了。

14 d. 验证name01、data01、data02任何ssh免密码登录[hadoop@data02 ~]$ ssh name01Last login: Thu Aug 21 02:38:46 2014 from data02[hadoop@name01 ~]$ ssh data01Last login: Thu Aug 21 02:30:35 2014 from localhost.localdomain[hadoop@data01 ~]$ ssh data02Last login: Thu Aug 21 02:32:57 2014 from localhost.localdomain[hadoop@data02 ~]$ ssh data01Last login: Thu Aug 21 02:39:55 2014 from name01[hadoop@data01 ~]$ ssh name01Last login: Thu Aug 21 02:39:51 2014 from data02[hadoop@name01 ~]$ ssh data02Last login: Thu Aug 21 02:39:58 2014 from data01[hadoop@data02 ~]$注意:安装ssh免密码登录的时候ssh-keygen -t rsa中rsa是一种加密方式,还有一种dsa,每台机器上要采用相同的方式解决ssh配置无密码登陆后再次出现请求输入密码的情况引用于/Linux/2013-02/79158.htm主机ip:192.168.163.100(hostname:node0)ssh无密码登陆的远程机ip:192.168.163.101(hostname:node1)首先要修改主机和ssh连接到的远程机的配置文件:vi /etc/ssh/sshd_config(要确保这些字符前无注释符号“#”)RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keysPasswordAuthentication yesPeimitEmptyPasswords yes1.在本地机上输入命令:ssh-keygen -t rsa2.接着一路按回车,默认情况下ssh生成的公密钥会被存储到/root/.ssh这个文件夹下,分别为id_rsa和id_rsa.pub3.在本地机上创建文件authorized_keystouch /root/.ssh/authorized并将公钥追加到authorized_keys文件中:cat id_rsa.pub >>authorized_keys4.修改文件夹/root/.ssh的权限:(本地机和远程机都要修改)chmod 700 /root/.ssh5.修改文件的属性:chmod 600 /root/.ssh/authorized_keys6.将公钥复制到ip地址为192.168.163.101的远程机上:ssh-copy-id -i /root/.ssh/id_rsa/pub root@192.168.163.101笔者在输入命令时已经在远程主机上创建了文件夹及文件如下:/root/.ssh/authorized_keys并且,已经按上文修改了权限/.ssh (700) /.ssh/authorized(600)(实践证明在传送公钥时,这个命令好于scp命令)7.在本地机上执行命令:ssh-add /root/.ssh/id_rsa这个是为了将公钥添加进来。

相关文档
最新文档