关于配置cdh
配置要求如下:
Hadoop 2.x 部署
* Local Mode
* Distributed Mode
* 伪分布式
一台机器,运行所有的守护进程,
从节点DataNode、NodeManager
* 完全分布式
有多个从节点
DataNodes
NodeManagers
配置文件
$HADOOP_HOME/etc/hadoop/slaves
================================================================
三台机器
192.168.80.121 192.168.80.122 192.168.80.123
iflysse01 iflysse02 iflysse03
1.5G 1 G 1G
1 CPU 1 CPU 1 CPU
配置映射
/etc/hosts
192.168.80.121 iflysse01 iflysse01
192.168.80.122 iflysse02 iflysse02
192.168.80.123 iflysse03 iflysse03
=====================================================================
iflysse01 iflysse02 iflysse03
HDFS
NameNode
DataNode DataNode DataNode
SecondaryNameNode
YARN
ResourceManager
NodeManager NodeManager NodeManager
MapReduce
JobHistoryServer
1 首先需要3台虚拟机,如下(我准备了一个全新的虚拟机iflysse04,iflysse05\iflysse06是由iflysse04克隆出来的)
对于第一台虚拟机,需要修改其内存为1.5g,将网络适配器改为仅主机模式。
2.三台虚拟主机完成后,以第一台虚拟主机为例进行如下配置
1. 进入虚拟机1号,打开terminal,输入vim /etc/hosts来更改ip
三台虚拟主机配置ip如下图所示
更改主机名(5,6主机也一样需要修改)
输入指令vim /etc/sysconfig/network-scripts/ifcfg-eth0进入修改界面修改,HWADDR
,IPADDR,GATWAY
输入指令 vim /etc/udev/rules.d/70-persistent-net.rules
并且删除eth0,并且将eth1修改为eth0
其中HWADDR的地址是修改后eth0的地址
三台虚拟机修改完成后输入指令reboot重启。
我们需要在虚拟机中完成文件夹的创建,如下在opt文件夹下面创建app文件夹,softwares文件夹和modules文件夹,并且在softwares文件夹下面创建cdh文件夹
将事先准备好的hadoop-cdh版本和mahout-cdh版本存放到cdh中,将事先准备好的jdk仿佛放入softwares文件夹下,具体如下
分别解压文件,步骤如下
完成解压后需要修改配置文件
输入指令vim /etc/profile
##JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
##MEVEN_HOME
export MAVEN_HOME=/opt/modules/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/app/hadoop-2.5.0-cdh5.3.6
export HADOOP_CONF_DIR=/opt/app/hadoop-2.5.0-cdh5.3.6/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
##MAHOUT_HOME
export MAHOUT_HOME=/opt/app/mahout-0.9-cdh5.3.6
export MAHOUT_CONF_DIR=/opt/app/mahout-0.9-cdh5.3.6/conf
export PATH=$PATH:$MAHOUT_HOME/bin
export classpath=$classpath:$JAVA_HOME/lib:$MAHOUT_HOME/lib:$HADOOP_CONF_DIR:$MAHOUT_CONF_DIR
如图:
然后修改以下文件,如图
修改配置文件:
core-site.xml
修改hadoop-env.sh
修改配置文件hdfs-site.xml
修改配置文件:slaves
修改配置文件:yarn-site.xml
修改配置文件:mapred-env.sh
修改配置文件:mapred-site.xml(其源文件不是mapred-site.xml,mapred-site.xml.template修改而来)
当所有配置文件修改完成后
将opt文件夹下内容传到iflysse06(命令的5一样,将iflysse05改为06而已),iflysse05中,执行命令如下:
以上都完成后,,你只需要最后一步,即是时间同步,步骤如下:
时间同步前需要关闭防火墙,命令如下:
service iptables stop
集群的时间要同步
* 找一台机器
时间服务器
* 所有的机器与这台机器时间进行定时的同步
比如,每日十分钟,同步一次时间
# rpm -qa|grep ntp
# vi /etc/ntp.conf
# vi /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
SYNC_HWCLOCK=yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
[[email protected] hadoop-2.5.0]# service ntpd status
ntpd is stopped
[[email protected] hadoop-2.5.0]# service ntpd start
Starting ntpd: [ OK ]
[[email protected] hadoop-2.5.0]# chkconfig ntpd on
[[email protected] hadoop-2.5.0]# crontab -e
0-59/10 * * * * /usr/sbin/ntpdate iflysse01
一切完成后,需要指令hdfs namenode -format 在四号机中格式化
对于iflysse04中如何开启JobHistoryServer,其指令是 mr-jobhistory-daemon.sh start historyserver
最后的运行结果如下:
关于免秘钥配置: