初始大数据-虚拟机配置hadoop伪分布式_02

1. linux集群情况

1. window 宿主192.168.137.188
	node01.hadoop.com node01 192.168.137.100     00:50:56:3D:7D:CC  root 123456
	node02.hadoop.com node02 192.168.137.110     00:50:56:3D:2F:CC  root 123456
	node03.hadoop.com node03 192.168.137.100     00:50:56:28:C3:E8  root 123456
2. 软件安装情况
   node01
   		zookeeper hadoop  jdk8  /export/servers
   		flume(数据采集框架)  /export/servers 
   		hive
   		impala
   		kafka node01:9092   keadmin, 移除topic
   		es user:es passwd:es
   		nodejs
   		kibana
   node02
   		zookeeper hadoop  jdk8  /export/servers
   		flume(数据采集框架)  /export/servers 
   		hive
   		impala
   		kafka
   node03
   	    zookeeper-3.4.5-cdh5.14.0.tar hadoop-2.6.0-cdh5.14.0-src.tar jdk8  /export/servers
   		hive(数据仓库)  /export/servers   端口:jdbc:hive2://node03.hadoop.com:10000
   		flume(数据采集框架)  /export/servers 
   		azkaban-solo(任务调度框架)   /export/servers  端口:http://node03:8081  azkaban azkaban
   		 mysql  root 123456      azkaban azkaban
         azkaban-server/exec  两个执行任务的,一个web  端口:https://node03:8443   azkaban azkaban
         sqoop 
         hive
         impala
         hue(图形界面,可以操作其他组件) node03:8888   root 123456
         oozie(天生分布式) node03:11000 
         kafka-eagle-bin-1.2.2.aaa.tar   node03:8408/ke  admin 123456
     	 kafka_2.11-1.0.0      

1.1 集群情况

在这里插入图片描述

2. 软件安装

2.1 安装jdk

  • rpm -qa | grep java 查找自带的java

  • rpm -e xxx -nodeps 不考虑依赖删除java包

  • rpm -ivh 客户端程序 --nodeps --force 安装rpm包

  • vim /etc/profile

    export JAVA_HOME=/exoprt/servers/jdk1.8.0_141
    exoprt PATH=$JAVA_HOME/bin:$PATH```
    
  • source /etc/profile 重新编译

  • java -version java javac

2.2 安装zookeeper

  • cd /export/servers/zookeeper-3.4.5-cdh5.14.0/conf mv zoo_xxx.xxx zoo.cfg
  • mkdir -p /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas
  • vim zoo.cfg
  • 启动集群

2.3 安装hadoop伪分布式集群

  • hadoop目录结构
    • bin sbin 存放执行的脚本
    • etc/hadoop 配置文件
    • lib/native hadoop本地库, 存放了以下c程序
      • bin/hadoop checknative 检查hadoop本地库支持什么的
        • hadoop: 支持c程序访问hadoop集群
        • snappy: appach公司的hadoop软件包天使不支持snappy压缩库, cloudera CDH5需要编译
  • 修改6个配置文件
    • core-site.xml 核心配置文件 绝对是分布式还是单节点 决定namenode在哪台服务器上
<property>
       	<name>fs.default.name</name>
        <value>hdfs://192.168.52.100:8020</value>
</property>
  • hdfs-site.xml hdfs配置文件, 指定元数据存放位置(2个位置), datanode节点数据存放位置(1个位置)
    并指定外界浏览器访问的端口号50070
        <!--  一部分元数据存放的位置 -->
        <property>
        	<name>dfs.namenode.name.dir</name>
        	<value>file:///export/servers/hadoop-2.6.0-	cdh5.14.0/hadoopDatas/namenodeDatas</value>
        </property>
        <!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
        <property>
        	<name>dfs.datanode.data.dir</name>
        	<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas</value>
        </property>
        <!--  另外一部分元数据存放的位置 -->
        <property>
        	<name>dfs.namenode.edits.dir</name>
        	<value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits</value>
        </property>
    
  • hadoop-evn.sh 环境变量
  • marped-site.xml mapreduce 配置文件 指定了jobhistoryserver节点在哪台机器上&外界访问端口
<property>
 	 <name>mapreduce.jobhistory.webapp.address</name>
     <value>node01:19888</value>
</property>
  • yarn-site.xml 指定主节点在哪台服务器上, 外键默认访问端口号80888
  • slaves 指定从节点在哪台服务器上
  • 增加文件夹, 因为刚才配置数据存放位置都是需要创建文件夹的,
    • 先dh -lh 看看磁盘空间
    • 然后创建
      mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas
      mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas
      mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas 
      mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
      mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name
      mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits
  • 配置环境变量
  • 分发到其他台服务器上
  • 启动集群
    • 首次启动一定要格式化hdfs hdfs -namenode format 很重要, 只执行这一次
    • 单个节点启动
hadoop-daemon.sh start namenode 
yarn-daemon.sh  start resourcemanager 
sbin/mr-jobhistory-daemon.sh start historyserver
#-----------------------------------
hadoop-daemon.sh start datanode
yarn-daemon.sh start nodemanager 
  • 脚本一次启动
     cd /export/servers/hadoop-2.6.0-cdh5.14.0/
       sbin/start-dfs.sh
       sbin/start-yarn.sh
       sbin/mr-jobhistory-daemon.sh start historyserver
  • 外键访问界面
    • node01:50070 hdfs界面 可以看到存储的数据
    • node01:80888 yarn界面
    • node01:19888 mapreduce jobhistory历史任务界面
  • 为什么要重新编译hadoop
    • 为了支持c程序
    • 为了支持snappy压缩,天生不支持snappy压缩

3. shell 编程

  • #!/bin/bash 使用哪种解析器解析脚本
  • sh xxx.sh 执行脚本
  • 变量 除了变量不空格,其他都空格
    • $1 $2 ${10} xxx.sh 脚本中获取命令窗口传递过来的参数
    • a= 1 b = 1 b= 1b=var $var 脚本中调用变量(调用的变量需要初始化,也就是要有初始值)
  • 参数的传递
    • $n 接收传递的第n个参数
    • $@ 接收全部参数 数组格式
    • $* 接收全部参数 拼接为字符串
    • $# 几个参数
  • 计算
    • expr $a + $b
    • c=$(( $a + $b )) 或者 count=1 (( count++ ))
    • d=$[ $a + $b ]
  • 比较运算符
    • [ $a -eq $b ] [ $a -gt $b ] [ $a -lt $b]
  • 选择
      #!/bin/bash
      a=$1
      b=$2
      if[ $a -eq $b]
      then
      	echo $a 等于 $b
      elif[ $a -gt $b ]
      then
      	echo $a 大于 $b
      else
      	echo $a 小于 $b
      fi
      # --------------命令窗口执行
      sh hello.sh  20 30 
  • 循环
      #!/bin/bash
      for n in $@
      do
      	echo $n
      done
      
      # --------------命令窗口执行
      sh hello.sh  20 30 40 50 
  • 函数

      #!/bin/bash
      funshow(){
      # 使用$@ 接收调用本参数时传递的参数
          for n in $@
          do 
          	echo $n
         	done 	
      }
      # 脚本中调用自定义的函数, 使用$@接收命令行传递的所有参数
      funshow $@
      
      # ---------------命令行执行
      sh hello.sh 20 30 40 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值