所有操作在虚拟机下完成,虚拟机软件选用VMware Workstation Pro 12 (后文简称为VM)

关于Linux安装不再阐述
一、网络环境配置

  1)Windows界面

  首先在VM页面,点击虚拟网络编辑器

  

  进入后把vmnet8改为nat模式

  

  次之,点击上图红框右边的NAT设置网关,前缀随意,记得数字1结尾

  

  然后修改子网IP,要求在网段内

  

  继而设置本机的vmnewt8,博主为windows10

  在网络连接设置中

  

  设置ipv4,双击即可

  

  设置与刚才虚拟机设置的ip为统一网段内

  

  

  2)Linux界面

  setup指令,进入设置伪图形界面

  选择网络设置

  

  

  

  选择当前虚拟网卡(当前我的系统下只有一块虚拟网卡,最多可以有8块)

  

  进入

  

  从上至下为

  网卡名字、网卡设备、是否自动获取(若自动获取DHCP中为*)、IP地址、子网掩码、默认网关、DNF服务器、备用DNS服务器

  设置完毕后退出,然后重启网关

  重启指令为  sudo service network restart

  

  然后cmd下测试

  

  成功

  网络配置到此结束

  

二、软件环境配置

  由此开始不再在linux虚拟机上直接操作,使用SecureCRTPortable进行远程连接

  打开软件后点击闪电图标连接

  

  设置

  

  输入密码并保存密码

  

  进入成功后,在界面ALT+P  可进入SFTP界面(SSH)

  使用 put 路径(例如:put C:\jdk-7u_65-i585.tar.gz)

  可将本机软件拷贝至远程主机(linux虚拟机)

  

  传输完毕后删除不需要的文件夹

  rm -rf 文件夹名

  新建文件夹application

  mkdir application

  然后把jdk解压至application文件夹

  tar -zxvf jdk-7u_65-i585.tar.gz -C application/

  

  接下来配置环境变量(CentOS下 vi与vim没区别)  shift+g 到达文章最下一行,gg第一行   shift+$到达行尾

  sudo vi /etc/profile

  在文件最后添加  SecureCRTPortable左键选中是复制,右键一下就是粘贴

  export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
  export PATH=$PATH:$JAVA_HOME/bin

  刷新配置文件

  source /etc/profile

  检测是否成功

  java -version

  

  jdk环境变量搞定

  下面进行Hadoop配置

  文件传输、解压方法和jdk一样

  解压到application后删除 doc 帮助文档(不删也没事,只是节省点存储空间)

  接下来修改配置文件,Hadoop的配置文件在/etc/hadoop目录下,需要修改的文件如下所示

第一个:hadoop-env.sh

vim hadoop-env.sh
#第27行  数字打27然后按enter键可以从文头直达27行

#这里要写死,原本是自动读取系统变量,但有时候读不到

#echo $JAVA_HOME   可以输出变量值

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65

 第二个:core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<!-- localhost为你自己的主机名称,端口号自定义,默认9000 -->
<value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<!-- 真实环境应当单独指定NameNode和DataNode的挂载点,可以拓展更多的磁盘 -->
<value>/home/hadoop/application/hadoop-2.4.1/data</value>
</property>

以上配置都在<configuration></configuration>中加入

 第三个:hdfs-site.xml

<!-- 指定HDFS副本的数量 ,因为博主是用虚拟机,所以随便几个副本都是在一台机器上,配多个没啥意义,真实环境应该为3个或以上-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 还可以指定切块大小,1.版本默认64M 2.版本默认128M -->

 第四个:mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
<!-- 修改文件名,否则读不到 -->

vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

 第五个:yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
<!-- localhost为机器名,若改过请用改之后的 -->
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

  注意:要配置DataNode的节点地址在slaves.xml里面添加

  然后先关闭防火墙

  sudo service iptables status  查看防火墙状态

  sudo service iptables stop   关闭防火墙

  因为只是当前关闭防火墙,防火墙是自启的,所以要永久关闭服务

  sudo chkconfig iptables --list  看到各级别防火墙自启状态

  sudo chkconfig iptables off   关闭自启防火墙

  可以一个个端口号往防火墙白名单里添加,但Hadoop一般是在内网跑,干脆直接关闭,懒得麻烦了

  

  现在配置下环境变量 

  sudo vi /etc/proflie

  最下面加2行
  export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1
  export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  配置完成后格式化Hadoop

  记得刷新 source /etc/profile

  hadoop namenode -format

  

  搞定

  现在准备启动Hadoop,进入Hadoop的sbin文件夹,可以看见很多的启动指(.sh结尾的)

  启动

  start-dfs.sh
   start-yarn.sh

  jps查看进程
  

  成功,测试一波
  先去Windows的C:\Windows\System32\drivers\etc  下的hosts加入你的地址(例如:

  然后去浏览器输入http://你配置的名称:50070  就可以看见进入的原谅色的页面了,里面可以看到很多信息,这里不详细说明了

  另外在右上角
  
  Browse the file system下可以看见你HDFS里面有的文件,/是根目录,点击文件可以下载
  我们上传一个文件上去看看,
  在linux界面下
  hadoop fs -put jdk-7u65-linux-i586.tar.gz hdfs://hd0:9000/
  传个jdk到HDFS的根目录,然后再在刚才的页面进行查询
  

  成功,现在把linux根目录下的jdk删掉,试试从HDFS下载
  hadoop fs -get hdfs://hd0:9000/jdk-7u65-linux-i586.tar.gz

  好了,测试结束

  免密配置下一节写出来

  暂时告一段落,下一节过几天发

  

  

Hadoop第一式:配置Linux环境的更多相关文章

  1. 三种配置linux环境变量的方法(以java为例)

    1.先确认是否为openjdk:参考 2. 修改/etc/profile文件  如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性 ...

  2. Hadoop第一式:配置Linux环境之免密配置及SSH原理

    一.配置SSH免密登录 进入/.ssh目录,执行密钥生成指令 ssh-keygen -t rsa (rsa为默认加密格式) 然后会出现四个提示,让你选择密钥保存路径.指纹.拍照啥的,不用管它直接回车过 ...

  3. Django分别使用Memcached和Redis作为缓存的配置(Linux环境)

    1 使用memcached 1.1 安装memcached 安装(Linux) sudo apt install memcached 启动 #方式一: service memcached start ...

  4. (一)配置linux环境实现持续集成

    目录 1.Centos7操作系统 2.Gnome 可视化桌面 3.远程shell工具 4.远程桌面工具 5.Jdk 6..Net Core 7.Git 8.Docker 容器 9.Kubernetes ...

  5. windows下的pycharm配置 linux环境

    由于最近学习python的需要,为了方便程序的调试,尝试在Windows下的Pycharm远程连接到虚拟机中Centos下的python环境.(这里我采用的是ssh的远程连接)1.准备工作: 固定ce ...

  6. 配置Linux环境

    安装mariadb +主从复制https://www.cnblogs.com/pyyu/p/9467289.html 参考博客 redis https://www.cnblogs.com/pyyu/p ...

  7. Linux环境变量配置全攻略

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...

  8. linux环境jdk安装及配置

    linux环境jdk安装及配置 linux环境jdk安装及配置 1.下载jkd( http://www.oracle.com/technetwork/java/javase/downloads/ind ...

  9. Linux 环境变量配置的 6 种方法,建议收藏

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量 ...

随机推荐

  1. Github经理和员工开发

    Git简介 Git是目前世界上最先进的分布式版本控制系统 git的两大特点: 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题 分布式:Git是分布式版本控制系统,同一个Git仓 ...

  2. 根据json生成c#实体类

    vs 编辑->选择性粘贴->将json粘贴为类

  3. DAY12、装饰器

    一.补充:nonlocal关键字 1.作用:将L与E(E中的名字需要提前定义)的名字统一 2.应用场景:如果想在被嵌套的函数中修改外部函数变量(名字)的值 3.案例: def outer():    ...

  4. phpStudy The requested URL /web/index.php was not found on this server

    1.原因 phpStudy的httpd-conf 与 vhosts-ini 的目录设置错了 2.解决 分别打开httpd-conf 与 vhosts-ini 2个文件,搜索WWW,把里面的路径改成你的 ...

  5. luogu4770 [NOI2018]你的名字 (SAM+主席树)

    对S建SAM,拿着T在上面跑 跑的时候不仅无法转移要跳parent,转移过去不在范围内也要跳parent(注意因为范围和长度有关,跳的时候应该把长度一点一点地缩) 这样就能得到对于T的每个前缀,它最长 ...

  6. pytest 11 allure2生成html报告

    allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面. 环境准备 1.pyt ...

  7. Gym - 101350A Sherlock Bones(思维)

    The great dog detective Sherlock Bones is on the verge of a new discovery. But for this problem, he ...

  8. JS学习笔记Day14

    一.正则表达式 (一)正则的概念 1.正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符 (二)创建正则的方式 1.字面量的 ...

  9. python django初识ajax

    什么是json json是轻量级文本数据交互格式 json独立语言 符合的json对象 ["one", "two", "three"] { ...

  10. MongoDB实战性能优化

    1. 性能优化分类 mongodb性能优化分为软件层面和操作系统层面. 软件层面,一般通过修改mongodb软件配置参数来达到,这个需要非常熟悉mongodb里面的各种配置参数: 而操作系统层面,相对 ...