大緻步驟
- 建立虛拟機(建立1台之後,可以進行克隆)
- 配置jdk
- 配置ssh、rsync
- 配置Hadoop
1.建立虛拟機
此處不做過多解釋。我的是vmware+Ubuntu(18.04.1)
2.配置jdk
- 更新源sudo apt-get update,之前沒有更新,找不到jdk
sudo apt-get update
-
- 配置jdk。 在之前可以将伺服器改成國外的伺服器(在"軟體和更新"裡面可以選擇伺服器),這樣下載下傳速度會更快。直接用指令行安裝比去官網下載下傳更快,而且它自己就會添加到環境變量
sudo apt-get install default-jdk
3.配置ssh、rsync
- 安裝ssh
-
sudo apt-get install ssh
- 安裝rsync
-
sudo apt-get install rsync
- 産生ssh密鑰
-
ssh-keygen -t dsa -P ' ' -f ~/.ssh/id_dsa
- 将Key放到許可證檔案中
-
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
4.配置Hadoop
- 安裝Hadoop
- 之前安裝Hadoop是3.2.0版本,我一直沒配上。然後試了下2.6.4版本就成了。而且之前我去官網下的,速度賊慢。在這裡采用指令行下載下傳(wget需要下載下傳),然後解壓
sudo wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop2.6.4.tar.gz sudo tar -zxvf hadoop-2.6.4.tar.gz
- 檢視Hadoop安裝目錄
- 将hadoop-2.6.4移到/usr/local/hadoop中,然後檢視安裝目錄
sudo mv hadoop-2.6.4 /usr/local/hadoop ll /usr/local/hadoop
- 設定Hadoop環境變量
-
在裡面末尾輸入以下内容:sudo gedit ~/.bashrc
儲存并退出,然後讓設定生效:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
source ~/.bashrc
- 編輯hadoop-env.sh
-
将下圖紅色部分改為:sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
- 設定core-site.xml
-
修改如下:sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- 設定yarn-site.xml
-
修改如下:sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
- 設定mapred-site.xml
-
修改如下:sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- 設定hdfs-site.xml
-
修改如下:sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value> </property> </configuration>
- 建立并格式化HDFS目錄
- 建立namenode目錄
建立datanode目錄sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
更改目錄所有者:sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
格式化HDFS:sudo chown node2:node2 -R /usr/local/hadoop
hadoop namenode -format
- 啟動Hadoop
-
1.可以分别啟動HDFS和YARN start-hdfs.sh start-yarn.sh
2.同時啟動 start-all.sh
這裡我采用同時啟動。此外,停止服務是stop-all.sh
- 檢視namenode、datanode程序
-
jps
- 打開Hadoop Resource-Manager Web頁面
-
在浏覽器輸入:
可以看到如下圖所示:
至此,大功告成!後面還需要搭建叢集,可以采取克隆虛拟機的方式,這裡不再叙述。更新一下,這裡建議大家用virtualbox+Ubuntu14.0,因為後期我在本機搭建僞分布式的時候,要設定網卡1、網卡2,vmware感覺不太友善。用Ubuntu14是因為要修改ip,18、16版本修改ip比14略麻煩,為了簡便一點是以建議14版。說多了都是淚啊~