大数据项目开发实训报告
一、Hadoop环境搭建
"三台虚拟机 主机名分别为: hadoop101 hadoop102 hadoop103"
集群规划
hadoop101 hadoop102 hadoop103
修改主机名
进入linux下的/etc/hostname
在文件中写入 hadoop101
其他两台同理即可
1: jdk的安装
1):在linux系统下的opt目录下创建software 和 module 两个目录
mkdir module
mkdir software
2):利用filezilla工具将 jdk、hadoop-2.5.0-cdh5.3.6.tar.gz 导入到opt目录下面的software文件夹下面
3)在linux下查看是否上传成功
4)解压jdk到/opt/module目录下
tar -zxvf jdk-8u121-linux-x64.gz -C /opt/module/
5)配置jdk环境变量
(1)获取jdk的路径
pwd
(2) 测试jdk是否安装成功
java-version
2: Hadoop
1)解压安装文件到module下面
tar -zxf hadoop-2.5.0-cdh5.3.6.tar.gz -C /opt/module/
2)配置/opt/module/hadoop-2.5.0-cdh5.3.6/etc/hadoop中的hadoop-env.sh
(1)linux系统中获取jdk的路径
echo $JAVA_HOME
(2)修改hadoop-env.sh中的JAVA_HOME路径:
export JAVA_HOME=/opt/module/jdk1.8.0_121
3)配置core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
</property>
4)配置:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop103:50090</value>
</property>
5)Slaves(配置哪几台是datanode)
hadoop101
hadoop102
hadoop103
6) 配置yran
(1) yran.enx.sh
export JAVA_HOME=/opt/module/jdk1.8.0_121
(2) yarn.site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop102</value>
</property>
</configuration>
7)mapreduce
(1)mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_121
(2)mapred-site.xml
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3: zookeeper搭建
1)上传zookeeper-3.47.tar.gz到hadoop101主机software目录下
2)解压文件到module下:
tar -zxvf zookeeper-3.4.7.tar.gz /opt/module
3)在hadoop101下 进入zookeeper-3.4.7.tar.gz主目录下的conf目录 复制配置文件并配置
cp zoo_sampl.cfg zoo.cfg
vi zoo.cfg
dataDir=/opt/software/zookeeper-3.4.7/tmp
clientPort=2181
server.1=192.168.60.101:2888:3888
server.2=192.168.60.102:2888:3888
server.3=192.168.60.103:2888:3888
在hadoop101的zookeeper-3.4.7主目录下面,创建目录tmp
mkdir tmp
进入到tmp目录创建myid文件 编辑内容为 1
分发文件之后 在hadoop102 和103 上进行同样的操作 (在hadoop101的zookeeper-3.4.7主目录下面,创建目录tmp 在tmp下创建myid 并编辑内容为2和3)
4)启动zookeeper
在每一台机器上都要启动zk的服务端
进入zookeeper-3.4.7:
bin/zkServer.sh start
4: 分发文件
利用scp将 hadoop101中/opt/module 和/opt/softwae 文件拷贝到hadoop102 和hadoop103上
scp -r /opt/module/ root@hadoop102:/opt
scp -r /opt/software/ root@hadoop102:/opt
scp -r /opt/module/ root@hadoop103:/opt
scp -r /opt/software/ root@hadoop103:/opt
5: 免密登录
SSH无密码登录
1)无秘钥配置
cd ~/.ssh
2)生成公钥和私钥
ssh-keygen -t rsa
然后连续敲三个回车 就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
3)将公钥拷贝到要免密的目标机器上即可
ssh-copy-id 192.168.60.101(目标机器的ip)
6: 集群测试
1) 启动
如果是第一次启动 需要 在hadoop-2.5.0-cdh5.3.6格式化namenode
bin/hdfs namenode -format
(1)启动HDFS:
sbin/start-yarn.sh
可以用jps命令查看是否启动成功
(2)启动yarn
sbin/start-yarrn.sh
注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。 所以在这里我们需要在hadoop102 上启动yarn
二、数据爬取
1:MongoDB安装
1)下载页面
https://www.mongodb.com/(下载版本不要太新也不要太旧)
2)安装:
在左下角出现install MongoDB Compass(可视化工具)的时候,将前面的√去掉。如果不去掉,安装过程十分漫长。后续可以重新安装可视化工具
创建数据库存储目录 :F:\MongoDB\data
启动MongoDB服务器
cd E:\MongoDB\Server\4.0\bin
mongod.exe --dbpath = E:\MongoDB\Server\4.0\data\log -- logpath = E:\MongoDB\Server\4.0\data\log
3)安装可视化工具RObo 3T:
下载地址:https://robomongo.org
2:创建项目
打