工具及软件
1. ubuntu 12.04 (安装在虚拟机里 这里用的是vmware)
2. hadoop 2.6.5 点我下载
在进行本章节前,首先确认已经完成以下2步骤
1. ubuntu 上安装ssh 服务
2. ubuntu 上安装JDK
接着进行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相关配置,共需要修改 5个文件
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(区块)