1、前置需要
三台云服务器,分别命名为node1,node2,node3
2、功能描述
node1:namenode、sourcemanage
node2:secondarynamenode、datanode、datamanage
node3:datanode、datamanage
3、技术介绍
本次搭建的是hadoop集群环境,hadoop是一个分步式文件系统和分步式计算平台,环境搭建好后,不管是文件系统还是分步式计算你都能使用。想搭建的伙伴必须先懂hadoop概念,然后才能进行接下来的操作。了解hadoop后,我们还需要对namenode、datanode、secondarynamenode、sourcemanage、datamanage有充分的了解,知道这些我们才能着手hadoop的配置工作。这些都明白后,恭喜你能进行接下来的搭建工作了!
4、开始搭建
1. 配置主机印射
输入命令vim /etc/hosts,文本中写入以下代码,注意三台主机都需要执行该操作
外网ip node1
外网ip node2
外网ip node3
2. 配置环境路径
输入命令vim /etc/profile,文本最后输入以下代码,成功后输入命令source /etc/profile
export JAVA_HOME=/usr/java/jdk8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/hadoop271
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3. 下载解压jdk8
三台服务器都需要有jdk环境
4. 下载解压hadoop271
三台服务器都需要有hadoop文件,方便后面配置
5. 免密钥设置
因为hadoop集群工作时,node1会与node2、node3之间进行通信,所以需要开启免密钥设置,否则每次通信时都需要手动输入密码,hadoop集群就无法工作。注意这里只展示node1与node2之间的设置,node1和node3的设置类似。
1.node1执行命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub node2:/tmp/
成功后输入命令ssh root@node1看是否能登录
2.node2执行命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
成功后先输入命令ssh root@node2看是否能登录,然后再到node1中输入命令ssh root@node2看是否能登录,登录成功即配置完成
6. 配置hadoop集群
1.编辑hadoop-env.sh文件,修改如下代码
2.编辑core-site.xml文件,configuration中添加如下代码
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoopdata</value>
</property>
3.编辑hdfs-site.xml文件,configuration中添加如下代码
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>wgf-huawei-node2:55360</value>
</property>
4.重命名mapred-site.xml.template文件为mapred-site.xml,并在configuration中添加如下代码
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.编辑yarn-site.xml文件,configuration中添加如下代码
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>0.0.0.0:50032</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>0.0.0.0:50088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
6.编辑slaves文件,去掉原有代码,添加如下代码
node2
node3
7.新增master文件,添加如下代码
node2
8.执行以下命令,发送修改后的文件到node2、node3主机
scp -r /usr/local/hadoop271/etc/hadoop node2:/usr/local/hadoop271/etc/
scp -r /usr/local/hadoop271/etc/hadoop node3:/usr/local/hadoop271/etc/
9.执行以下命令,格式化namenode
hdfs namenode -format
10.执行以下命令,启动hadoop集群
start-all.sh
7. 使用hadoop集群
1.hadoop集群拥有web访问接口和api编程接口,以下列举几个常用的接口
- http://123.60.219.60:50070
- hdfs://123.60.219.60:9000 编程接口
- http://139.9.59.81:55360
- http://123.60.219.60:50088
8. 关闭hadoop集群
stop-all.sh
9.总结
到此为止,hadoop集群就搭建完成了,恭喜我们进入到大数据的学习,相信在接下来的学习过程中,我们会更上一层楼!