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

Hadoop集群搭建及Python操作

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

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

環(huán)境

修改主機(jī)名

  1. # 按照上面環(huán)境配置修改每個機(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(每臺機(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)建目錄的時候要注意,先通過df -h命令查看本機(jī)上的磁盤空間,確定好數(shù)據(jù)存儲的磁盤,然后創(chuàng)建以下三個目錄,在下面的配置文件hdfs-site.xml中修改對應(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配置多個文件存儲目錄,使用逗號隔開即可

  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的存儲機(jī)器,不建議用master作為存儲,如果存滿了集群就不能用了

  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 

啟動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命令

查看是否成功

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

  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 

測試文件上傳(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時,如果要進(jìn)行上傳下載文件,必須在執(zhí)行代碼的機(jī)器上配置hosts文件,原因是hdfs的namenode和datanode注冊后是以hostname進(jìn)行記錄的,如果不配置直接進(jìn)行上傳下載操作,那么將會采用hostname進(jìn)行操作,因此需要在本機(jī)上配置hdfs集群機(jī)器IP和hostname的對應(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 

安裝庫

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

 

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

2011-12-07 16:11:50

Hadoop集群搭建

2016-10-27 09:37:10

Hadoop集群配置

2014-03-17 10:05:45

Hadoop集群

2010-06-04 18:17:50

Hadoop集群

2010-06-03 19:02:31

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搭建選舉

2015-05-27 10:29:41

DockerHadoopHadoop集群

2012-09-13 13:26:40

Hadoop集群

2014-03-28 09:35:11

MongoDBSharding

2010-06-04 17:43:12

Hadoop集群搭建

2016-10-13 19:16:28

Python編程語言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ù)棧公眾號

主站蜘蛛池模板: 欧美成人激情 | 99re热这里只有精品视频 | 日本大香伊一区二区三区 | 91精品一区二区三区久久久久久 | 国产精品欧美一区二区 | 亚洲电影第三页 | 色网在线观看 | 成年网站在线观看 | 日美女逼逼 | 久久精品一区 | 久草网址| 亚州精品天堂中文字幕 | 成人精品一区 | 91在线一区 | a国产视频 | 国产精品国产精品国产专区不卡 | 99精品国自产在线 | 黄色成人在线网站 | 亚洲视频在线免费观看 | 亚洲欧美日韩精品久久亚洲区 | 亚洲网站在线观看 | 亚洲日韩欧美一区二区在线 | 国产日韩欧美一区二区 | 日韩精品在线一区二区 | 国产精品区二区三区日本 | 天天操天天操 | 国产一区二区三区四区 | 羞羞午夜 | 国产精品一区在线观看 | 91xx在线观看| 国产精品久久久久久网站 | 欧美亚州| 久久精品综合 | 综合久久99 | 日韩一区二区在线观看视频 | 欧美1区2区| 欧美啪啪 | 视频一区二区三区在线观看 | 亚洲视频在线观看 | 欧洲色综合 | 欧美激情国产日韩精品一区18 |