建立可使用與遠程調試的僞分佈式Hadoop集羣

爲了進行遠程調試,在基本的Hadoop配置上修改幾個點:
首先修改主機名映射,修改/etc/hostname中的主機名,例如hadoop,然後在/etc/hosts文件中定定義ip地址 和主機名映射,例如 114.223.33.3 hadoop。
然後在配置一般配置過程中的localhost修改爲0.0.0.0,後面具體說明。

添加新的hadoop用戶。注意Ubuntu下是adduser不是useradd否則/home下沒有對應的家目錄。 並通過sudo adduser hadoop sudo爲其添加管理員權限。

這裏寫圖片描述

這裏寫圖片描述

切換至hadoop用戶:su - hadoop(- 表示同時切換環境,切換回root使用 sudo su)。

更新apt: sudo apt-get update

安裝jdk: sudo apt-get install openjdk-8-jdk
查看路徑:dpkg -L openjdk-8-jdk

這裏寫圖片描述

配置環境變量: sudo vi ~/.bashrc 修改系統配置,添加如下(javahome的值看上圖):

# java,:表示追加內容
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

source /etc/profile啓用
java -version查看版本,成功顯示即配置成功。

安裝SSH、配置SSH無密碼登陸 Hadoop是分佈式系統,通過網絡操作,需要配置ssh。集羣、單節點模式都需要用到 SSH 登陸(類似於遠程登陸,你可以登錄某臺 Linux 主機,並且在上面運行命令),Ubuntu 默認已安裝了 SSH client,此外還需要安裝 SSH server

安裝: sudo apt-get install openssh-server
登陸:ssh 主機名
退出:exit

現在設置免密登陸。

cd ~/.ssh/                     # 若沒有該目錄,請先執行一次ssh 主機
ssh-keygen -t rsa              # 會有提示,都按回車就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授權

安裝Hadoop:
建立新文件夾:mkdir /usr/localhost/hadoop
轉到:cd /usr/localhost/hadoop
下載
wget http://mirrors.hust.edu.cn/apache/hadoop/common/stable2/hadoop-2.7.4.tar.gz
解壓:tar -zxvf hadoop-2.7.4.tar.gz

Hadoop配置
Hadoop2.7的配置文件都放在 hadoop-2.7.4/etc/hadoop 中,下面需要修改幾個配置文件。

vim ./etc/hadoop/hadoop-env.sh ,進入修改配置文件 將其中的export JAVA_HOME的註釋取消,並修改成java安裝路徑(可以使用; $JAVA_HOME查看)

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

hdfs-site.xml ,在新建目錄dfs/name和dfs/data,作爲namenode和datanode的路徑,這裏是設置namenode和datanode兩個節點的路徑,來模擬分佈式.

mkdir dfs
mkdir dfs/data
mkdir dfs/name

<configuration>
      <property>
           <name>dfs.replication</name>
           <value>1</value>
      </property>
      <property>
           <name>dfs.namenode.name.dir</name>
           <value>file:/usr/localhost/hadoop/dfs/name</value>
      </property>
      <property>
           <name>dfs.datanode.data.dir</name>
           <value>file:/usr/localhost/hadoop/dfs/data</value>
      </property>

core.site.xml,在/myhadoop目錄下建立tmp文件夾,配置默認設置,否則每次啓動Hadoop都要重新配置。。

# 注意這裏其他人一般配置爲localhost,但是我們要設置爲0.0.0.0,否則無法連接

<configuration>
      <property>
           <name>hadoop.tmp.dir</name>
           <value>file:/home/hadoop/myhadoop/tmp</value>
           <description>Abase for other temporary directories.</description>
      </property>
      <property>
           <name>fs.defaultFS</name>
           <value>hdfs://0.0.0.0:9000</value>
      </property>

若要全局使用Hadoop,需要設置一下hadoop的環境變量 同樣的 進入/etc/profile 修改如下(記得通過source ~/.bashrc生效):

# java, the : is Signify that add operation
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

# hadoop
export HADOOP_HOME=/usr/local/hadoop/hadoop2.7.4
export PATH=$PATH:$HADOOP_HOME/bin

格式化並啓動Hadoop:格式化namenode 在hadoop安裝目錄下執行。
完成之後,可以看到exit 0 就表示成功格式化

./bin/hdfs namenode -format
./sbin/start-all.sh

通過jps查看,顯示下圖成功。

這裏寫圖片描述

ps:如果格式化不成功或者需要重新格式化會導致namenode和datanode中的clusterID數值不一致,將namenode中的編號複製到datanode中。

這裏寫圖片描述

發佈了53 篇原創文章 · 獲贊 44 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章