您好,登录后才能下订单哦!
请看上一篇linux 的安装。
环境:centos6.5 3台主机 (复制主机,可以直接复制虚拟机文件)一台为主,复制的为从。
master-ip:192.168.237.10 slave1-ip:192.168.237.11 slave2-ip:192.168.237.12
上网调试: 分别进入slave1 和 slave2 里面的 ifcfg-eth0 文件下修改 IPADDR 分别为 11 和 12.
进入secureCRT,添加 slave1和slave2 的连接端口(填写 ssh3下的hostname 和 username 属性)
然后进入3台主机 。测试是否可以上网。(如果复制的不可以。可以采取删除网卡重新添加试试^_^)
软件包:jdk-6u45-linux-x64.bin hadoop-1.2.1-bin.tar.gz
步骤一:安装jdk,配置java运行环境
1.可以使用rz 命令上传jdk-6u45-linux-x64.bin
2.可以在wmware里面设置(右击标题--设置--文件共享打开并且指定共享文件位置)
复制程序到/usr/local/src 目录下
# cp jdk-6u45-linux-x64.bin /usr/local/src/
# ll jdk-6u45-linux-x64.bin(查看权限看是否有X 权限)
#./jdk-6u45-linux-x64.bin(安装jdk)
3.配置java
# vim ~/.bashrc
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/bin
export PATH=.:$PATH:$JAVA_HOME/bin
# source ~/.bashrc (使刚才配置生效)
4.测试java
在任意目录下 # java (如果命令生效则代表成功。否则从新回到第一步。检查)
下面配置另外两台slave的 java环境
# scp -rp /usr/local/src/jdk1.6.0_45 192.168.237.11:/usr/local/src
# scp -rp /usr/local/src/jdk1.6.0_45 192.168.237.12:/usr/local/src
(这里选项 -r: 递归复制整个目录。-p:保留原文件的修改时间,访问时间和访问权限。)
然后分别修改 环境变量设置 ~/.bashrc 文件 同上面的。
步骤二:hadoop相关配置文件信息解析,配置
一 概述:
(1)Hadoop MapReduce采用Master/Slave结构。
*Master:是整个集群的唯一的全局管理者,功能包括:作业管理、状态监控和任务调度等,即MapReduce中的JobTracker。
*Slave:负责任务的执行和任务状态的回报,即MapReduce中的TaskTracker。
二 JobTracker剖析:
(1)概述:JobTracker是一个后台服务进程,启动之后,会一直监听并接收来自各个TaskTracker发送的心跳信息,包括资源使用情况和任务运行情况等信息。
(2)JobTracker的主要功能:
1.作业控制:在hadoop中每个应用程序被表示成一个作业,每个作业又被分成多个任务,JobTracker的作业控制模块则负责作业的分解和状态监控。
*最重要的是状态监控:主要包括TaskTracker状态监控、作业状态监控和任务状态监控。主要作用:容错和为任务调度提供决策依据。
2.资源管理。
三 TaskTracker剖析:
(1)TaskTracker概述:TaskTracker是JobTracker和Task之间的桥梁:一方面,从JobTracker接收并执行各种命令:运行任务、提交任务、杀死任务等;另一方面,将本地节点上各个任务的状态通过心跳周期性汇报给JobTracker。TaskTracker与JobTracker和Task之间采用了RPC协议进行通信。
(2)TaskTracker的功能:
1.汇报心跳:Tracker周期性将所有节点上各种信息通过心跳机制汇报给JobTracker。这些信息包括两部分:
*机器级别信息:节点健康情况、资源使用情况等。
*任务级别信息:任务执行进度、任务运行状态等。
2.执行命令:JobTracker会给TaskTracker下达各种命令,主要包括:启动任务(LaunchTaskAction)、提交任务(CommitTaskAction)、杀死任务(KillTaskAction)、杀死作业(KillJobAction)和重新初始化(TaskTrackerReinitAction)。
hadoop 集群中有两种节点,一种是namenode,还有一种是datanode。
其中datanode主要负责数据的存储,namenode主要负责三个功能,分别是(1)管理元数据 (2)维护目录树 (3)响应客户请求
hadoop的安装配置:同样把hadoop-1.2.1-bin.tar.gz拷贝到 /usr/local/src/
解压: # tar zxvf hadoop-1.2.1-bin.tar.gz
进入hadoop-1.2.1创建hadoop运行所需的临时文件 tmp
# cd hadoop-1.2.1 && mkdir tmp
修改配置文件:
1. # vim master
master
2. # vim slaves
slave1
slave2
3. # vim core-site.xml (设置tmp目录和 namenode节点)
####添加如下内容
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-1.2.1/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.237.10:9000</value>
</property>
4.#vim mapred-site.xml(配置 jobtracker)
#####添加如下内容
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.237.10:9001</value>
</property>
5. #vim hdfs-site.xml
##########添加如下内容
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
6.# vim hadoop-env.sh
最结尾添加:export JAVA_HOME=/usr/local/src/jdk1.6.0_45
# source hadoop-env.sh
检查下,修改配置文件是否完成。
然后复制给给slave1和slave2
# scp -rp hadoop-1.2.1 slave1:/usr/local/src/(这里的slave1 是这192.168.237.11机器配置完hostname后使用。)
# scp -rp hadoop-1.2.1 slave2:/usr/local/src/(如果没有配置hostname,请使用ip地址)
配置master的DNS和hosts
# vim /etc/hosts
### 添加如下
192.168.237.10 master
192.168.237.11 slave1
192.168.237.12 slave2
# vim /etc/sysconfig/network
HOSTNAME=master
# hostname master
slave1和slave2的修改:
# vim /etc/hosts
192.168.237.10 master
192.168.237.11 slave1
192.168.237.12 slave2
slave1:
# vim /etc/sysconfig/network
HOSTNAME=slave1
# hostname slave1
slave2:
# vim /etc/sysconfig/network
HOSTNAME=slave2
# hostname slave2
步骤三:下面需要主机之间进行免密码登录;配置openssl
建议先关闭防护墙和selinux
# /etc/init.d/iptable stop
# setenforce 0
进入master主机:
# ssh-keygen (然后一路回车即可)
# cd ~/.ssh/ (查看是否生成公钥文件)
# cat id_rsa.pub >authorized_keys (authorized_keys 是认证文件,存放公钥。是一个3台主机都共同需要的)
依次进入slave1和slave2 主机:
# ssh-keygen
# cd ~/.ssh/
分别把slave1 和 slave2的 id_rsa.pub 文件里面的内容 复制给 master里面的authorized_keys
然后进入将master里面的 ~/.ssh/authorized_keys 分发给slave1和 slave2 中的 ~/.ssh/ 目录下
步骤四:启动hadoop
# ./hadoop namenode -format (初始化namenode)
# ./start-all.sh (启动hadoop)
# jsp (查看信息)
如果有异常请重点检查配置文件
下面是几条简单的hadoop命令
# cd /usr/local/src/hadoop-1.2.1/bin
#./hadoop fs -ls /
# ./hadoop fs -put /usr/local/src/hadoop-1.2.1/README.txt /
# ./hadoop fs -ls /
-rw-r--r-- 3 root supergroup 1366 2018-03-26 18:57 /README.txt
如果,你觉得可以请继续关注。陆续会有系列跟新。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。