Hadoop2.7.0僞分佈式安裝教程

老是要學點什麼是吧,Java學大數據聽說很快,就從這面入手了,正好項目在使用能夠get一項新技能了,距離全棧工程師又進了一步不是麼?node

#Hadoop安裝(僞集羣)web

######此處不介紹Hadoop和其餘組件的說明,詳細請百度apache

  1. 注意大家的主機名,千萬不要用中文,雖然不影響,看網上的各類文章有的是須要改機器名的。瀏覽器

  2. 安裝JAVA環境變量(不介紹了)ssh

  3. 我用的是Ubuntu Mint,默認安裝了SHH clien了分佈式

sudo apt-get install openssh-serveroop

若是你的系統沒有安裝SHH
sudo apt-get install  openssh-client

 sudo apt-get install  openssh-server

 sudo apt-get install chkconfig

安裝完成後大數據

ssh localhostcode

此時會有提示,輸入yes,而後輸入密碼登陸。這樣就安裝完畢,退出exit。

配置SSH無密碼登陸,進入到用戶根目錄的ssh目錄
cd ~/.ssh/        #若是沒有該目錄,請執行ssh localhost

 ssh-keygen -t rsa    #無密碼登陸

 cat ./id_rsa.pub >> ./authorized_keys    #加入受權
此時從新登陸 ssh不須要密碼
  1. 下載最新的Hadoop,我用的是Hadoop2.7.0 ,解壓至目錄。orm

  2. 接下來修改各類配置文件,Hadoop的配置文件在 /etc/hadoop/目錄下

首先修改hadoop-env.sh ,yarn-env.sh,mapred-env.sh,將其中的{JAVA_HOME}修改成你的jdk目錄

export JAVA_HOME=/home/dzy/runsofts/jdk1.8.0_77
  1. 僞分佈式從節點配置,修改slaves,默認是localhost,你能夠寫本身的機器名或IP

  2. 修改core-site.xml配置,以下

<configuration>

        <property>

             <name>hadoop.tmp.dir</name>

             <value>file:/home/dzy/hadoop/tmp</value>

             <description>Abase for other temporary directories.     </description>

        </property>

        <property>

             <name>fs.defaultFS</name>

             <value>hdfs://localhost:9000</value>

        </property>

 </configuration>
  1. 修改hdfs-site.xml,以下
<configuration>

        <property>

             <name>dfs.replication</name>

             <value>1</value>

        </property>

        <property>

             <name>dfs.namenode.name.dir</name>

             <value>file:/home/dzy/hadoop/tmp/dfs/name</value>

        </property>

        <property>

             <name>dfs.datanode.data.dir</name>

             <value>file:/home/dzy/hadoop/tmp/dfs/data</value>

        </property>

 </configuration>
  1. 修改mapred-site.xml,將mapred-site.xml.template複製一份重命名mapred-site.xml,修改內容以下:
<configuration>

	<property>

		<name>mapreduce.framework.name</name>

		<value>yarn</value>

	</property>

 </configuration>
  1. 修改yarn-site.xml ,以下:
<configuration>

 <!-- Site specific YARN configuration properties -->

	<property>

		<name>yarn.resourcemanager.hostname</name>

		<value>localhost</value>

	</property>

 <property>

		<name>yarn.nodemanager.aux-services</name>

		<value>mapreduce_shuffle</value>

	</property>

 </configuration>
  1. 格式化hdfs文件系統,進入bin目錄執行

hadoop namenode -format

而後進入sbin目錄執行

dzy@dzy-pc ~/runsofts/hadoop/sbin $ ./start-dfs.sh

 Starting namenodes on [localhost]

 localhost: starting namenode, logging to   /home/dzy/runsofts/hadoop/logs/hadoop-dzy-namenode-dzy-pc.out
 localhost: starting datanode, logging to  /home/dzy/runsofts/hadoop/logs/hadoop-dzy-datanode-dzy-pc.out

 Starting secondary namenodes [0.0.0.0]

 0.0.0.0: starting secondarynamenode, logging to  /home/dzy/runsofts/hadoop/logs/hadoop-dzy-secondarynamenode-dzy-pc.out

 # 等待啓動完畢後

 dzy@dzy-pc ~/runsofts/hadoop/sbin $ jps

 17585 SecondaryNameNode

 17268 NameNode

 17403 DataNode

 17740 Jps

此時啓動了NameNode、SecondaryNameNode、DataNode,咱們能夠經過瀏覽器訪問查看hdfs:localhost:50070

  1. 啓動yarn
dzy@dzy-pc ~/runsofts/hadoop/sbin $ ./start-yarn.sh 

 starting yarn daemons

 starting resourcemanager, logging to /home/dzy/runsofts/hadoop/logs/yarn- dzy-resourcemanager-dzy-pc.out

 localhost: starting nodemanager, logging to  /home/dzy/runsofts/hadoop/logs/yarn-dzy-nodemanager-dzy-pc.out

 dzy@dzy-pc ~/runsofts/hadoop/sbin $ jps

 17585 SecondaryNameNode

 18260 NodeManager

 17268 NameNode

 18151 ResourceManager

 18583 Jps

 17403 DataNode

 dzy@dzy-pc ~/runsofts/hadoop/sbin $

如上,執行完後發現,進程已經多了NodeManager、ResourceManager

  1. 複製一些文件到hdfs系統中吧,驗證一下嘛。
#先建一個hdfs目錄,注意此目錄不是物理的也就是用普通的ls -lsa是看不見的。

 dzy@dzy-pc ~/runsofts/hadoop/bin $ ./hadoop fs -mkdir -p ~/hadoopinput

 #複製一些文件進去

 dzy@dzy-pc ~/runsofts/hadoop/bin $ ./hadoop fs -put ../etc/hadoop/*.xml  ~/hadoopinput

 #查看目錄中有那些文件

 dzy@dzy-pc ~/runsofts/hadoop/bin $ ./hadoop fs -ls ~/hadoopinput

 #下條ls命令只能顯示執行任務結果的文件夾,因此要記住 ~/hadoopinput  這個名字,忘記了可刪不了- -

 dzy@dzy-pc ~/runsofts/hadoop/bin $ ./hadoop fs -ls 

 Found 1 items

 drwxr-xr-x   - dzy supergroup          0 2016-04-07 23:37 output

 #刪除輸出結果目錄

 dzy@dzy-pc ~/runsofts/hadoop/bin $ ./hadoop fs -rm -r output

hadoop web控制檯頁面的端口整理: 50070:hdfs文件管理 8088:ResourceManager 8042:NodeManager 19888:JobHistory(使用「mr-jobhistory-daemon.sh」來啓動JobHistory Serve

相關文章
相關標籤/搜索