Hadoop 简要安装(三) 作者: 王十三 时间: 2017-05-01 分类: 安装过程 评论 > 初始环境 之前我们已经安装伪部署版本。 按照 之前的计划 我们还有两个节点服务器 36,37 服务器 192.168.31.36 , 192.168.31.37 ##环境准备 修改三台服务器名称 su vi /etc/sysconfig/network //192.168.31.30 ,Master //192.168.31.36 ,Slave36 //192.168.31.37 ,Slave37 映射IP su vi /etc/hosts ---------------------------------------- 192.168.31.30 Master 192.168.31.31 Job 192.168.31.36 Slave36 192.168.31.37 Slave37 ---------------------------------------- 复制 hadoop 到客户机上面。 // 192.168.31.36,192.168.31.37 cd /public_data/ //这个是我的虚拟机映射的目录,大家根据自己情况下载 cp -Rf ./hadoop/hadoop-2.6.4 /usr/local/hadoop SSH 登录 实现服务器之间的免登录 (30 免登录到 36 ,37) 方法一: // 192.168.31.30 su hadoop cp ~/.ssh/id_rsa.pub /public_data/hadoop/ // 192.168.31.36,192.168.31.37 su hadoop mkdir ~/.ssh/ cat /public_data/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh/ 方法二: //192.168.31.30 su hadoop ssh-copy-id 192.168.31.36 ssh-copy-id 192.168.31.37 //注意如果发送密码完成后。依然不能登录。 chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys //权限不对也可能导致无法登录 ##配置服务器 192.168.31.30 由之前伪分布式 改成 正式 Master 不在负责存储 // 192.168.31.30 编辑 ./etc/hadoop/slaves 文件 slaves 文件是向 Master 说明有几个节点服务器 --------------------------------------------------------------- #文本 localhost #更变为 192.168.31.36 192.168.31.37 --------------------------------------------------------------- 然后关闭防火墙 (测试方便,关闭三个服务器防火墙) service iptables stop #配置节点服务器 192.168.31.36, 192.168.31.37 这两个服务器好配置。只需要将 Master( 192.168.31.30) 上的 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 复制过去就好了 //core-site.xml fs.defaultFS hdfs://192.168.31.30:9000 hadoop.tmp.dir file:/usr/local/hadoop/tmp Abase for other temporary directories. //hdfs-site.xml dfs.namenode.secondary.http-address 192.168.31.30:50090 dfs.replication 1 dfs.namenode.name.dir file:/usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/hadoop/tmp/dfs/data // mapred-site.xml mapreduce.framework.name yarn mapreduce.jobhistory.address 192.168.31.30:10020 mapreduce.jobhistory.webapp.address 192.168.31.30:19888 //yarn-site.xml yarn.resourcemanager.hostname 192.168.31.30 yarn.nodemanager.aux-services mapreduce_shuffle ##启动 192.168.31.30 主服务器 /usr/local/hadoop/sbin/start-dfs.sh ![启动主服务器](/images/install-hadoop-3-img-1.png) 我们可以看到两个 36,37服务器 节点服务器已经启动成功了 访问 http://192.168.31.30:50070/dfshealth.html ![启动主服务器](/images/install-hadoop-3-img-2.png) ![启动主服务器](/images/install-hadoop-3-img-3.png) #启动YARN 8088 端口 /usr/local/hadoop/sbin/start-yarn.sh #启动 historyserver 服务 19888端口 /usr/local/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver ##测试上传 //创建用户名称 hdfs dfs -mkdir -p /user/hadoop //创建用户下的文件夹 hdfs dfs -mkdir box //上传到文件夹中 hdfs dfs -put ./vagrant-centos-6.7.box box ##问题记录 1.在启动Master(192.168.31.30)后,查看 Slave36(192.168.31.36) Slave37(192.168.31.37) 执行 JPS 名称 ![检查启动项目](/images/install-hadoop-3-img-4.png) 看下 DataNode 是否已经启动 2。NameNode 格式化前 最好将缓存全部请空掉。不然无法启动。每次格式化都会导致DHFS的磁盘UID变更。所以清空就好了。
Hadoop 简要安装(二) 作者: 王十三 时间: 2017-04-01 分类: 安装过程 评论 > 初始环境 http://wangshisan.com/blog/install-hadoop-one.html #准备工作 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.4/ hadoop-2.6.4.tar.gz 编译版本 hadoop-2.6.4-src.tar.gz 源码版本 我个人不喜欢使用源码版本。所以直接使用编译版本,如果后期我们需要改变环境时。在使用源码版本。 ##解压文件 cd /vagrant tar zxvf ./hadoop-2.6.4.tar.gz //解压hadoop sudo mv ./hadoop-2.6.4 /usr/local/ //改变目录路径 cd /usr/local/ //跳入目录 sudo mv ./hadoop-2.6.4 ./hadoop //改变目录名称 sudo chmod -R hadoop:hadoop ./hadoop //修改目录所属用户与组 ##测试 建立一个目录。随便放入一些文本文件。让hadoop 去进行检索。计算个数 cd /usr/local/hadoop sudo mkdir ./input // 创建一个测试目录 sudo cp ./etc/hadoop/*.xml ./input // 随便放入一些文件进入 让HADOOP进行检索 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep ./input ./output 'dfs[a-z.]+' cat ./output/* PS:每次运行 hadoop 测试 都需要删除 output 目录。 hadoop 不会删除或者覆盖这个目录的。不然就报错的。 ##恭喜你单机版已安装完成了,下面来做伪分布式 ##设置 Hadoop 环境变量 sudo vi /etc/profile ---------------------------------------------------------------- export HADOOP_HOME=/usr/local/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin ---------------------------------------------------------------- sudo source /etc/profile ##配置缓存配置与HDFS配置 cd /usr/local/hadoop vi ./etc/hadoop/core-site.xml ----------------------------------------------------------------- hadoop.tmp.dir file:/home/hadoop/tmp Abase for other temporary directories. fs.defaultFS hdfs://localhost:9000 ------------------------------------------------------------------ vi ./etc/hadoop/hdfs-site.xml ------------------------------------------------------------------ dfs.replication 1 dfs.namenode.name.dir file:/home/hadoop/tmp/dfs/name dfs.datanode.data.dir file:/home/hadoop/tmp/dfs/data ------------------------------------------------------------------ //配置完成后,执行NAMENODE格式化 ./bin/hdfs namenode -format > 成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。 ![Exitting with status 0 or 1 ](/images/install-hadoop-two-img-1.png) ## 启动YARN (MapReduce) mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml vi ./etc/hadoop/mapred-site.xml.template ------------------------------------------------------------------ mapreduce.framework.name yarn ------------------------------------------------------------------ vi ./yarn-site.xml yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname 192.168.31.30 ## 初始化 HDFS 的文件系统 ./bin/hdfs namenode -format ##启动HDFS Yarn ./sbin/start-dfs.sh //启动HDFS ![检查启动项目](/images/install-hadoop-two-img-2.png) ./sbin/start-yarn.sh //启动YARN ![检查启动项目](/images/install-hadoop-two-img-3.png) ##验证登录 http://192.168.31.30:50070 //查看HDFS ![查看存活的节点](/images/install-hadoop-two-img-4.png) ![查看存活的节点](/images/install-hadoop-two-img-5.png) ./bin/hdfs dfs -mkdir -p /user/hadoop //创建用户的目录 (非必要) ./bin/hdfs dfs -mkdir input (在用户下面创建目录,根据当前登录的用户名) ![查看已开放的目录](/images/install-hadoop-two-img-6.png) http://192.168.31.30:8088 // 查询YARN
Hadoop 简要安装(一) 作者: 王十三 时间: 2017-03-01 分类: 安装过程 评论 > 初始环境 vagrant box https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box > 计划构建 > > node1 : HDFS NameNode + Spark Master //对外服务器 > > node2 : YARN ResourceManager + JobHistoryServer + ProxyServer //调度服务器 job > > node3 : HDFS DataNode + YARN NodeManager + Spark Slave //节点服务器1 > > node4 : HDFS DataNode + YARN NodeManager + Spark Slave //节点服务器2 #Hadoop 个人理解。 Hadoop 只是一个数据框架。基于分布式文件(HDSF)上的一种协议。不要被神话吓到了。就和我们编写程序一样。只是加载了几个类。方便用而已。 #Hadoop 安装准备 1.首先安装 JAVA SDK sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel vi /etc/profile //新增JDK的环境变量 > export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64/ [root@localhost vagrant]# java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) [root@localhost vagrant]# $JAVA_HOME/bin/java -version openjdk version "1.8.0_71" OpenJDK Runtime Environment (build 1.8.0_71-b15) OpenJDK 64-Bit Server VM (build 25.71-b15, mixed mode) 2.创建hadoop 用户 su root //切换ROOT用户 useradd -m hadoop -s /bin/bash //创建hadoop 用户 passwd hadoop //修改密码 visudo //特殊处理 给 Hadoop 增加管理员权限 (个人测试设置,生产环境不敢这样设置) ------------------------------------------------------ >## Allow root to run any commands anywhere >root ALL=(ALL) ALL >hadoop ALL=(ALL) ALL ------------------------------------------------------ 3.使用vagrant 打包虚拟机 sudo rm -f /etc/udev/rules.d/70-persistent-net.rules //删除liuunx 网卡配置 vagrant package --output centos-java-hadoop.box //母机目录下打包vagrant box 建立一个基础镜像未来将会使用该基础进行搭建HADOOP节点。 4.vagrant 加载基础镜像 vagrant box add hadoop-base ./centos-java-hadoop.box 5.创建 vagrant 集群 Vagrant.configure(2) do |config| config.vm.define "service" do |node| node.vm.box = "hadoop-base" node.vm.network "private_network", ip: "192.168.31.30" node.vm.synced_folder "./data", "/hadoop_data" node.vm.provider "virtualbox" do |v| v.name = "service" v.customize ["modifyvm", :id, "--memory", "1024"] end end config.vm.define "service-job" do |node| node.vm.box = "hadoop-base" node.vm.network "private_network", ip: "192.168.31.31" node.vm.synced_folder "./data", "/hadoop_data" node.vm.provider "virtualbox" do |v| v.name = "service-job" v.customize ["modifyvm", :id, "--memory", "1024"] end end config.vm.define "service-node-1" do |node| node.vm.box = "hadoop-base" node.vm.network "private_network", ip: "192.168.31.36" node.vm.synced_folder "./data", "/hadoop_data" node.vm.provider "virtualbox" do |v| v.name = "service-node-1" v.customize ["modifyvm", :id, "--memory", "1024"] end end config.vm.define "service-node-2" do |node| node.vm.box = "hadoop-base" node.vm.network "private_network", ip: "192.168.31.37" node.vm.synced_folder "./data", "/hadoop_data" node.vm.provider "virtualbox" do |v| v.name = "service-node-2" v.customize ["modifyvm", :id, "--memory", "1024"] end end end