终于开始学习大数据了,工欲善其事必先利其器。要想学得好,平台不可少。现在开始万里长征第一步之搭建hadoop平台。
要准备的东西:
(1)VMware Workstation Pro(网上随便找个注册码注册一下就好了)
(2)ubuntun18.0
(3)hadoop2.8.2
(4)jdk
(5)winscp(复制文件什么的太麻烦)
东西准备好之后开干,第一步安装ubuntun,这里就不细说了。反正我当时没有选择安装中文语言,不要问我是怎么知道。
装好两台:一台配了6G的内存,一台2G的内存。
具体安装流程如下:
选定一台机器作为 Master,安装 SSH server、安装 Java 环境
在 Master 节点上安装 Hadoop,并完成配置
在其他 Slave 节点上安装 SSH server、安装 Java 环境
将 Master 节点上的 /usr/local/hadoop 目录复制到其他 Slave 节点上
在 Master 节点上开启 Hadoop
打开主节点虚拟机,输入''ifconfig'' 找到IP地址。用winscp登陆之后,将hadoop和jdk文件上传之后,就可以开始搭建了哦。
(1)安装Java环境,默认情况是将Java环境安装在/usr/java 下
mkdir /usr/java 创建文件夹,将·jdk文件放入进去。
tar -zxvf jdk******* 解压之后安装。
配置环境信息,
vim ~/.bashrc
export JAVA_HOME=/usr/java/jdk***
source ~/.bashrc
安装SSH,这玩意就是用来跟SLave通信的。同样的事情要在Slave上面再做一遍。
vim /etc/hosts
vim /etc/hostname
将名称改成上述所示,同样的事情在Slave上面也要再来一次。做完之后重启一次,这样就能看到名字的变化了。重启好了之后:
ping Slave1 看看是否能够联接。
上面的操作是为了后面可以无密码单独SSH登陆,首先在Master节点上生成公钥。
cd ~/.ssh
ssh-keygen -t rsa 一直回车
cp ./id_rsa.pub >> ./authorized_keys
scp ~/.ssh/id_rsa.pub caoliang2@slave1:/home/caoliang2/
mkdir ~/.ssh
cp ~/.id-rsa.pub >> ~/.ssh/authorized_keys
最后 ssh Slave1 测试一下是否能够连接上。
以上所有都安装好了之后,就可以开始安装hadoop了。
在/usr/local/ 下安装hadoop将安装包安装到这里,然后将其中的五个文件:slaves、[core-site.xml]、[hdfs-site.xml]、[mapred-site.xml]、[yarn-site.xml]
1.Slave
文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。
2.core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
4.mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
</configuration>
5.yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
所有文件全部配置好之后,将这个完整的hadoop文件夹拷到各个节点上的/usr/local/上。
在首次执行MAster节点上必须要先执行一次
/usr/local/hadoop/bin/hdfs namenode -format
接下来就可以在sbin下面执行
(1)start-dfs.sh(start—all.sh)已经不用了。
(2)start-yarn.sh
通过jps 查看各个节点的启动情况。或者用netstat -nltp查看这个端口的启动情况。
基本上伪分布式的hadoop已经搭建起来了。