中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop集群怎么搭建及如何進行Python操作

發布時間:2021-10-09 16:10:28 來源:億速云 閱讀:178 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關Hadoop集群怎么搭建及如何進行Python操作,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

環境

Hadoop集群怎么搭建及如何進行Python操作

修改主機名

# 按照上面環境配置修改每個機器的hostname vi /etc/hostname  # 使用hostname命令使其生效,就不用重啟了 hostname xxxx

修改hosts文件

vi /etc/hosts  192.168.143.130 master 192.168.143.131 slave1 192.168.143.132 slave2 192.168.143.133 slave3 192.168.143.134 slave4

配置免密登錄

ssh-keygen -t rsa  ssh-copy-id -i ~/.ssh/id_rsa.pub master ssh-copy-id -i ~/.ssh/id_rsa.pub slave1 ssh-copy-id -i ~/.ssh/id_rsa.pub slave2 ssh-copy-id -i ~/.ssh/id_rsa.pub slave3 ssh-copy-id -i ~/.ssh/id_rsa.pub slave4

安裝JDK(每臺機器)

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

配置環境變量

在/etc/profile文件最后添加如下內容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools/jar export HADOOP_HOME=/usr/hadoop-3.3.0/ export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

使環境變量生效

source /etc/profile

創建目錄(每天機器)

創建目錄的時候要注意,先通過df  -h命令查看本機上的磁盤空間,確定好數據存儲的磁盤,然后創建以下三個目錄,在下面的配置文件hdfs-site.xml中修改對應的目錄配置即可

mkdir -p /home/hadoop/dfs/name mkdir -p /home/hadoop/dfs/data mkdir -p /home/hadoop/temp

安裝配置Hadoop

下載Hadoop安裝包

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

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

配置Hadoop

配置文件在

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

hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root

core-site.xml

<configuration>   <property>     <name>fs.defaultFS</name>     <value>hdfs://master:9000</value>   </property>   <property>     <name>hadoop.http.staticuser.user</name>     <value>root</value>   </property>   <property>     <name>dfs.permissions.enabled</name>     <value>false</value>   </property> </configuration>

hdfs-site.xml配置多個文件存儲目錄,使用逗號隔開即可

<configuration>   <property>     <name>dfs.namenode.name.dir</name>     <value>/home/hadoop/dfs/name</value>   </property>   <property>     <name>dfs.dataname.data.dir</name>     <value>/home/hadoop/dfs/data,/usr1/hadoop/dfs/data</value>   </property>   <property>     <name>dfs.replication</name>     <value>2</value>   </property> </configuration>

mapred-site.xml

<configuration>   <property>     <name>mapreduce.framework.name</name>     <value>yarn</value>   </property> </configuration>

yarn-site.xml

<configuration>   <property>     <name>yarn.resourcemanager.hostname</name>     <value>master</value>   </property>   <property>     <name>yarn.resourcemanager.webapp.address</name>     <value>master:8088</value>   </property>   <property>     <name>yarn.nodemanager.aux-services</name>     <value>mapreduce_shuffle</value>   </property> </configuration>

workers

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

slave1 slave2 slave3 slave4

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

scp /usr/hadoop-3.3.0 slave1:/usr scp /usr/hadoop-3.3.0 slave2:/usr scp /usr/hadoop-3.3.0 slave3:/usr scp /usr/hadoop-3.3.0 slave4:/usr

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

hdfs namenode-format

啟動Hadoop

在master機器上執行就可以了,執行完以后可以使用jps命令在所有機器上查看進程狀態

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

查看進程狀態

在master和slave上分別執行jps命令

查看是否成功

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

# Hadoop集群信息 http://192.168.143.130:8088/cluster  # HDFS地址 http://192.168.143.130:9870/dfshealth.html  # DataNode地址 http://192.168.143.130:9864/datanode.html  # NodeManager地址 http://192.168.143.130:8042/node  # SecondaryNameNode http://192.168.143.130:9868/status.html

測試文件上傳(master)

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

HDFS操作命令

創建文件夾

hdfs dfs -mkdir /myTask

創建多層文件

hdfs dfs -mkdir -p /myTask/input

上傳文件

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

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

hdfs dfs -ls /

查看myTask目錄下的wordcount.txt文件內容

hdfs dfs -cat /myTask/wordcount.txt

刪除文件或文件夾

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

下載文件到本地

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

Python操作hdfs

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

C:\Windows\System32\drivers\etc\hosts  192.168.143.130 master 192.168.143.131 slave1 192.168.143.132 slave2 192.168.143.133 slave3 192.168.143.134 slave4

安裝庫

pip install hdfs

操作

連接

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

創建目錄

client.makedirs(hdfs_path)

刪除文件

client.delete(hdfs_path)

上傳文件

client.download(hdfs_path, local_path)

獲取目錄下文件列表

client.list(hdfs_path)

HDFS 文件存儲集群的優點是:配置要求低、易于擴展、效率比較高、非常適合大批量文件存儲,而且可以提供 web 管理頁面,提供非常好的第三方庫。在進行  web 開發時,作為文件和圖片存儲庫也是非常好的選擇。

上述就是小編為大家分享的Hadoop集群怎么搭建及如何進行Python操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

敦煌市| 深圳市| 南江县| 普格县| 德江县| 精河县| 寿光市| 巴里| 榆社县| 彩票| 九龙坡区| 苍南县| 东辽县| 宾阳县| 东乌珠穆沁旗| 望奎县| 肃北| 壤塘县| 五家渠市| 中山市| 西宁市| 东城区| 瑞金市| 邓州市| 松滋市| 巨野县| 白银市| 三江| 夏河县| 雷波县| 临泉县| 张家港市| 金华市| 黑山县| 施甸县| 平阴县| 和顺县| 江口县| 泗洪县| 钟山县| 霍林郭勒市|