1.配置集群机器之间ssh免密码登录
(1)
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
将id_dsa.pub 公钥 加入授权的key中去
这条命令的功能是把公钥加到用于认证的公钥文件中,这里的authorized_keys 是用于认证的公钥文件
(2)
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
(3)
这样就把登陆本机的密钥加入公钥之中,以后登陆本机就无需输入密码了,但是集群之间还是不能免密码登陆,我们还要把集群之中其他机器登陆的密钥文件id_dsa.pub加入authorized_keys之中。
我们集群的组成是3台机器,分别是master,slave1,slave2,我们在3台主机上执行上述命令,这样集群中每台主机都生成了id_dsa.pub文件,我们将slave1与slave2主机的id_dsa.pub文件内容都加入master主机的authorized_keys文件中,处理之后,master主机的authorized_keys文件就像这样:
ssh-dss AAAAB3NzaC1kc3MAAACBAKpCe9woQHMTehKLJA+6GdseAMPGnykirGIzbqqwhU/dHVNMyaxwGrK42c0Sxrtg9Q/zeaAmvbtxjmtVIJ9EImWGH7U0/ijs+PVspGpp1RZoI+5eSBwCUDRF93yT9/hVm/X9mP+k/bETwC7zi1mei+ai/V6re6fTelwS9dkiYHsfAAAAFQCoai5Gh74xcauX8ScXqCZK8FOHVwAAAIAajMwOhEnRSANAtjfFo0Fx2Dhq8VZqGlJzT2xqKQv0VkxqJgE8WNv4IMIIehdhl0kSFE6640zi3B2CZ3muTQxNOK4kxWxi36HhffvLpzcVrme6HVhOGnZFrbqpmo0cLZdK99aMF/TkEF2UhRb6pL2QWAyZgIrZbWm5iGq8W47UsgAAAIAGB3DfhF9GjnrZKIIsIeSrETo1ebJfZK1z7hf3CIHWb51I+gNHVtLZuuljeLIS8oTtKu0IZcI3zvCWWGi+anAhAK+9N/VWppzC75q7Tp+XPw0OAwHeC7OjHnj4oIUYnV8+QQDgK51njl8pwQNcW5ytAr1GXMxfPnq1Do29JW5FDQ==
root@master
ssh-dss AAAAB3NzaC1kc3MAAACBAJN2NYZap/VXLECMgCFXWyvz2uY9ciLwhOhTqnLeX5giJUWfEvvlzpuxzhrMmJdo40Rn6h/ggf2qgrCDo0NM7aaoo3nG2cW3e1mrpkDgpI+qYrNUwtdZ6a2jWs//gourBa359v/8NQgkdPZXw1JCnE3qzLxJQ2YfTPLFMmV7yv01AAAAFQDoIbKLeHjrtgHuCCT6CHbmV69jJwAAAIEAgj9piFkKUDAVeP60YQy3+CI2RSaU1JBopXOuzLJcYZcsZm+z1+b4HKgF23MsK0nEpl0UgnlicGk6GgiulBHTAMoq/GO6Hn5I1tEtXjDKlWG1PaGoH8Wua6GlziyxrZ/0OKjTdJaOirctVFnD/yyoO3xE8jpGzJwqWuScW44W3zQAAACADGFDYzG34Jr3M+BUkB11vGcv6NKeyU/CP/OSx5LGjQwwwD2f0UdSYEAuqvvkccNB9MB10H0OJCSFNGtbULA8kpDXM03q2VkJcJXQcRx+C9QoHCtF1EaM7GFmSuAEegzvv2UR122qXsxsxZIiJXhKZKzbznTIoipm0KEAqp0cz48=
root@slave1ssh-dss AAAAB3NzaC1kc3MAAACBAOLxtxe3HLhc01szJFXktBJUfjnQwan/EvXcalvHv/DX9jsp5OroEclNE9NLzeL+NU9Ax0Jh7zYbyvQ2xK/lW9syfkJWntdwXcpeTBRrH1NX+dV1LentHyvgAj411LHZLfnkYaztXPWB/ux8JK9F6GB16uVWTG1KjCQwo44q5MtFAAAAFQDw/590kNub5MXnQCMBe4ggfK8dmQAAAIAg2GEhEPak+ETd9UekWL/k5168ng9SmA7sWvABs/dVePFdpP2WY+WNOOmyryvvtpsBfEyAM/NCaTsrMWcGorOdAJ4IKyMDl3QLTolelnjBaC8pcHEZ1igKR2JPGDIQSSlBkvB/Q8+qVmwYlHIQnEoYgGOoEokdtmHVMwOR053/hAAAAIB/kGh9FN4ie+5zRmQLiYTDES3ztm/Ik3UU0fOoNWkdeTVAXvp1xXotkQIkeh3bGFHwGfDUjNtTlrS+qqvAQqCpcj8LR8+pQh0UbxT2rZ1AsGviUVoK8mbosJ3eUjcigCCbF3SChy8TYIU7fsAynavqFubsbmV/6HpbHJNyC1+MAA==
root@slave2
然后将master主机处理之后的authorized_keys文件覆盖slave1和slave2主机~/.ssh/ 目录下的authorized_keys文件,这样集群内部各主机都实现了免密码登陆。重启电脑,我们任意选择一个主机,分别ssh 其他两台主机,如果能够不输入密码就能直接登陆,那么就配置成功了。
2.配置hadoop中的一些配置文件
解压 hadoop安装文件至/cloud目录下,如下:
(1)编辑配置文件hadoop-env.sh 指定JAVA_HOME的目录
首先查看一下JAVA_HOME的地址 :
echo $JAVA_HOME
可以知道JAVA_HOME的地址如下:
/usr/lib/jvm/java-1.7.0-openjdk.x86_64
vi /cloud/hadoop-2.2/etc/hadoop/hadoop-env.sh
(2)配置文件core-site.xml,添加以下内容:
vi /cloud/hadoop-2.2/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/cloud/hadoopData</value>
</property>
</configuration>
①设置hdfs的访问地址是hdfs://110.64.76.130:9000,②临时文件的存放地址是/cloud/hadoopData,要注意创建此目录
(3)配置文件hdfs-site.xml
vi /cloud/hadoop-2.2/etc/hadoop/hdfs-site.xml
添加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/cloud/hadoopData/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/cloud/hadoopData/data</value>
</property>
</configuration>
(4)配置文件yarn-site.xml
vi /cloud/hadoop-2.2/etc/hadoop/yarn-site.xml
添加以下内容:
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
<description>host is the hostname of the resource manager and
port is the port on which the NodeManagers contact the Resource Manager.
</description>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
<description>host is the hostname of the resourcemanager and port is the port
on which the Applications in the cluster talk to the Resource Manager.
</description>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
<description>In case you do not want to use the default scheduler</description>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
<description>the host is the hostname of the ResourceManager and the port is the port on
which the clients can talk to the Resource Manager. </description>
</property>
<property>
<name>yarn.nodemanager.address</name>
<value>0.0.0.0:8034</value>
<description>the nodemanagers bind to this port</description>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>10240</value>
<description>the amount of memory on the NodeManager in GB</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>shuffle service that needs to be set for Map Reduce to run </description>
</property>
</configuration>
(5)配置文件 slaves
修改成以下内容:
slave1
slave2
3.将hadoop添加到环境变量
在/etc/profile文件中添加以下内容,并且更新系统配置。
export HADOOP_HOME=/cloud/hadoop-2.2
expoer PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行下述命令,使环境变量设置生效
source /etc/profile
4.将hadoop安装配置文件复制分发到集群的其他主机上
cd /cloud
scp -r hadoop-2.2 root@slave1:/cloud
scp -r hadoopData root@slave1:/cloud
scp -r hadoop-2.2 root@slave2:/cloud
scp -r hadoopData root@slave2:/cloud
5.格式化hdfs文件系统
以下操作在master主机上进行
cd /cloud/bin
hdfs namenode -format
(只需运行一次)
6. 启动每个hadoop节点上的hadoop服务
cd /cloud/hadoop-2.2/sbin
master:
./start-dfs.sh
./start-yarn.sh
slave1与slave2:
在Hadoop 2.x中,MapReduce Job不需要额外的daemo
n进程,在Job开始的时候,NodeManager会启动一个MapReduce Application Master(相当与一个精简的JobTracker),Job结束的时候自动被关闭。
所以无需在slave1和slave2执行命令来启动节点。
7.测试hadoop 集群
可以用浏览器打开NameNode, ResourceManager和各个NodeManager的web界面,
还可以启动JobHistory Server,能够通过Web页面查看集群的历史Job,执行如下命令:
mr-jobhistory-daemon.sh start historyserver
默认使用19888端口,通过访问http://master:19888/查看历史信息。
终止JobHistory Server,执行如下命令:
mr-jobhistory-daemon.sh stop historyserver
9.运行wordcount示例程序
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/root 用于创建用户文件夹,以后如果不指明路径,默认存储在用户目录下
hdfs dfs -put ./test.txt input 将本地目录中的test.txt 文件复制到用户路劲下作为input文件
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount input output
hdfs dfs -cat output/*
10.停止运行hadoop集群
在master上执行:
cd /cloud/hadoop-2.2/sbin
./stop-yarn.sh
./stop-dfs.sh
- 在CentOS 6.3中安装与配置JDK-7
在CentOS 6.3中安装与配置JDK-7 来源:互联网 作者:佚名 时间:02-07 16:28:33 [大 中 小] 在CentOS-6.3中安装与配置JDK-7,有需要的朋友可以参考下 安装说 ...
- 在CentOS 8 Linux中安装使用Cockpit服务器管理软件
在本文中,我们将帮助您在CentOS 8服务器中安装Cockpit Web 控制台,以管理和监视本地系统以及网络环境中的Linux服务器.您还将学习如何将远程Linux主机添加到Cockpit并在Ce ...
- 如何在CentOS 7.x中安装OpenERP(Odoo)
各位好,这篇教程关于的是如何在CentOS 7中安装Odoo(就是我们所知的OpenERP).你是不是在考虑为你的业务安装一个不错的ERP(企业资源规划)软件?那么OpenERP就是你寻找的最好的程序 ...
- 如何在CentOS 5.x 中安装Windows Azure Linux Agent (WALA)
Qing Liu Tue, Mar 10 2015 3:06 AM 在今天的这一个章节中,我们主要讨论在CentOs 5.x 中如何安装Windows Azure Linux Agent 2.11 ...
- 在centos,docker中安装HeadlessChrome
在centos6中安装chrome与chrome-driver,中间走了很多弯路,遇到很多坑,现将详细步骤总结如下.参考博客链接:https://blog.csdn.net/u013849486/ar ...
- 如何在CentOS 7.1中安装VMware Workstation
VMware Workstation在windows环境中大家都会安装,最近公司有个需求是需要在CentOS环境中安装VMware Workstation,上官网查了下还真有Linux版本的,于是就开 ...
- 在centos 64bit 系统中安装使用WPS office的方法
1. 安装32位开发库: yum install xulrunner.i686 yum install libXtst.i686 2. 在官网下载 wps-office-8.1.0.3724-0.1. ...
- 在CentOS 6.7中安装 latex2html, 实现 latex 自动转化为 word
由于latex文档生成的pdf不便于提供审阅和修改,亟需一个软件实现从latex向word文档的自动转换( 如何把Latex自动转为Word 介绍了由latex2html 可实现这个功能,这也是初衷) ...
- centOS 6.7 中安装matlab R2014b
参考资料: [1] http://www.centoscn.com/image-text/config/2014/1222/4354.html 系统: centOS 6.7 2.6.32-573.el ...
随机推荐
- 【项目笔记】拿宽高前measure(widthMeasureSpec, heightMeasureSpec)的使用技巧
我们知道获取宽高一般写法是: view.measure(0, 0); view.getMeasuredHeight(); 拿宽高前什么时候可以直接用measure(0, 0);而什么时候不能用meas ...
- mac编译openssl扩展报错 openssl.c:44:10: fatal error: 'openssl/evp.h' file not found
解决办法 brew link openssl --force 然后 ./configure --with-openssl --with-php-config=/usr/local/php/bin/ph ...
- zf-关于调用页面提示找不到className的原因
多亏了蒋杰 还好他上次告诉我 关于节点的问题 我一看到这个函数就想到了他以前教我的 我这里一开始就调用js函数了 所以没获取到节点 后来把方法换到这里就OK了
- JAVA实现二进制,十六进制输出
public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-gener ...
- 关于有限状态机FSM同步复位的问题
FSM通常情况下使用异步信号进行复位,如FSM1中的rst_n信号.当rst_n信号为低时,FSM进入空闲状态IDLE. 在某些特殊情况下有可能需要跟随某个外部信号强制切换到空闲状态,也即同步复位.下 ...
- 转Y-slow23原则(雅虎)
YslowYahoo发布的一款基于FireFox的插件,主要是为了提高网页性能而设计的,下面是它提倡了23条规则,还是很不错的,分享一下: 1.减少HTTP请求次数 合并图片.CSS.JS,改进首次访 ...
- input输入框和 pure框架中的 box-sizing 值问题
在使用pureCSS框架的时候,遇到一个问题. input输入框,我给他们设置了宽度和padding值,我发现,在火狐和谷歌上面发现,增加padding值并不会影响最终的宽度,而在IE6 7下则会影响 ...
- Kafka 在行动:7步实现从RDBMS到Hadoop的实时流传输
原文:https://coyee.com/article/11095-kafka-in-action-7-steps-to-real-time-streaming-from-rdbms-to-hado ...
- PAT (Advanced Level) 1013. Battle Over Cities (25)
并查集判断连通性. #include<iostream> #include<cstring> #include<cmath> #include<algorit ...
- ecos资源探测器
两种类型的资源探测器 xml文件资源探测器 目录资源探测器 系统内置的资源探测器(核心) 数据库定义目录资源探测器 -base_application_datable 关注dbschema servi ...