出處: https://www.jianshu.com/p/de4d56433848
3. Hadoop 安裝
3.1 下載 Hadoop
-
Hadoop 安裝地址:/usr/local/hadoop/hadoop-3.2.0
# 解壓 Hadoop 到指定文件夾 tar -zxf hadoop-3.2.0.tar.gz -C /usr/local/hadoop
# 查看 Hadoop 版本信息 cd /usr/hadoop/local/hadoop-3.2.0 ./bin/hadoop version
4. Hadoop 配置
4.1 建立目錄
# 在 /usr/hadoop/ 目錄下,建立 tmp、hdfs/name、hdfs/data 目錄 mkdir /usr/local/hadoop/tmp mkdir /usr/local/hadoop/hdfs mkdir /usr/local/hadoop/hdfs/data mkdir /usr/local/hadoop/hdfs/name
4.2 設置環境變量
# 設置環境變量 vi /etc/profile
# set hadoop path export HADOOP_HOME=/usr/hadoop/hadoop-3.2.0 export PATH=$PATH:$HADOOP_HOME/bin
# 使環境變量生效 source /etc/profile # CentOS版本用 source ~/.bash_profile
4.3 修改 Hadoop 配置文件
配置以下 5 個文件:
hadoop-3.2.0/etc/hadoop/hadoop-env.sh
hadoop-3.2.0/etc/hadoop/core-site.xml
hadoop-3.2.0/etc/hadoop/hdfs-site.xml
hadoop-3.2.0/etc/hadoop/mapred-site.xml
hadoop-3.2.0/etc/hadoop/yarn-site.xml
4.3.1 hadoop-env.sh
# The java implementation to use. #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/java/jdk1.8.0_152
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
另一種配置用戶:
start-dfs.sh、stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh、stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
4.3.2 core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> ####注釋 : HDFS的URI,文件系統://namenode標識:端口號 </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> ###注釋: namenode上本地的hadoop臨時文件夾 </property> </configuration>
4.3.3 hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> <description>副本個數,配置默認是3,應小於datanode機器數量</description> </property> </configuration>
4.3.4 mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
4.3.5 yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
HDFS 啟動
(1)先配置文件
修改 core-site.xml 如下
修改 hdfs-site.xml 如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
dfs.replication 配置的是 HDFS存儲時的備份數據(datanode的備份),因為我們剛開始測試,只有一個結點比較好,股設置為1.
(2) 格式化 HDFS
Bin/hdfs namenode -format
格式化是對 HDFS這個分布式文件系統中的 DataNode 進行分塊,統計所有分塊后的初始元數據的存儲在namenode中。(如果服務器再次啟動,也需要進行這步,否則啟動可能會失敗)
(3)啟動 NameNode
Sbin/hadoop-daemon.sh start namenode
(4) 啟動 DataNode
Sbin /hadoop-daemon.sh start datanode
(5) 啟動 SecondaryNameNode
Sbin/hadoop-daemon.sh start secondarynamenode
(6) 使用 jps 命令查看是否啟動成功,有結果就成功了。
(7) 然后就可以使用 bin/hdfs dfs —help 里面的命令了,比如 -ls -mkdir 等和 linux 類似的命令。
hdfs dfs -ls /