工具及软件
1. ubuntu 12.04 (安装在虚拟机里 这里用的是vmware)
2. hadoop 2.6.5 点我下载
在进行本章节前,首先确认已经完成以下2步骤
接着进行ubuntu上安装 hadoop
首先 下载 hadoop 点我下载 我这里用的是 2.6.5版本 (2.x)
网络适配器设置成 host only (仅主机)模式
打开 vmware 安装路径下的 vmnetcfg.exe , 设置 VMnet1 的子网端 为8, 如下 192.168.8.100 这个是windows 系统的ip.
可以理解此计算机上安装了虚拟网卡,地址值 192.168.8.100,那之后我们可以通过虚拟机可以和外部windows通信
进入 虚拟机,设置ubuntu机器的IP地址,这里我们就直接UI界面手动设置固定IP,当然也可以通过命令设置
我们设置了地址是8 网段,和 宿主机器网段一样 地址:88
在用户名下创建 我的工作目录 如src
root@ubuntu:/home/dragon# mkdir src
通过 FileZilla上传 下载好的 hadoop2.6.5.tar.gz 文件
为了方便工作, 我们在跟目录创建自己的目录 如创建finder
#mkdir /finder
#mkdir /finder/hadoop
解压hadoop到 /finder/hadoop目录
#tar -zxvf /home/dragon/src/hadoop-2.6.5.tar.gz -C /finder/hadoop
设置环境变量
#nano /etc/profile
export HADOOP_HOME="/finder/hadoop/hadoop-2.6.5" export JAVA_HOME="/usr/java/jdk1.7.0_76" export PATH="$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" export JRE_HOME="$JAVA_HOME/jre" export CLASSPATH=".:$JAVA_HOME/lib:$JRE_HOME/lib"
hadoop-env.sh、 core-site.xml、 hdfs-site.xml、yarn.site.xml、 mapred-site.xml
1. 打开 hadoop-env.sh 设置JDK路径
# nano hadoop-env.sh # The java implementation to use. export JAVA_HOME=/usr/java/jdk1.7.0_76
2. 编辑 core-site.xml
# nano core-site.xml <configuration> <property> <name>fs.default.name</name> <!-- 指定HDFS 节点(namenode)的通信地址 --> <value>hdfs://192.168.8.88:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <!-- 指定hadoop运行时产生文件的存储路径,非正常意义上的临时文件 --> <value>/finder/hadoop/tmp</value> </property> </configuration>
3. 编辑 hdfs-site.xml
#nano hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <!-- 设置hdfs副本数量 这里我们只有一台机器,那肯定副本就写1个--> <value>1</value> </property> </configuration>
4. 编辑 mapred-site.xml
如果不存在mapred-site.xml :mapred-site.xml.template 需要重命名: mv mapred-site.xml.template mapred-site.xml
# nano mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name><!-- 通知框架MR使用YARN --> <value>yarn</value> </property> </configuration>
5. 编辑 yarn-site.xml
# nano yarn-site.xml <configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name><!-- reducer取数据的方式是mapreduce_shuffle --> <value>mapreduce_shuffle</value> </property><property> <name>yarn.resourcemanager.webapp.address</name> <!-- 资源管理WEB地址 最好设置,不设置可能 默认 8088端口不会启动 --> <value>192.168.8.88:8088</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>ubuntu</value> </property> </configuration>
文件配置好后, 下面就可以运行了
运行前首先需要 格式化 HDFS文件系统
进入 bin目录
执行
hdfs namenode -format执行成功后, 可以看到 hadoop.dir.tmp 指向的目录被初始化
现在可以启动hadoop了
进入 sbin目录cd /finder/hadoop/hadoop-2.6.5/sbin
执行:
./start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
当然以上的启动命令过时了,应该分别启动这2个命令 ./start-yarn.sh ./start-dfs.sh
启动的时候,需要输入密码,如果配置ssh 免登陆 就不需要设置密码了
由此要注意 ssh的端口 通过hadoop在启动的时候也需要连接的,如果 端口修改了,那么hadoop指向的 ssh-server的端口也需要修改
查看是否启动成功, 执行jps (注意: 如果 jps找不到) 查看环境变量有没有设置 或者 更新 source /etc/profile
如果还是不行 ,请查看JDK安装文章,重新选择JDK
root@ubuntu:/finder/hadoop/hadoop-2.6.5/sbin# which jps /usr/java/jdk1.7.0_76/bin/jps可以查看jps命令 原来是 jdk下面的命令
jps查看运行的进程
root@ubuntu:/finder/hadoop/hadoop-2.6.5/sbin# jps 6827 ResourceManager 6658 SecondaryNameNode 6389 Datanode 7039 NodeManager 6188 NameNode
这样就搞定 hadoop环境部署,并且搭建的 本地的为分布式环境
hadoop自带的web控制台GUI查看
下载使用 get
root@ubuntu:/finder# hadoop fs -put /home/dragon/src/hadoop-2.6.5.tar.gz hdfs://192.168.8.88:9000/hadoop root@ubuntu:/finder# hadoop fs -ls hdfs://192.168.8.88:9000 ls: `hdfs://192.168.8.88:9000': No such file or directory root@ubuntu:/finder# hadoop fs -ls hdfs://192.168.8.88:9000/ Found 5 items -rw-r--r-- 1 root supergroup 199635269 2017-02-21 12:15 hdfs://192.168.8.88:9000/hadoop -rw-r--r-- 1 root supergroup 142249690 2017-02-20 20:53 hdfs://192.168.8.88:9000/jdk drwx------ - root supergroup 0 2017-02-20 21:17 hdfs://192.168.8.88:9000/tmp -rw-r--r-- 1 root supergroup 40 2017-02-20 21:15 hdfs://192.168.8.88:9000/wc drwxr-xr-x - root supergroup 0 2017-02-20 21:20 hdfs://192.168.8.88:9000/wcout root@ubuntu:/finder# hadoop fs -get hdfs://192.168.8.88:9000/hadoop /finder/hadoop-x root@ubuntu:/finder# ls /finder hadoop hadoop-x
现在我们可以在 节点管理UI中查看
我们可以UI查看管理 和下载, 以及可以看到 分了哪些block(区块)