老是要學點什麼是吧,Java學大數據聽說很快,就從這面入手了,正好項目在使用能夠get一項新技能了,距離全棧工程師又進了一步不是麼?node
#Hadoop安裝(僞集羣)web
######此處不介紹Hadoop和其餘組件的說明,詳細請百度apache
注意大家的主機名,千萬不要用中文,雖然不影響,看網上的各類文章有的是須要改機器名的。瀏覽器
安裝JAVA環境變量(不介紹了)ssh
我用的是Ubuntu Mint,默認安裝了SHH clien了分佈式
sudo apt-get install openssh-server
oop
若是你的系統沒有安裝SHH
sudo apt-get install openssh-client sudo apt-get install openssh-server sudo apt-get install chkconfig
安裝完成後大數據
ssh localhost
code
此時會有提示,輸入yes,而後輸入密碼登陸。這樣就安裝完畢,退出exit。 配置SSH無密碼登陸,進入到用戶根目錄的ssh目錄
cd ~/.ssh/ #若是沒有該目錄,請執行ssh localhost ssh-keygen -t rsa #無密碼登陸 cat ./id_rsa.pub >> ./authorized_keys #加入受權
此時從新登陸 ssh不須要密碼
下載最新的Hadoop,我用的是Hadoop2.7.0 ,解壓至目錄。orm
接下來修改各類配置文件,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
僞分佈式從節點配置,修改slaves,默認是localhost,你能夠寫本身的機器名或IP
修改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>
<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>
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
<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>
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
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
#先建一個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