Hadoop安裝(完全分布式)

有空朴皆,上一個(gè)完整過程捡絮。

software version
operating system Ubuntu 18.04.3 LTS
jdk version 1.8.0_232
hadoop version 3.1.3

一昙楚、install java

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jre openjdk-8-jdk -y
$ dpkg -L openjdk-8-jdk | grep '/bin'    (or whereis)
$ vim ~/.profile
?```
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
?```
$ source ~/.profile

將以上寫入shell腳本(記得echo時(shí)$符號(hào)前加反斜杠 ' \ ')可能不識(shí)別source命令,則:

$ ls -l \`which sh\`  # 發(fā)現(xiàn)sh不對(duì):bin/sh -> dash
$ sudo dpkg-reconfigure dash  # 選擇 no
$ ls -l \`which sh\`  # 此時(shí)為 bin/sh -> bash ,即可以在shell腳本中執(zhí)行source

二、install hadoop

$ sudo apt-get install ssh
$ sudo apt-get install pdsh -y
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
$ tar -zxvf hadoop-3.1.3.tar.gz

三绒尊、single node配置

將java路徑添加至etc/hadoop/hadoop-env.sh
將Hadoop路徑添加至系統(tǒng)環(huán)境配置 ~/.profile

$ echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"  >> etc/hadoop/hadoop-env.sh
$ echo "export HADOOP_HOME=/home/vickee/bigData/hadoop-3.1.3" >> ~/.profile
$ echo "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> ~/.profile
$ hadoop

四、fully distributed(完全分布式配置)

三臺(tái)主機(jī):

role hostname
master blockchain004
slave1 blockchain002
slave2 blockchain003

1. Install java && Hadoop for each node(同上文一仔粥、二、蟹但,不再贅述)

2. 配置主機(jī)名(on each node)

$ vim /etc/hostname
$ vim /etc/hosts    # IP and hostname of all nodes inthe expected clusetr

3. 關(guān)閉防火墻

  • on ubuntu
$ sudo ufw status
$ sudo ufw disable
  • on centos
$ sudo systemctl status firewalld
$ sudo systemctl stop firewalld

4. 時(shí)間同步

$ sudo apt-get install ntp
$ ntpdate -u ntp1.aliyun.com
$ date  # test if ok 

5. 配置ssh免密

  • on each node
$ ssh-keygen -t rsa
  • on each slave
$ scp .ssh/id_rsa.pub vickee@master.ip.xxx.xxx:.ssh/id_rsa_002.pub
  • on master
$ cd .ssh
$ cp id_rsa.pub authorized_keys
$ cat id_rsa_002.pub >> authorized_keys # for each slave pub
$ scp authorized_keys vickee@slave.ip.xxx.xxx:.ssh # for each slave ip

6. 配置Hadoop

在master節(jié)點(diǎn)更改配置文件后后發(fā)送至slave節(jié)點(diǎn)躯泰。

  1. hadoop-env.sh
$ echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> etc/hadoop/hadoop-env.sh
  1. * yarn-env.sh
$ echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> etc/hadoop/yarn-env.sh
  1. core-site.xml
$ vim etc/hadoop/core-site.sh
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://blockchain-004:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/vickee/bigData/temp</value>
    </property>
</configuration>
  1. hdfs-site.xml
$ vim etc/hadoop/hdfs-site.sh
<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>blockchain-004:9001</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/vickee/bigData/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/vickee/bigData/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.web.ugi</name>
        <value>supergroup</value>
    </property>
</configuration>
  1. mapred-site.xml
$ vim etc/hadoop/mapred-site.sh
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>blockchain-004:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>blockchain-004:19888</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/home/vickee/bigData/hadoop-3.1.3</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/home/vickee/bigData/hadoop-3.1.3</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/home/vickee/bigData/hadoop-3.1.3</value>
   </property>
</configuration>

note: 我初始配置時(shí)沒有添加最后三個(gè)屬性,導(dǎo)致運(yùn)行基準(zhǔn)測試工具TestDFSIO時(shí)出現(xiàn)錯(cuò)誤:

Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

Please check whether your etc/hadoop/mapred-site.xml contains the below configuration:
......
  1. yarn-site.xml
$ vim etc/hadoop/yarn-site.sh
<configuration>
    <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>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>blockchain-004:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>blockchain-004:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>blockchain-004:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>blockchain-004:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>blockchain-004:8088</value>
    </property>
</configuration>
  1. worker
$ vim etc/hadoop/workers
blockchain-002
blockchain-003
  1. 發(fā)送配置文件夾到salves上
$ scp -r etc/hadoop/ vickee@slave.ip.xxx.xxx:/home/vickee/bigData/hadoop-3.1.3/etc/
  1. 格式化主節(jié)點(diǎn)hadoop
$ hadoop namenode -format

提示:successfully formatted

  1. 啟動(dòng)
$ ./sbin/start-all.sh

可通過jps命令在各節(jié)點(diǎn)中查看Hadoop的相關(guān)進(jìn)程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末华糖,一起剝皮案震驚了整個(gè)濱河市麦向,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌客叉,老刑警劉巖诵竭,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異兼搏,居然都是意外死亡卵慰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門佛呻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裳朋,“玉大人,你說我怎么就攤上這事吓著±鸬眨” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵绑莺,是天一觀的道長暖眼。 經(jīng)常有香客問我,道長纺裁,這世上最難降的妖魔是什么诫肠? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮对扶,結(jié)果婚禮上区赵,老公的妹妹穿的比我還像新娘。我一直安慰自己浪南,他們只是感情好笼才,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著络凿,像睡著了一般骡送。 火紅的嫁衣襯著肌膚如雪昂羡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天摔踱,我揣著相機(jī)與錄音虐先,去河邊找鬼。 笑死派敷,一個(gè)胖子當(dāng)著我的面吹牛蛹批,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播篮愉,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼腐芍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了试躏?” 一聲冷哼從身側(cè)響起猪勇,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颠蕴,沒想到半個(gè)月后泣刹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡犀被,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年椅您,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寡键。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡襟沮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昌腰,到底是詐尸還是另有隱情开伏,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布遭商,位于F島的核電站固灵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏劫流。R本人自食惡果不足惜巫玻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祠汇。 院中可真熱鬧仍秤,春花似錦、人聲如沸可很。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽我抠。三九已至苇本,卻和暖如春袜茧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓣窄。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工笛厦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人俺夕。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓裳凸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親劝贸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子登舞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容