首先下载好虚拟机,并安装base server版本
我用的是centos 6.8的服务器安装版本
打开虚拟网卡编辑器配置好NAT网卡的网络
配置三台虚拟机eth0网卡
编辑命令
vi /etc/sysconfig/network-scripts/ifcfg-eth0
查看命令
cat /etc/sysconfig/network-scripts/ifcfg-eth0
编辑网卡
node01
DEVICE=eth0
HWADDR=00:0C:29:05:50:D1
TYPE=Ethernet
UUID=8270ad9a-7cdb-43e9-8202-6b5213d60a1c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.101
NETMASK=255.255.255.0
GATWAY=192.168.1.1
DNS1=192.168.1.2
node02
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.102
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.2
node03
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.103
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
配置域名解析
编辑命令
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.102 node02 192.168.1.103 node03
其它两台主机配置类似
确认是否互相可以联通
SSH免密钥登录
执行命令生成公钥和私钥
ssh-keygen -t rsa
执行ssh-copy-id -i 将公钥文件传输给远程的主机,输入远程主机对应的密码。
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.102
执行登录远程主机
ssh root@192.168.1.102
配置成功如下所示
配置安装JDK
下载JDK1.8 可能需要账号登录
感谢: 提供分享
账号:2696671285@qq.com 密码:Oracle123
安装服务器上传工具,使用WinSCP
之前不小心配错了,没有配置好网卡,只能主机和虚拟机之间相互访问,不能链接外网,就不再回去更改了,可以使用WinScp
上传到root/software
解压
tar -zxvf jdk-8u271-linux-aarch64.tar.gz
配置jdk环境变量
vim /etc/profile
追加如下内容
export JAVA_HOME=/root/jdk1.8.0_251 #jdk安装目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
让配置文件立即生效
source /etc/profile
测试
javac
我发现系统自带的有!!! 不知道可不可以做实验用来,先不管,到时候不可以在卸载了重装这一个
搭建Hadoop大数据平台
下载hadoop,选择cdh版本的 下载地址 也可以从我上传的资源里面下载
配置配置hadoop-env.sh (此文件位于${HADOOP_HOME}/etc/hadoop/目录下)
在此文件中只配置JDK路径即可
/root/jdk1.8.0_251
配置core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.101:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/services/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas</value>
</property>
<!-- 缓冲区大小,实际工作中根据服务器性能动态调整 -->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
配置hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>node01:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///services/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas</value>
</property>
<!-- 定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割
-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///services/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///services/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///services/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///services/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
</configuration>
配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node01:19888</value>
</property>
</configuration>
配置yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</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>
</configuration>
配置slaves文件
node01
node02
node03
注意:
- /service/datenode下的文件在重复格式化后应该删掉
- 必须配置JAVA_HOME环境变量
- 检查防火墙状态,影响访问到你得集群从外部主机
# 查看防火墙状态service iptables status # 停止防火墙 service iptables stop # 启动防火墙 service iptables start # 重启防火墙 service iptables restart # 永久关闭防火墙 chkconfig iptables off # 永久关闭后重启 chkconfig iptables on
格式化启动集群,检查是否搭建成功
格式化namenode节点(只需格式化一次)
cd ~/services/hadoop-2.6.0-cdh5.14.0/bin
./hdfs namenode -format
启动集群
cd ~/services/hadoop-2.6.0-cdh5.14.0/sbin
启动hdfs:
./start-dfs.sh
启动yarn:
./start-yarn.sh
验证:
http://192.168.1.101:50070