对于电脑性能不理想的同学来说,要想搭建hadoop集群可能就会失败,
本文主要介绍如何在Centos6.5 虚拟机上成功搭建伪分布式Hadoop平台。
目录
一.配置Linux模板机
1.1 禁用桌面
由于启动桌面会占用大量资源,所以选择禁用
vim /etc/inittab
将启动级别d:5 改为id:3
保存退出(ESC 加:wq或者shift加zz)
init 6 重启
1.2 配置网络
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.129.101
NETMASK=255.255.255.0
GATEWAY=192.168.129.2
DNS1=192.168.129.2
重启network服务 service network restart
1.3 关闭防火墙
service iptables stop 临时关闭
chkconfig iptables off 永久关闭
chkconfig 查看系统进程状态
1.4 安装JDK
有的自带JDK较老,可以卸载,方法如下:
rpm -qa|grep java
rpm -e --nodeps 查询到的包名
安装新的JDK
上传解压 JDK,笔者为1.8
配置环境变量:
vim /etc/profile
例如:
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=.:$PATH:$JAVA_HOME/bin
source /etc/profie 刷新
1.5 切换yum源
国内下载外网文件较慢,所以可以切换使用阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache
1.6 时间同步
安装ntp服务:
yum install ntp
设置时间同步:
ntpdate -u s2c.time.edu.cn
至此,一台模板机配置完毕,关闭模板机,在VMware Workstation 里选择模板机,右击,管理-克隆。链接克隆和完整克隆都可以,占用资源大小不一样。
二. 克隆虚拟机
2.1 修改主机名
vim /etc/sysconfig/network
2.2 删除网卡配置
rm -rf /etc/udev/rules.d/70-persistent-net.rules
2.3 配置hosts
vim /etc/hosts 添加:
192.168.129.101 node1
2.4 修改ip地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.129.101
NETMASK=255.255.255.0
GATEWAY=192.168.129.2
DNS1=192.168.129.2
2.5 重启
init 6 或者reboot
三. 单节点搭建
3.1上传解压配置环境变量
上传解压 tar -zxvf hadoop-2.6.0.tar.gz
配置环境变量:
export HADOOP_HOME=/usr/local/soft/hadoop-2.6.0
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
3.2 配置免密钥登陆
ssh-keygen -t rsa
ssh-copy-id node1
cd /root
cd ./.ssh/
cat ./id_rsa.pub >> ./authorized_keys
3.3修改hadoop配置文件
cd /usr/local/soft/hadoop-2.6.0/etc/hadoop/
vim core-site.xml 增加:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
增加hdfs配置文件
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
增加yarn配置文件
vim yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
</configuration>
修改mr配置文件
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
</configuration>
修改从节点列表
vim slaves
改成node1
修改JAVA_HOME
vim hadoop-env.sh
加上:
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
3.4初始化集群
hdfs namenode -format
3.4 启动集群
start-all.sh
之后jps查看进程,若:
则搭建成功。
如果第一次启动失败了,请重新检查配置文件或者哪里步骤少了。
再次重启的时候
需要手动将每个节点的tmp目录删除:
rm -rf /usr/local/soft/hadoop-2.6.0/tmp
然后执行将namenode格式化
在主节点执行命令:
./bin/hdfs namenode -format
搭建全分布式步骤基本一样,只是少数文件配置不同。