系列文章目錄
初識(shí)推薦系統(tǒng)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(一)利用用戶行為數(shù)據(jù)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(二)項(xiàng)目主要效果展示——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(三)項(xiàng)目體系架構(gòu)設(shè)計(jì)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(四)基礎(chǔ)環(huán)境搭建——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(五)創(chuàng)建項(xiàng)目并初始化業(yè)務(wù)數(shù)據(jù)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(六)離線推薦服務(wù)建設(shè)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(七)實(shí)時(shí)推薦服務(wù)建設(shè)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(八)綜合業(yè)務(wù)服務(wù)與用戶可視化建設(shè)——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(九)程序部署與運(yùn)行——基于Spark平臺(tái)的協(xié)同過濾實(shí)時(shí)電影推薦系統(tǒng)項(xiàng)目系列博客(十)
項(xiàng)目資源下載
電影推薦系統(tǒng)網(wǎng)站項(xiàng)目源碼Github地址(可Fork可Clone)電影推薦系統(tǒng)網(wǎng)站項(xiàng)目源碼Gitee地址(可Fork可Clone)電影推薦系統(tǒng)網(wǎng)站項(xiàng)目源碼壓縮包下載(直接使用)電影推薦系統(tǒng)網(wǎng)站項(xiàng)目源碼所需全部工具合集打包下載(spark、kafka、flume、tomcat、azkaban、elasticsearch、zookeeper)電影推薦系統(tǒng)網(wǎng)站項(xiàng)目源數(shù)據(jù)(可直接使用)電影推薦系統(tǒng)網(wǎng)站項(xiàng)目個(gè)人原創(chuàng)論文電影推薦系統(tǒng)網(wǎng)站項(xiàng)目前端代碼電影推薦系統(tǒng)網(wǎng)站項(xiàng)目前端css代碼
文章目錄
- 系列文章目錄
- 項(xiàng)目資源下載
- 前言
- 一、環(huán)境配置注意事項(xiàng)
- 二、MongoDBMongoDBMongoDB環(huán)境配置
- 三、RedisRedisRedis環(huán)境配置
- 四、ElasticSearchElasticSearchElasticSearch環(huán)境配置
- 五、AzkabanAzkabanAzkaban環(huán)境配置
- 5.1 安裝GitGitGit
- 5.2 編譯AzkabanAzkabanAzkaban
- 5.3 部署AzkabanSoloAzkaban \quad SoloAzkabanSolo
- 六、SparkSparkSpark環(huán)境配置
- 七、ZookeeperZookeeperZookeeper環(huán)境配置
- 八、Flume?ngFlume-ngFlume?ng環(huán)境配置
- 九、KafkaKafkaKafka環(huán)境配置
- 十、ApacheApacheApache環(huán)境配置
- 十一、TomcatTomcatTomcat環(huán)境配置
- 十二、開發(fā)環(huán)境配置
- 12.1 安裝IDEAIDEAIDEA
- 12.2 安裝PostmanPostmanPostman
- 12.3 安裝NodeJSNodeJSNodeJS
- 12.4 安裝AngularJSCLIAngularJS \quad CLIAngularJSCLI
- 總結(jié)
前言
??上一篇博文主要給大家介紹了整個(gè)系統(tǒng)的架構(gòu)以及整個(gè)項(xiàng)目的數(shù)據(jù)流向。今天的博文就正式開始搭建整個(gè)項(xiàng)目了,當(dāng)然,就如前面所說,后臺(tái)代碼和前端代碼并不在此系列博文的內(nèi)容中,但是代碼都在上面的鏈接,如有需要,自行下載。下面就開始今天的學(xué)習(xí)吧!
一、環(huán)境配置注意事項(xiàng)
??先寫在前面的是要知道整個(gè)項(xiàng)目本來應(yīng)該是用三個(gè)服務(wù)器搭建一個(gè)集群的,但是考慮到復(fù)雜程度最終改為了單節(jié)點(diǎn)的服務(wù)器,那么也就意味著你電腦的配置要求要足夠,這個(gè)是比較吃內(nèi)存的,當(dāng)然cpu最好還是好一點(diǎn),我的硬件配置在第一篇博客已經(jīng)介紹了,但是我建議要做這個(gè)項(xiàng)目,內(nèi)存至少為12G,要不會(huì)很卡,因?yàn)楹笃谛枰獑?dòng)很多東西,相信我!另外,我建議新建一個(gè)非root用戶和一個(gè)root用戶,下面的環(huán)境配置都在非root用戶操作,因?yàn)橛行┸浖牟僮髟趓oot用戶下會(huì)有莫名其妙的問題,比如我下面就用的bigdata這個(gè)非root用戶進(jìn)行操作的,有需要的時(shí)候再切換為root用戶即可!
二、MongoDBMongoDBMongoDB環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過WGET下載Linux版本的MongoDB
[bigdata@linux ~
]$
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz// 將壓縮包解壓到指定目錄
[bigdata@linux backup
]$
tar -xf mongodb-linux-x86_64-rhel62-3.4.3.tgz -C ~/// 將解壓后的文件移動(dòng)到最終的安裝目錄
[bigdata@linux ~
]$
mv mongodb-linux-x86_64-rhel62-3.4.3/ /usr/local/mongodb// 在安裝目錄下創(chuàng)建data文件夾用于存放數(shù)據(jù)和日志
[bigdata@linux mongodb
]$
mkdir /usr/local/mongodb/data/// 在data文件夾下創(chuàng)建db文件夾,用于存放數(shù)據(jù)
[bigdata@linux mongodb
]$
mkdir /usr/local/mongodb/data/db/// 在data文件夾下創(chuàng)建logs文件夾,用于存放日志
[bigdata@linux mongodb
]$
mkdir /usr/local/mongodb/data/logs/// 在logs文件夾下創(chuàng)建log文件
[bigdata@linux mongodb
]$
touch /usr/local/mongodb/data/logs/ mongodb.log// 在data文件夾下創(chuàng)建mongodb.conf配置文件
[bigdata@linux mongodb
]$
touch /usr/local/mongodb/data/mongodb.conf// 在mongodb.conf文件中輸入如下內(nèi)容
[bigdata@linux mongodb
]$
vim ./data/mongodb.conf
dbpath
= /usr/local/mongodb/data/db
logpath
= /usr/local/mongodb/data/logs/mongodb.log
fork
= true
logappend
= true
完成MongoDB的安裝后,啟動(dòng)MongoDB服務(wù)器MongoDB的安裝后,啟動(dòng)MongoDB服務(wù)器MongoDB的安裝后,啟動(dòng)MongoDB服務(wù)器
// 啟動(dòng)MongoDB服務(wù)器
[bigdata@linux mongodb
]$
sudo /usr/local/mongodb/bin/mongod -config /usr/local/mongodb/data/mongodb.conf// 訪問MongoDB服務(wù)器
[bigdata@linux mongodb
]$ /usr/local/mongodb/bin/mongo// 停止MongoDB服務(wù)器
[bigdata@linux mongodb
]$
sudo /usr/local/mongodb/bin/mongod -shutdown -config /usr/local/mongodb/data/mongodb.conf
三、RedisRedisRedis環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過WGET下載REDIS的源碼
[bigdata@linux ~
]$wget http://download.redis.io/releases/redis-4.0.2.tar.gz // 將源代碼解壓到安裝目錄
[bigdata@linux ~
]$
tar -xf redis-4.0.2.tar.gz -C ~/// 進(jìn)入Redis源代碼目錄,編譯安裝
[bigdata@linux ~
]$
cd redis-4.0.2/// 安裝GCC
[bigdata@linux ~
]$
sudo yum
install gcc// 編譯源代碼
[bigdata@linux redis-4.0.2
]$
make MALLOC=libc// 編譯安裝
[bigdata@linux redis-4.0.2
]$
sudo make install// 創(chuàng)建配置文件
[bigdata@linux redis-4.0.2
]$
sudo cp ~/redis-4.0.2/redis.conf /etc/ // 修改配置文件中以下內(nèi)容
[bigdata@linux redis-4.0.2
]$
sudo vim /etc/redis.conf
daemonize
yes
pidfile /var/run/redis/redis.pid
bind 0.0.0.0
logfile /var/log/redis/redis.log
dir “/usr/local/rdbfile”
在安裝完RedisRedisRedis之后,啟動(dòng)RedisRedisRedis
// 啟動(dòng)Redis服務(wù)器
[bigdata@linux redis-4.0.2
]$ redis-server /etc/redis.conf// 連接Redis服務(wù)器
[bigdata@linux redis-4.0.2
]$ redis-cli// 停止Redis服務(wù)器
[bigdata@linux redis-4.0.2
]$ redis-cli
shutdown
四、ElasticSearchElasticSearchElasticSearch環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過Wget下載ElasticSearch安裝包
[bigdata@linux ~
]$wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.tar.gz
修改LinuxLinuxLinux配置參數(shù)
// 修改文件數(shù)配置,在文件末尾添加如下配置
[bigdata@linux ~
]$sudo vim /etc/security/limits.conf
* soft nofile
65536
* hard nofile
131072
* soft nproc
2048
* hard nproc
4096// 修改* soft nproc
1024 為 * soft nproc
2048
[bigdata@linux ~
]$sudo vim /etc/security/limits.d/90-nproc.conf
* soft nproc
2048 // 在文件末尾添加:
[bigdata@linux ~
]$sudo vim /etc/sysctl.conf
vm.max_map_count
=655360// 在文件末尾添加:
[bigdata@linux elasticsearch-5.6.2
]$
sudo sysctl -p
配置ElasticSearchElasticSearchElasticSearch
// 解壓ElasticSearch到安裝目錄
[bigdata@linux ~
]$
tar -xf elasticsearch-5.6.2.tar.gz -C ./cluster/// 進(jìn)入ElasticSearch安裝目錄
[bigdata@linux cluster
]$
cd elasticsearch-5.6.2/// 創(chuàng)建ElasticSearch數(shù)據(jù)文件夾data
[bigdata@linux cluster
]$
mkdir elasticsearch-5.6.2/data/// 創(chuàng)建ElasticSearch日志文件夾logs
[bigdata@linux cluster
]$
mkdir elasticsearch-5.6.2/logs/// 修改ElasticSearch配置文件
[bigdata@linux elasticsearch-5.6.2
]$
vim ./config/elasticsearch.yml
cluster.name: es-cluster
node.name: es-node
path.data: /home/bigdata/cluster/elasticsearch-5.6.2/data
path.logs: /home/bigdata/cluster/elasticsearch-5.6.2/logs
bootstrap.memory_lock:
false
bootstrap.system_call_filter:
false
network.host: linux
discovery.zen.ping.unicast.hosts:
["linux"]
完成ElasticSearchElasticSearchElasticSearch的配置后,啟動(dòng)ElasticSearchElasticSearchElasticSearch
// 啟動(dòng)ElasticSearch服務(wù)
[bigdata@linux elasticsearch-5.6.2
]$ ./bin/elasticsearch -d// 訪問ElasticSearch服務(wù)
[bigdata@linux elasticsearch-5.6.2
]$
curl http://linux:9200/
{"name" : "es-node",
"cluster_name" : "es-cluster",
"cluster_uuid" : "VUjWSShBS8KM_EPJdIer6g",
"version" : {"number" : "5.6.2",
"build_hash" : "57e20f3",
"build_date" : "2017-09-23T13:16:45.703Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"},
"tagline" : "You Know, for Search"
}// 停止ElasticSearch服務(wù)
[bigdata@linux ~
]$ jps
8514 Elasticsearch
6131 GradleDaemon
8908 Jps
[bigdata@linux ~
]$
kill -9
8514
五、AzkabanAzkabanAzkaban環(huán)境配置
5.1 安裝GitGitGit
只需要按照下面一步一步的操作就能安裝成功
// 安裝GIT
[bigdata@linux ~
]$
sudo yum
install git // 通過git下載Azkaban源代碼
[bigdata@linux ~
]$
git clone https://github.com/azkaban/azkaban.git// 進(jìn)入azkaban目錄
[bigdata@linux ~
]$
cd azkaban/// 切換到3.36.0版本
[bigdata@linux azkaban
]$
git checkout -b
3.36.0
5.2 編譯AzkabanAzkabanAzkaban
只需要按照下面一步一步的操作就能安裝成功
// 安裝編譯環(huán)境
[bigdata@linux azkaban
]$sudo yum
install gcc
[bigdata@linux azkaban
]$sudo yum
install -y gcc-c++*// 執(zhí)行編譯命令
[bigdata@linux azkaban
]$ ./gradlew clean build
5.3 部署AzkabanSoloAzkaban \quad SoloAzkabanSolo
只需要按照下面一步一步的操作就能安裝成功
// 將編譯好的azkaban中的azkaban-solo-server-3.36.0.tar.gz拷貝到根目錄
[bigdata@linux azkaban
]$
cp ./azkaban-solo-server/build/distributions/azkaban-solo-server-3.36.0.tar.gz ~/// 解壓azkaban-solo-server-3.36.0.tar.gz到安裝目錄
[bigdata@linux ~
]$
tar -xf azkaban-solo-server-3.36.0.tar.gz -C ./cluster// 啟動(dòng)Azkaban Solo單節(jié)點(diǎn)服務(wù)
[bigdata@linux azkaban-solo-server-3.36.0
]$ bin/azkaban-solo-start.sh
訪問AzkabanAzkabanAzkaban服務(wù),通過瀏覽器打開http://ip:8081,通過用戶名:azkaban,密碼azkaban登錄
關(guān)閉AzkabanAzkabanAzkaban服務(wù)
[bigdata@linux azkaban-solo-server-3.36.0
]$ bin/azkaban-solo-shutdown.sh
六、SparkSparkSpark環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過wget下載zookeeper安裝包
[bigdata@linux ~
]$
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz // 將spark解壓到安裝目錄
[bigdata@linux ~
]$
tar –xf spark-2.1.1-bin-hadoop2.7.tgz –C ./cluster// 進(jìn)入spark安裝目錄
[bigdata@linux cluster
]$
cd spark-2.1.1-bin-hadoop2.7/// 復(fù)制slave配置文件
[bigdata@linux spark-2.1.1-bin-hadoop2.7
]$
cp ./conf/slaves.template ./conf/slaves // 修改slave配置文件
[bigdata@linux spark-2.1.1-bin-hadoop2.7
]$
vim ./conf/slaves
linux // 復(fù)制Spark-Env配置文件
[bigdata@linux spark-2.1.1-bin-hadoop2.7
]$
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
SPARK_MASTER_HOST=linux
SPARK_MASTER_PORT=7077
安裝完成后,啟動(dòng)SparkSparkSpark
// 啟動(dòng)Spark集群
[bigdata@linux spark-2.1.1-bin-hadoop2.7
]$ sbin/start-all.sh
訪問SparkSparkSpark集群,瀏覽器訪問http://linux:8080
關(guān)閉SparkSparkSpark集群
[bigdata@linux spark-2.1.1-bin-hadoop2.7
]$ sbin/stop-all.sh
七、ZookeeperZookeeperZookeeper環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過wget下載zookeeper安裝包
[bigdata@linux ~
]$
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz // 將zookeeper解壓到安裝目錄
[bigdata@linux ~
]$
tar –xf zookeeper-3.4.10.tar.gz –C ./cluster// 進(jìn)入zookeeper安裝目錄
[bigdata@linux cluster
]$
cd zookeeper-3.4.10/// 創(chuàng)建data數(shù)據(jù)目錄
[bigdata@linux zookeeper-3.4.10
]$
mkdir data/// 復(fù)制zookeeper配置文件
[bigdata@linux zookeeper-3.4.10
]$
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg // 修改zookeeper配置文件
[bigdata@linux zookeeper-3.4.10
]$
vim conf/zoo.cfg
dataDir=/home/bigdata/cluster/zookeeper-3.4.10/data // 啟動(dòng)Zookeeper服務(wù)
[bigdata@linux zookeeper-3.4.10
]$ bin/zkServer.sh start// 查看Zookeeper服務(wù)狀態(tài)
[bigdata@linux zookeeper-3.4.10
]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/bigdata/cluster/zookeeper-3.4.10/bin/
../conf/zoo.cfg
Mode: standalone// 關(guān)閉Zookeeper服務(wù)
[bigdata@linux zookeeper-3.4.10
]$ bin/zkServer.sh stop
八、Flume?ngFlume-ngFlume?ng環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過wget下載zookeeper安裝包
[bigdata@linux ~
]$
wget http://www.apache.org/dyn/closer.lua/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz// 將zookeeper解壓到安裝目錄
[bigdata@linux ~
]$
tar –xf apache-flume-1.8.0-bin.tar.gz –C ./cluster
等待項(xiàng)目部署時(shí)使用
九、KafkaKafkaKafka環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過wget下載zookeeper安裝包
[bigdata@linux ~
]$
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz // 將kafka解壓到安裝目錄
[bigdata@linux ~
]$
tar –xf kafka_2.12-0.10.2.1.tgz –C ./cluster// 進(jìn)入kafka安裝目錄
[bigdata@linux cluster
]$
cd kafka_2.12-0.10.2.1/ // 修改kafka配置文件
[bigdata@linux kafka_2.12-0.10.2.1
]$
vim config/server.properties
host.name
=linux
port=9092
zookeeper.connect
=linux:2181 // 啟動(dòng)kafka服務(wù)
!!! 啟動(dòng)之前需要啟動(dòng)Zookeeper服務(wù)
[bigdata@linux kafka_2.12-0.10.2.1
]$ bin/kafka-server-start.sh -daemon ./config/server.properties// 關(guān)閉kafka服務(wù)
[bigdata@linux kafka_2.12-0.10.2.1
]$ bin/kafka-server-stop.sh// 創(chuàng)建topic
[bigdata@linux kafka_2.12-0.10.2.1
]$ bin/kafka-topics.sh --create --zookeeper linux:2181 --replication-factor
1 --partitions
1 --topic recommender// kafka-console-producer
[bigdata@linux kafka_2.12-0.10.2.1
]$ bin/kafka-console-producer.sh --broker-list linux:9092 --topic recommender// kafka-console-consumer
[bigdata@linux kafka_2.12-0.10.2.1
]$ bin/kafka-console-consumer.sh --bootstrap-server linux:9092 --topic recommender
十、ApacheApacheApache環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 安裝HTTPD
[bigdata@linux ~
]$
sudo yum
install httpd// 啟動(dòng)HTTPD
[bigdata@linux ~
]$
sudo service httpd start// 關(guān)閉HTTPD
[bigdata@linux ~
]$
sudo service httpd stop
訪問ApacheApacheApache服務(wù)器,通過瀏覽器訪問http://ip:80
十一、TomcatTomcatTomcat環(huán)境配置
只需要按照下面一步一步的操作就能安裝成功
// 通過wget下載tomcat服務(wù)器安裝包
[bigdata@linux ~
]$
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz// 將tomcat安裝包解壓到安裝目錄下
[bigdata@linux ~
]$
tar -xf apache-tomcat-8.5.23.tar.gz -C ./cluster/// 啟動(dòng)tomcat服務(wù)
[bigdata@linux apache-tomcat-8.5.23
]$ bin/startup.sh// 關(guān)閉tomcat服務(wù)
[bigdata@linux apache-tomcat-8.5.23
]$ bin/shutdown.sh
訪問TomcatTomcatTomcat服務(wù),瀏覽器打開http://ip:8080
十二、開發(fā)環(huán)境配置
12.1 安裝IDEAIDEAIDEA
??這個(gè)大家應(yīng)該都有,而且安裝步驟很簡(jiǎn)單,但是這個(gè)一定會(huì)用到,一定要安裝好,略
12.2 安裝PostmanPostmanPostman
??這個(gè)也是傻瓜式操作,而且安裝步驟很簡(jiǎn)單,估計(jì)并不會(huì)用到,略
12.3 安裝NodeJSNodeJSNodeJS
在官網(wǎng)中下載對(duì)應(yīng)版本的NodeJSNodeJSNodeJS,并安裝
驗(yàn)證安裝結(jié)果
12.4 安裝AngularJSCLIAngularJS \quad CLIAngularJSCLI
在命令行執(zhí)行:npm install -g @angular/cli
驗(yàn)證安裝
安裝完成后,請(qǐng)重新啟動(dòng)操作系統(tǒng)
總結(jié)
??到此為止,這篇博客也結(jié)束了。這篇博客的操作性比較強(qiáng),但是只要安裝我的步驟一步一步操作就不會(huì)出問題,下篇博客將會(huì)給大家?guī)黻P(guān)于數(shù)據(jù)初始化的內(nèi)容,就要涉及到代碼的編寫了!
總結(jié)
以上是生活随笔為你收集整理的基础环境搭建——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(五)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。