1. 程式人生 > >2019最新某象資料分析 資料探勘與分散式爬蟲全套合集

2019最新某象資料分析 資料探勘與分散式爬蟲全套合集

一、配置JanusGraph01、02、03的java環境

mv /usr/bin/java /usr/bin/java.bak
將jdk8上傳至home
tar -zxvf ./jdk-8u191-linux-x64.tar.gz -C /usr/local/
vi /etc/profile(=不需要空格,否則會報錯 command not found)
JAVA_HOME=/usr/local/jdk1.8.0_191
PATH=PATH: PATH:PATH:JAVA_HOME/bin:
source /etc/profile

使用JG的國內公司:360、58、同盾

二、搭建hadoop單機版
將檔案解壓到/usr/local
tar -zxvf /home/hadoop-2.7.6.tar.gz -C /usr/local/
配置環境變數
vi /etc/profile/
HADOOP_HOME=/usr/local/hadoop-2.7.6/
PATH=PATH: PATH:PATH:JAVA_HOME/bin:HADOOPHOME/bin: HADOOP_HOME/bin:HADOOP 
H
​    
 OME/bin:HADOOP_HOME/sbin:
source /etc/profile
測試 hadoop version報錯:Error: JAVA_HOME is not set and could not be found.
由於hadoop是由java寫到,所以需要告訴hadoop,java在哪裡。通過vi ./etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_191/
hadoop version驗證
例子
mkdir /home/testHadoopInput
cp ./etc/hadoop/*.xml /home/testHadoopInput
ll /home/testHadoopInput/(統計8個xml檔案內到詞頻)
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /home/testHadoopInput/ /home/testHadoopOutput 統計詞頻
三、hadoop分散式部署
分佈
(主機名:Janusgraph01):(IP地址:10.5.17.174):(功能NameNode、SecondNameNOde、DataNode、resourcemanager、nodemanager)
(主機名:Janusgraph02):(IP地址:10.5.18.189):(功能DataNode、nodemanager)
(主機名:Janusgraph03):(IP地址:10.5.16.189):(功能DataNode、nodemanager)
vim /etc/sysconfig/network 改hostname為Janusgraph0X    vim /etc/hosts/ 。 改127.0.0.1 為Janusgraph0X;    reboot
配置Janusgraph01
vi ./etc/hadoop/hadoop-env.sh 為hadoop配置jdk。之前單機版本已經配置過
export JAVA_HOME=/usr/local/jdk1.8.0_191/
vi ./etc/hadoop/core-site.xml 核心配置檔案
配置hdfs檔案系統的名稱空間;Janusgraph01是主機名,也可以用ip地址,9000為埠號
配置操作hdfs的快取大小
配置臨時資料儲存目錄
見core-site.xml配置
vi ./etc/hadoop/hdfs-site.xml
副本數
塊大小,hadoop1時64M,hadoop2是128M,hadoop3時256M
hdfs元資料儲存位置
hdfs資料存放位置
hdfs的檢測目錄,可以不用配置,這裡就不進行配置了,如果需要,自行百度
hdfs的namenode的web ui地址,也就是從web預設看到的頁面
hdfs的secondady namenode的web ui地址
是否開啟web操作hdfs
是否啟用hdfs的許可權,acl控制列表
vi ./etc/hadoop/mapred-site.xml (注意要將mapred-site.xml.template重新命名為 .xml的檔案)
指定mapreduce的執行框架
歷史服務的通訊地址
歷史服務的web ui 地址
vi ./etc/hadoop/yarn-site.xml
指定rm所啟動的伺服器名
指定mapreduce的shuffle
指定rm的內部通訊地址
指定rm的scheduler的內部通訊地址
指定rm的resource-tracker的內部通訊地址
指定rm的admin的內部通訊地址
指定rm的web ui 監控地址
vi ./etc/hadoop/slaves
Janusgraph01
Janusgraph02
Janusgraph03
遠端分發到別的伺服器
scp -r ./hadoop-2.7.6/ Janusgraph02:/usr/local/ 報錯ssh: Could not resolve hostname Janusgraph02: Name or service not known
因為對映關係沒搞定 vi /etc/hosts
10.5.17.174 Janusgraph01 www.Janusgraph01.com
10.5.18.189 Janusgraph02 www.Janusgraph02.com
10.5.16.189 Janusgraph03 www.Janusgraph03.com
繼續scp -r ./hadoop-2.7.6/ Janusgraph02:/usr/local/
繼續scp -r ./hadoop-2.7.6/ Janusgraph03:/usr/local/
分別在02、03上which hadoop、hadoop version 可以測試看是分發過去
啟動之前需要格式化,在NAmenode上格式化;在JanusGraph上執行之後會在home目錄下建立hadoopdata資料夾。
hadoop namenode -format(各種報錯是因為配置檔案裡面各種格式不正確)執行之後
啟動各個節點,有三種方式
全啟動:start-all.sh
模組啟動:start-dfs.sh start-yarn.sh
單個程序啟動:sbin目錄下:hadoop-dameon.sh start /stopnamenode hadoop-daemons.sh start/stop datanode yarn-dameon.sh start /stop namenode yarn-daemons.sh start/stop datanode mr-jobhistory-daemon.sh start/stop historyserver
DFS模組測試
./sbin/start-dfs.sh    
跟著視訊嘗試的時候,發現JanusGraph02、03 的datanode都沒有啟動起來,檢視logo是因為 2018-12-29 01:39:38,207 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: Janusgraph01:9000
解決辦法:在02、03中將對映關係配進去就可以解決。
檢視程序是否按照規劃啟動起來: jps(01:Namenode、SenondaryNamenode、Datanode;02:Datanode;03:Datanode)
檢視對應模組的web ui監控是否正常:10.5.17.174:50070(網頁打不開的原因?防火牆沒關)
上傳和下載檔案,(測試hdfs)、跑一個MapReduce的作業,測試yarn
hdfs dfs -ls / 檢視根目錄是否有東西
上傳hadoop2.7.6資料夾下面的readme到根目錄: hdfs dfs -put ./README.text /
hdfs dfs -ls / 檢視根目錄是否有東西
hdfs dfs -cat /README.txt 讀出檔案

YARN模組測試
start-yarn.sh
jps:(01:ResourceManager、NodeManager;02:NodeManager;03:NodeManager)
web ui監控:10.5.17.174:8088
yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /README.txt /out/00
hdfs dfs -ls /out/00

四、配置ssh免密碼登入
ssh-keygen -t rsa
ll ~/.ssh/ 檢視祕鑰列表
ssh-copy-id Janusgraph01 將祕鑰拷貝到JanusGraph01 z這樣 ssh JanusGraph01不要密碼
ssh-copy-id Janusgraph02 將祕鑰拷貝到JanusGraph02 這樣 ssh JanusGraph02不要密碼
ssh-copy-id Janusgraph03 將祕鑰拷貝到JanusGraph03 這樣 ssh JanusGraph03不要密碼

五、Zookeeper配置
需要奇數臺伺服器:1,3,5,7(太多也沒必要)
解壓
配置環境變數vi /etc/profile
測試:zkServer.sh
配置 conf下面的zoo_sample.cfg
mv zoo_samples.conf zoo.cfg
快照儲存目錄修改一下,最好不放在tmp,直接自行建立好目錄
埠為2181
叢集配置:其中2888是為交流埠,3888是選舉埠
server1=Janusgraph01:2888:3888
server1=Janusgraph02:2888:3888
server1=Janusgraph03:2888:3888
分發給Janusgraph02,03
配置各個伺服器環境變數
快照儲存目錄修改一下,最好不放在tmp,直接自行建立好目錄
mkdir /home/zkdata
vi /home/zkdata/myid
3臺伺服器分別寫入1,2,3
zkServer.sh start
叢集的一半服務啟動才可以用,所以最起碼啟動兩臺伺服器的zk
zkCli.sh 啟動 shell
六、Hbase配置
解壓
配置hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_191/
export HBASE_CLASSPATH=/usr/local/hadoop-2.7.6/etc/hadoop/
export HBASE_MANAGES_ZK=false
配置hbase-site.xml(http://www.sohu.com/a/228927351_99978040)
分散式
hbase檔案叢集儲存:位置和hadoop中配置一樣
zookeeper連線目錄
zookeeper檔案儲存目錄(使用自帶的配?那不自帶的應該可以不用配置)
配置Regionservers
將localhost刪除改為
JanusGraph01
JanusGraph02
JanusGraph03
vi backup-masters 增加備用master
Janusgraph02
分發,增加各個伺服器的hbase環境變數
測試
hbase version
啟動:啟動hadoop、zookeeper之後、start-hbase.sh
JanusGraph01、JanusGraph02均多了HRegionServer、Hmaster
Janusgraph03多了HRegionServer
連線hbase服務:hbase shell
七、配置Janusgraph
下載Janusgraph zip包
解壓到/usr/local/
執行hadoop、zookeeper、hbase
再執行elasticsearch
需要非root使用者執行,所以給admin root許可權
執行gremlin.sh,進行例項操作
graph=JanusGraphFactory.open(‘conf/janusgraph-hbase-es.properties’)
GraphOfTheGodsFactory.load(graph) 載入諸神圖
g = graph.traversal()
g.V().has(‘name’, ‘saturn’).valueMap()
g.addV(‘person’).property(‘name’,‘Dennis’)
g.V().has(‘name’, ‘Dennis’).valueMap()

八、分散式配置Janusgraph
在janusgarph-hbase-es-properties 裡面配置storage.hostname=10.5.17.174,10.5.18.189    10.5.16.189。zookeeper的地址,目前hbase和zookeeper地址一樣,但是hbase多了之後,zookeeper不多,只需要配zookeeper就行()
將janusgrap分發到各個伺服器上去。


--------------------- 
作者:UP_2017 
來源:CSDN 
原文:https://blog.csdn.net/UP_2017/article/details/85988408 
版權宣告:本文為博主原創文章,轉載請附上博文連結!