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

相关文章
相关标签/搜索