成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop集群搭建及Python操作

開(kāi)發(fā) 后端 Hadoop
HDFS 文件存儲(chǔ)集群的優(yōu)點(diǎn)是:配置要求低、易于擴(kuò)展、效率比較高、非常適合大批量文件存儲(chǔ),而且可以提供 web 管理頁(yè)面,提供非常好的第三方庫(kù)。在進(jìn)行 web 開(kāi)發(fā)時(shí),作為文件和圖片存儲(chǔ)庫(kù)也是非常好的選擇。

 最近項(xiàng)目中在做千億大數(shù)據(jù)存儲(chǔ)檢索需求,要把10T的文本數(shù)據(jù)進(jìn)行解析處理存入數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)檢索,文件的存儲(chǔ)成為一個(gè)首要處理的問(wèn)題,使用了多種存儲(chǔ)方式,都不是很滿足要求,最后使用 HDFS 分布式文件存儲(chǔ)系統(tǒng)發(fā)現(xiàn)效率、管理等各方面都挺不錯(cuò),就研究了一下搭建使用方式,特此記錄文檔

環(huán)境

修改主機(jī)名

  1. # 按照上面環(huán)境配置修改每個(gè)機(jī)器的hostname 
  2. vi /etc/hostname 
  3.  
  4. # 使用hostname命令使其生效,就不用重啟了 
  5. hostname xxxx 

修改hosts文件

  1. vi /etc/hosts 
  2.  
  3. 192.168.143.130 master 
  4. 192.168.143.131 slave1 
  5. 192.168.143.132 slave2 
  6. 192.168.143.133 slave3 
  7. 192.168.143.134 slave4 

配置免密登錄

  1. ssh-keygen -t rsa 
  2.  
  3. ssh-copy-id -i ~/.ssh/id_rsa.pub master 
  4. ssh-copy-id -i ~/.ssh/id_rsa.pub slave1 
  5. ssh-copy-id -i ~/.ssh/id_rsa.pub slave2 
  6. ssh-copy-id -i ~/.ssh/id_rsa.pub slave3 
  7. ssh-copy-id -i ~/.ssh/id_rsa.pub slave4 

安裝JDK(每臺(tái)機(jī)器)

  1. apt-get install -y openjdk-8-jre-headless openjdk-8-jdk 

配置環(huán)境變量

在/etc/profile文件最后添加如下內(nèi)容:

  1. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools/jar 
  3. export HADOOP_HOME=/usr/hadoop-3.3.0/ 
  4. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin 
  5. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
  6. export HADOOP_COMMON_HOME=$HADOOP_HOME 
  7. export HADOOP_HDFS_HOME=$HADOOP_HOME 
  8. export HADOOP_MAPRED_HOME=$HADOOP_HOME 
  9. export HADOOP_YARN_HOME=$HADOOP_HOME 
  10. export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" 
  11. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 

使環(huán)境變量生效

  1. source /etc/profile 

創(chuàng)建目錄(每天機(jī)器)

創(chuàng)建目錄的時(shí)候要注意,先通過(guò)df -h命令查看本機(jī)上的磁盤空間,確定好數(shù)據(jù)存儲(chǔ)的磁盤,然后創(chuàng)建以下三個(gè)目錄,在下面的配置文件hdfs-site.xml中修改對(duì)應(yīng)的目錄配置即可

  1. mkdir -p /home/hadoop/dfs/name 
  2. mkdir -p /home/hadoop/dfs/data 
  3. mkdir -p /home/hadoop/temp 

安裝配置Hadoop

下載Hadoop安裝包

http://archive.apache.org/dist/hadoop/core/stable/hadoop-3.3.0.tar.gz

  1. # 解壓后拷貝到/usr目錄下 
  2. tar -xzvf hadoop-3.3.0.tar.gz 
  3. mv hadoop-3.3.0 /usr 

配置Hadoop

配置文件在

/usr/hadoop-3.3.0/etc/hadoop目錄下

hadoop-env.sh

  1. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
  2. export HDFS_NAMENODE_USER=root 
  3. export HDFS_DATANODE_USER=root 
  4. export HDFS_SECONDARYNAMENODE_USER=root 
  5. export YARN_RESOURCEMANAGER_USER=root 
  6. export YARN_NODEMANAGER_USER=root 

core-site.xml

  1. <configuration> 
  2.   <property> 
  3.     <name>fs.defaultFS</name
  4.     <value>hdfs://master:9000</value> 
  5.   </property> 
  6.   <property> 
  7.     <name>hadoop.http.staticuser.user</name
  8.     <value>root</value> 
  9.   </property> 
  10.   <property> 
  11.     <name>dfs.permissions.enabled</name
  12.     <value>false</value> 
  13.   </property> 
  14. </configuration> 

hdfs-site.xml配置多個(gè)文件存儲(chǔ)目錄,使用逗號(hào)隔開(kāi)即可

  1. <configuration> 
  2.   <property> 
  3.     <name>dfs.namenode.name.dir</name
  4.     <value>/home/hadoop/dfs/name</value> 
  5.   </property> 
  6.   <property> 
  7.     <name>dfs.dataname.data.dir</name
  8.     <value>/home/hadoop/dfs/data,/usr1/hadoop/dfs/data</value> 
  9.   </property> 
  10.   <property> 
  11.     <name>dfs.replication</name
  12.     <value>2</value> 
  13.   </property> 
  14. </configuration> 

mapred-site.xml

  1. <configuration> 
  2.   <property> 
  3.     <name>mapreduce.framework.name</name
  4.     <value>yarn</value> 
  5.   </property> 
  6. </configuration> 

yarn-site.xml

  1. <configuration> 
  2.   <property> 
  3.     <name>yarn.resourcemanager.hostname</name
  4.     <value>master</value> 
  5.   </property> 
  6.   <property> 
  7.     <name>yarn.resourcemanager.webapp.address</name
  8.     <value>master:8088</value> 
  9.   </property> 
  10.   <property> 
  11.     <name>yarn.nodemanager.aux-services</name
  12.     <value>mapreduce_shuffle</value> 
  13.   </property> 
  14. </configuration> 

 workers

這里配置的就是DataNode的存儲(chǔ)機(jī)器,不建議用master作為存儲(chǔ),如果存滿了集群就不能用了

  1. slave1 
  2. slave2 
  3. slave3 
  4. slave4 

將master上的/usr/hadoop-3.3.9拷貝到其他機(jī)器即可

  1. scp /usr/hadoop-3.3.0 slave1:/usr 
  2. scp /usr/hadoop-3.3.0 slave2:/usr 
  3. scp /usr/hadoop-3.3.0 slave3:/usr 
  4. scp /usr/hadoop-3.3.0 slave4:/usr 

格式化HDFS目錄(在master機(jī)器)

  1. hdfs namenode-format 

啟動(dòng)Hadoop

在master機(jī)器上執(zhí)行就可以了,執(zhí)行完以后可以使用jps命令在所有機(jī)器上查看進(jìn)程狀態(tài)

  1. cd /usr/hadoop-3.3.0/sbin 
  2. ./start-all.sh 

查看進(jìn)程狀態(tài)

在master和slave上分別執(zhí)行jps命令

查看是否成功

在瀏覽器上打開(kāi)下面的網(wǎng)頁(yè),看能否正常訪問(wèn)

  1. # Hadoop集群信息 
  2. http://192.168.143.130:8088/cluster 
  3.  
  4. # HDFS地址 
  5. http://192.168.143.130:9870/dfshealth.html 
  6.  
  7. # DataNode地址 
  8. http://192.168.143.130:9864/datanode.html 
  9.  
  10. # NodeManager地址 
  11. http://192.168.143.130:8042/node 
  12.  
  13. # SecondaryNameNode 
  14. http://192.168.143.130:9868/status.html 

測(cè)試文件上傳(master)

  1. hdfs dfs -mkdir /test 
  2. hdfs dfs -put start-dfs.sh /test 

HDFS操作命令

創(chuàng)建文件夾

  1. hdfs dfs -mkdir /myTask 

創(chuàng)建多層文件

  1. hdfs dfs -mkdir -p /myTask/input 

上傳文件

  1. hdfs dfs -put /opt/wordcount.txt /myTask 

查看總目錄下的文件和文件夾

  1. hdfs dfs -ls / 

查看myTask目錄下的wordcount.txt文件內(nèi)容

  1. hdfs dfs -cat /myTask/wordcount.txt 

刪除文件或文件夾

  1. hdfs dfs -rm -r /myTask/wordcount.txt 

下載文件到本地

  1. hdfs dfs -get /myTask/wordcount.txt /opt 

Python操作hdfs

python操作hdfs時(shí),如果要進(jìn)行上傳下載文件,必須在執(zhí)行代碼的機(jī)器上配置hosts文件,原因是hdfs的namenode和datanode注冊(cè)后是以hostname進(jìn)行記錄的,如果不配置直接進(jìn)行上傳下載操作,那么將會(huì)采用hostname進(jìn)行操作,因此需要在本機(jī)上配置hdfs集群機(jī)器IP和hostname的對(duì)應(yīng)配置。例如我在本機(jī)上進(jìn)行操作,必須配置如下:

  1. C:\Windows\System32\drivers\etc\hosts 
  2.  
  3. 192.168.143.130 master 
  4. 192.168.143.131 slave1 
  5. 192.168.143.132 slave2 
  6. 192.168.143.133 slave3 
  7. 192.168.143.134 slave4 

安裝庫(kù)

  1. pip install hdfs 

操作

連接

  1. from hdfs.client import Client 
  2. client = Client("http://192.168.143.130:9870"

創(chuàng)建目錄

  1. client.makedirs(hdfs_path) 

刪除文件

  1. client.delete(hdfs_path) 

上傳文件

  1. client.download(hdfs_path, local_path) 

獲取目錄下文件列表

  1. client.list(hdfs_path) 

總結(jié)

HDFS 文件存儲(chǔ)集群的優(yōu)點(diǎn)是:配置要求低、易于擴(kuò)展、效率比較高、非常適合大批量文件存儲(chǔ),而且可以提供 web 管理頁(yè)面,提供非常好的第三方庫(kù)。在進(jìn)行 web 開(kāi)發(fā)時(shí),作為文件和圖片存儲(chǔ)庫(kù)也是非常好的選擇。

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2016-10-27 09:37:10

Hadoop集群配置

2011-12-07 16:11:50

Hadoop集群搭建

2010-06-04 18:17:50

Hadoop集群

2010-06-03 19:02:31

Hadoop集群搭建

2014-03-17 10:05:45

Hadoop集群

2010-06-04 18:06:22

Hadoop集群搭建

2012-11-01 17:15:04

2017-08-10 10:17:32

Hadoop分布式搭建

2016-01-07 09:36:20

Docker容器

2020-04-21 22:59:50

Redis搭建選舉

2012-09-13 13:26:40

Hadoop集群

2015-05-27 10:29:41

DockerHadoopHadoop集群

2014-03-28 09:35:11

MongoDBSharding

2010-06-04 17:43:12

Hadoop集群搭建

2016-10-13 19:16:28

Python編程語(yǔ)言mysql

2017-10-25 18:25:40

Hadoop偽分布式環(huán)境部署

2011-07-19 13:20:22

Xcode

2017-12-07 15:24:10

Hadoop大數(shù)據(jù)服務(wù)器

2017-05-11 17:36:50

2010-05-24 14:59:29

Hadoop集群
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本久久久久久久久 | 国产综合网址 | 四虎成人精品永久免费av九九 | 一区二区三区国产 | 欧美一a| 国产精品国产精品国产专区不卡 | 国产精品美女久久久久aⅴ国产馆 | 日韩在线观看一区 | 91久久久久久 | 久久久久久久久淑女av国产精品 | 中国黄色在线视频 | 欧美电影免费观看 | 一区二区三区欧美在线 | 亚洲国产视频一区 | 久久久91 | 国产97碰免费视频 | 国产精品视频在线观看 | 亚洲精品一区二区三区丝袜 | 欧美国产亚洲一区二区 | 看片国产| 久久一区视频 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 亚洲精品在线免费看 | 天堂成人国产精品一区 | 国产日韩久久 | 黄久久久 | 一区二区三区四区免费在线观看 | 精品三级在线观看 | 在线观看视频中文字幕 | 久热精品在线 | 国产成人精品一区二区三区在线观看 | 一区二区三区观看视频 | 中文字幕在线中文 | 国产成人一区二区三区 | 国产精品久久久久久吹潮 | 成人欧美一区二区三区在线播放 | 国产精品揄拍一区二区久久国内亚洲精 | aaaaaa大片免费看最大的 | 九九久久久久久 | 在线免费观看视频黄 | 久久久久久久久久久久久久国产 |