Hadoop 伪分布式搭建
Hadoop环境部署-JDK部分
准备工作
- 在 /opt/目录下创建文件夹modules,和softwares
- 修改操作权限(切换至root用户下)
- chown -R wxt:wxt /opt/
-
然后切换至普通用户
mkdir softwares
mkdir modules
-
-
- 安装lrzsz (在linux里可代替ftp上传和下载。)
首先安装lrzsz
yum -y install lrzsz
- 上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。
rz
- 下载文件,执行命令sz
sz
Hadoop环境部署-JDK部分
- 上传jdk 至softwares
- 解压jdk 至modules
- tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
- 解压jdk 至modules
- 修改环境变量
- 切换至 root 用户修改 vi /etc/profile 文件,配置jdk环境变量
#JAVA_HOME export JAVA_HOME=/opt/modules/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin
- 修改环境变量
source /etc/profile 使文件生效
-
验证是否配置成功
- java -version
java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
jps命令可以查看java 进程
echo $JAVA_HOME
Hadoop伪分布式环境部署-Hadoop部分
- 上传文件hadoop-2.5.0.tar.gz,至softwares
- 解压文件至modules
- tar -zxvf hadoop-2.5.0.tar.gz -C /opt/modules/
- 清理Hadoop的目录,将hadoop/share/doc目录删除,节省磁盘空间, 通过这个命令查看df -h
- 修改hadoop/etc/hadoop/hadoop-env.sh文件
- 修改hadoop/etc/hadoop/mapred-env.sh文件
- 修改hadoop/etc/hadoop/yarn-env.sh文件
- 指定Java安装路径
- export JAVA_HOME=/opt/modules/jdk1.7.0_67
- 注意:
- Hadoop中的四个核心模块对应四个默认配置文件
- HDFS,Hadoop默认的文件系统,是文件系统的访问入口
- Namenode,所在的机器9000端口是早期Hadoop 1.x使用的,现在 Hadoop 2.x使用的是8020端口号用于节点直接内部通信,使用RPC
通信机制
- 注意:
- 修改hadoop/etc/hadoop/core-site.xml文件
<property> <name>fs.defaultFS</name> <!--bigdata-4 为我的localhost 名字--> <value>hdfs://bigdata-4:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/modules/hadoop-2.5.0/data/tmp</value> </property>
- 修改hadoop/etc/hadoop/core-site.xml文件
- 注意:
- /tmp表示临时存储目录,系统每次重启会按照脚本预先设置好的删 除 里面的文件重新自定义系统生成的文件路径,/tmp会被清空,
无法保证数据文件安全性。
- /tmp表示临时存储目录,系统每次重启会按照脚本预先设置好的删 除 里面的文件重新自定义系统生成的文件路径,/tmp会被清空,
- 注意:
-
修改hadoop/etc/hadoop/hdfs-site.xml文件
- 指定HDFS文件存储的副本数个数,默认是3个,这里是单台机
器就设置为1,这个数字要小于datanode的节点数。
<property> <name>dfs.replication</name> <value>1</value> </property>
- 指定HDFS文件存储的副本数个数,默认是3个,这里是单台机
-
- 修改hadoop/etc/hadoop/slaves文件
- 指定从节点的机器位置,添加主机名即可
bigdata-4
- 修改hadoop/etc/hadoop/slaves文件
- 格式化namenode
bin/hdfs namenode -format
- 格式化namenode
- 启动命令
- sbin/hadoop-daemon.sh start namenode
- sbin/hadoop-daemon.sh start datanode
- 启动命令
- 查看HDFS外部UI界面
- bigdata-04或者IP地址 跟上50070端口号,外部通信http
dfs.namenode.http-address 50070 - http://bigdata-4:50070 (如果windows本地没有配置hosts,需要配置)
- 如果不能正确打开页面,请检查防火墙是否关闭
- 切换至root 用户,service iptables status
- 关闭防火墙 chkconfig iptables off
- bigdata-04或者IP地址 跟上50070端口号,外部通信http
- 查看HDFS外部UI界面
- 测试HDFS环境
- 创建文件夹,HDFS中有用户主目录的概念,和Linux一样
- bin/hdfs dfs -mkdir -p wxt_test/iuput
- 测试HDFS环境
- 上传文件到HDFS(随便找一个文件上传就行)
- bin/hdfs dfs -put /opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml wxt_test/input/core-site.xml
- 上传成功,HDFS外部UI界面,会有上传的文件显示
- 上传文件到HDFS(随便找一个文件上传就行)
- 读取HDFS的文件
- bin/hdfs dfs -text /core-site.xml
- 终端会显示上传文件的内容。
- 读取HDFS的文件
-
下载文件到本地(指定下载到哪里,同时可以重命名成get-site.xml)
bin/hdfs dfs -get /core-site.xml /home/wxt/Desktop/get-site.xml
然后你会看到这个文件,并且重命名于桌面。
-
Hadoop 伪分布式搭建至此结束。
写在后面
- 至于优化,下篇再写
- 学习中有什么问题,可以在下面留言。
更新
下篇已更,如有需要请点这里wordcount