小編給大家分享一下Hadoop如何安裝、配置及基礎使用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
此主題介紹Hadoop的安裝、配置及基礎使用。
Hadoop基本信息
官網:http://hadoop.apache.org/ 官方教程:http://hadoop.apache.org/docs/current/
# 切換到工作空間 cd /opt/workspaces mkdir data/hadoop # 創建Hadoop NameNode目錄 mkdir -p data/hadoop/hdfs/nn # 創建Hadoop DataNode目錄 mkdir -p data/hadoop/hdfs/dn # 創建Hadoop臨時目錄 mkdir data/hadoop/tmp # 創建Hadoop日志目錄 mkdir logs/hadoop
官方教程 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation |
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz tar -zxf hadoop-2.7.2.tar.gz rm -rf hadoop-2.7.2.tar.gz mv hadoop-2.7.2 ./frameworks/hadoop
vi ./frameworks/hadoop/etc/hadoop/hadoop-env.sh
# 添加JDK目錄 export JAVA_HOME=/opt/env/java # 指定Hadoop日志寫入到先前定義的目錄 export HADOOP_LOG_DIR=/opt/workspaces/logs/hadoop
vi ./frameworks/hadoop/etc/hadoop/core-site.xml
<!--指定HDFS的地址,bd為對應的hostname,請自行修改--> <property> <name>fs.defaultFS</name> <value>hdfs://bd:9000</value> </property> <!--指定Hadoop的臨時目錄到先前定義的目錄--> <property> <name>hadoop.tmp.dir</name> <value>file:/opt/workspaces/data/hadoop/tmp</value> </property>
hadoop.tmp.dir 是hadoop文件系統依賴的基礎配置,如hdfs-site.xml中不指定namenode和datanode的存放位置默認就放在這個路徑中。hadoop.tmp.dir 默認存放在/tmp下,啟動的時會被清空。 |
vi ./frameworks/hadoop/etc/hadoop/hdfs-site.xml
<!--副本數,默認是3,由于只有一個節點,所以不需要備份--> <property> <name>dfs.replication</name> <value>1</value> </property> <!--指定NameNode目錄到先前定義的目錄--> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/workspaces/data/hadoop/hdfs/nn</value> </property> <!--指定DataNode目錄到先前定義的目錄--> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/workspaces/data/hadoop/hdfs/dn</value> </property> <!--實驗環境,禁用權限認證--> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property>
生產環境不允許dfs.permissions.enabled=false 這可能導致HDFS數據被非法修改! |
格式化NameNode
./frameworks/hadoop/bin/hdfs namenode -format
# 啟動NameNode ./frameworks/hadoop/sbin/hadoop-daemon.sh start namenode # 啟動DataNode ./frameworks/hadoop/sbin/hadoop-daemon.sh start datanode # 停止NameNode ./frameworks/hadoop/sbin/hadoop-daemon.sh stop namenode # 停止DataNode ./frameworks/hadoop/sbin/hadoop-daemon.sh stop datanode
不同的啟動(停止)命令 start-all.sh 啟動所有服務,不推薦使用 start-dfs.sh 啟動HDFS start-mapred.sh 啟動MapR |
# 查看HDFS文件 ./frameworks/hadoop/bin/hadoop fs -ls /
# 上傳文件到HDFS hadoop fs -put localfile /user/hadoop/hadoopfile hdfs://<host>:<port>/<path> hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile # 創建HDFS目錄 hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2 hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir # 查看HDFS目錄 hadoop fs -ls /user/hadoop/file1 # 查看HDFS文件內容 hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2 hadoop fs -cat file:///file3 /user/hadoop/file4 # 修改HDFS文件所有者 hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ] # 修改HDFS文件權限 hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...] # 獲取HDFS到本地 hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
Name node is in safe mode
Hadoop啟動的時候首先進入安全模式,安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,根據策略必要的復制或者刪除部分數據塊,如果datanode丟失的block達到一定的比例會一直處于安全模式狀態即只讀狀態??梢酝ㄟ^命令hadoop dfsadmin -safemode leave
命令強制離開。
以上是“Hadoop如何安裝、配置及基礎使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。