本篇文章将从头开始介绍Hadoop大数据平台的一系列搭建工作,主要是搭建的具体操作步骤,思想方面涉及甚少,可以自行补充
我使用的是VMware station12,下载地址为链接:http://pan.baidu.com/s/1geX11pL 密码:uylp
本软件为注册软件现提供一个注册码AV5R2-8LW53-484RP-H5YQZ-XU8RF
,大家也可以自行百度。
因为工作中常用的为不带可视化界面的版本,现提供一个centos6.8_64下载,地址点我
打开安装好的VMware station,右键选择新建虚拟机,选择典型安装。 选择稍后安装操作系统,点击下一步
选择linux操作系统,版本为CentOS64位
输入计算机名称以及你想要安装的位置
指定磁盘容量,这里要说明的是你选择的20G并不会一下占用你20G的硬盘空间,而是跟随你虚拟机大小进行变化的
点击完成即可
此时你会发现在你VMwarestation左面有了安装的虚拟机,现在需要做两件事。
设置完成后选择开启此虚拟机,进入系统安装界面。这里需要注意的就是skip测试你的安装媒体。剩下的都是可视化的安装,自己选择就可以。
vi /etc/sysconfig/network
,修改内容NETWORKING=yes
HOSTNAME=node-1
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.213.100
NETMASK=255.255.255.0
这里需要注意的是ip地址的设置,首先你需要查看你的网络连接方式,我采用默认的NAT模式,从下图可以看到子网地址为192.168.213.0,因此我设置的为192.168.213.100。另外如果你想让虚拟机联网需要设置gateway和dns。
配置好后用service network restart
重启网络服务,用ifconfig
可以查看是否配置成功。然后可以在Windows上ping该ip查看是否可以ping通。ping通后就可以使用putty或者SecureCRT连接虚拟机了。
vi /etc/hosts
打开hosts文件,新增一行192.168.213.100 node-1
最后reboot或者通过hostname node-1
以及exit
,使我们配置的主机名生效
rm -rf /etc/udev/rules.d/70-persistent-net.rules
然后用halt
关机做大数据肯定不可能只有一个虚拟机,我们现在用配置好的这台机器,克隆出几台虚拟机出来。
service network restart
命令时出现以下错误,则可能是没有删除模板机Mac地址与网卡映射文件,注意这个文件每次启动都会自动生成的。解决方法是rm -rf /etc/udev/rules.d/70-persistent-net.rules
删除该文件然后重启
都修改完成后可以用一台虚拟机依次ping其它虚拟机,可以ping通即可在101机器上修改hosts文件,完成主机名和ip地址映射
ssh-keygen –t rsa
执行上面的命令后,输入四个回车ssh-copy-id 192.168.213.102
执行上面的命令第一次要输入第二台机器的密码scp /etc/hosts root@192.168.213.102:/etc
,现在可以将修改好的hosts文件发送到其他具有公钥的机器。
注意这种免密码登录是单向的,如果想相互免密码登录则需要在每一台机器上都生成一个公钥和一个私钥。现在我们有四台机器,分别为node-1,node-2,node-3,node-4,我们要做成下图形式的架构。第一台作为主节点,其他三台作为从节点
将安装包上传到虚拟机上
mkdir /usr/java
tar -zxvf jdk.tar.gz -C /usr/java
vi /etc/profile
,按G到文件末尾,按o插入一行,加入下面语句
export JAVA_HOME=/usr/java/jdk1.8.0_111
export PATH=$PATH:$JAVA_HOME/bin
执行source /etc/profile
重新加载环境变量scp –r /usr/java/ node-2:/usr
scp /etc/profile node-2:/etc
mkdir /bigdata
tar -zxvf hadoop-2.6.5.tar.gz -C /bigdata/
cd /bigdata/hadoop-2.6.5/etc/hadoop
修改第1个配置文
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_111
修改第2个配置文件
vi core-site.xml
<configuration>
<!-- 配置hdfs的namenode(老大)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-1:9000</value>
</property>
<!-- 配置Hadoop运行时产生数据的存储目录,不是临时的数据 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/bigdata/hadoop-2.6.5/tmp</value>
</property>
</configuration>
修改第3个配置文件
vi hdfs-site.xml
<configuration>
<!-- 指定HDFS存储数据的副本数据量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
修改第4个配置文件
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
<!-- 指定mapreduce编程模型运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改第5个配置文件
vi yarn-site.xml
<configuration>
<!-- 指定yarn的老大(ResourceManager的地址) -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-1</value>
</property>
<!-- mapreduce执行shuffle时获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
第6个配置文件slaves
vi slaves
原来的localhost要删掉
node-2
node-3
node-4
将配置好的Hadoop安装包拷贝到其他服务上
scp -r /bigdata node-2:/
scp -r /bigdata node-3:/
scp -r /bigdata node-4:/
在第一台机器(NameNode所在的机器)上对hdfs进行初始化(格式化HDFS)
cd /bigdata/hadoop-2.6.5/bin/
./hdfs namenode -format
配置自己到自己的免密码登录,输入当前机器的密码
ssh-copy-id node-1
在第一台机器(NameNode所在的机器)上对hdfs进行初始化(格式化HDFS)
cd /bigdata/hadoop-2.6.5/bin/
./hdfs namenode -format
格式化成功的标志是出现以下提示
Paste_Image.png
配置自己到自己的免密码登录,输入当前机器的密码 ssh-copy-id node-1
cd /bigdata/hadoop-2.6.5/sbin/
./start-dfs.sh
./start-yarn.sh
可以使用jps检查进程是否存在
node1
node2
也可以访问网页测试 访问hdfs的管理界面 192.168.213.101:50070
访问yarn的管理界面 192.168.213.101:8088
Paste_Image.png
关闭hdfs/yarn服务
./stop-dfs.sh
./stop-yarn.sh
上传文件
/bigdata/hadoop-2.6.5/bin/hdfs dfs -put /root/install.log hdfs://node-1:9000/
查看文件信息
/bigdata/hadoop-2.6.5/bin/hdfs dfs -ls hdfs://node-1:9000/
查看现在DataNode情况可以在Hadoop的bin目录下执行./hdfs dfsadmin -report
,可以看到存活的DataNode。现在为3个。
下面为扩容的具体步骤: