tangbinde 发表于 2017-12-17 21:36:44

Linux系统运维之Hadoop、Hive、Flume数据处理

/usr/local/hadoop/etc/hadoop/core-site.xml配置文件:  
[iyunv@Hadoop
-Data01 soft]# tar -xf hadoop-2.7.3.tar.gz  
[iyunv@Hadoop
-Data01 soft]# mv hadoop-2.7.3 /usr/local/  
[iyunv@Hadoop
-Data01 soft]# cd /usr/local/  
[iyunv@Hadoop
-Data01 local]# ln -s hadoop-2.7.3 hadoop  
[iyunv@Hadoop
-Data01 hadoop]# vim core-site.xml  

>>>>>  
<configuration>
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.0.194:9000</value>
  </property>
  <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/usr/local/hadoop/tmp</value>
  </property>
  <property>
  <name>io.file.buffer.size</name>
  <value>1024</value>
  </property>
  
</configuration>
  
注:
  
<fs.defaultFS>:默认文件系统的名称,URI形式,uri的scheme需要由(fs.SCHEME.impl)指定文件系统实现类;uri的authority部分用来指定host、port等;默认是本地文件系统。HA方式,这里设置服务名,例如:hdfs:// 192.168.0.194:9000,HDFS的客户端访问HDFS需要此参数;
  
<hadoop.tmp.dir>:Hadoop的临时目录,其它目录会基于此路径,本地目录。只可以设置一个值;建议设置到一个足够空间的地方,而不是默认的/tmp下,服务端参数,修改需重启;
  
<io.file.buffer.size>:在读写文件时使用的缓存大小,这个大小应该是内存Page的倍数,建议1M。
  

  
----------
  

  
/usr/local/hadoop/etc/hadoop/hdfs-site.xml配置文件:
  
# vim hdfs-site.xml
  
>>>>>
  
<configuration>
  <property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/usr/local/hadoop/dfs/name</value>
  </property>
  <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/usr/local/hadoop/dfs/data</value>
  </property>
  <property>
  <name>dfs.replication</name>
  <value>2</value>
  </property>
  <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>192.168.0.194:9001</value>
  </property>
  <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
  </property>
  
</configuration>
  
注:
  
<dfs.namenode.name.dir>:本地磁盘目录,NN存储fsimage文件的地方;可以是按逗号分隔的目录列表,fsimage文件会存储在全部目录,冗余安全;这里多个目录设定,最好在多个磁盘,另外,如果其中一个磁盘故障,不会导致系统故障,会跳过坏磁盘。由于使用了HA,建议仅设置一个,如果特别在意安全,可以设置2个;
  
<dfs.datanode.data.dir>:本地磁盘目录,HDFS数据应该存储Block的地方。可以是逗号分隔的目录列表(典型的,每个目录在不同的磁盘),这些目录被轮流使用,一个块存储在这个目录,下一个块存储在下一个目录,依次循环;每个块在同一个机器上仅存储一份,不存在的目录被忽略;必须创建文件夹,否则被视为不存在;
  
<dfs.replication>:数据块副本数,此值可以在创建文件是设定,客户端可以只有设定,也可以在命令行修改;不同文件可以有不同的副本数,默认值用于未指定时。
  
<dfs.namenode.secondary.http-address>:SNN的http服务地址,如果是0,服务将随机选择一个空闲端口,使用了HA后,就不再使用SNN;
  
<dfs.webhdfs.enabled>:在NN和DN上开启WebHDFS (REST API)功能。
  

  
----------
  

  
/usr/local/hadoop/etc/hadoop/mapred-site.xml配置文件:
  
# cp mapred-site.xml.template mapred-site.xml
  
# vim mapred-site.xml
  
>>>>>
  
<configuration>
  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.address</name>
  <value>192.168.0.194:10020</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>192.168.0.194:19888</value>
  </property>
  
</configuration>
  

  
/usr/local/hadoop/etc/hadoop/yarn-site.xml配置文件:
  
# vim yarn-site.xml
  
>>>>>
  
<configuration>
  <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
  </property>
  <property>
  <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
  <name>yarn.resourcemanager.address</name>
  <value>192.168.0.194:8032</value>
  </property>
  <property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>192.168.0.194:8030</value>
  </property>
  <property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>192.168.0.194:8031</value>
  </property>
  <property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>192.168.0.194:8033</value>
  </property>
  <property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>192.168.0.194:8088</value>
  </property>
  <property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>8192</value>
  </property>
  
</configuration>
  
注:
  
<mapreduce.framework.name>:MapReduce按照任务大小和设置的不同,提供了两种任务模式:①本地模式(LocalJobRunner实现)mapreduce.framework.name设置为local,则不会使用YARN集群来分配资源,在本地节点执行。在本地模式运行的任务,无法发挥集群的优势。在web UI是查看不到本地模式运行的任务。②Yarn模式(YARNRunner实现)mapreduce.framework.name设置为yarn,当客户端配置mapreduce.framework.name为yarn时, 客户端会使用YARNRunner与服务端通信, 而YARNRunner真正的实现是通过ClientRMProtocol与RM交互, 包括提交Application, 查询状态等功能。
  
<mapreduce.jobhistory.address>和<mapreduce.jobhistory.webapp.address>:Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。
  

  
----------
  

  
配置hadoop环境变量:
  
# vim /etc/profile
  
>>>>>
  
export HADOOP_HOME=/usr/local/hadoop
  
export PATH=$HADOOP_HOME/bin:$PATH
  

  
# vim hadoop-env.sh
  
>>>>>
  
export JAVA_HOME=/usr/local/jdk
  

  
添加从节点IP到Slave文件:
  
# echo > slave && echo 192.168.0.195 > slave
  

  
拷贝hadoop服务目录到从主机:
  
# \scp -r hadoop-2.7.3 root@192.168.0.195:/usr/local/
  

  
进入Hadoop目录,启动Hadoop-Master主机上的服务:
  
①初始化:
  
# sh /usr/local/hadoop/bin/hdfs namenode -format
  
②启动服务:
  
# sh /usr/local/hadoop/sbin/start-all.sh
  
③关闭服务:
  
# sh /usr/local/hadoop/sbin/stop-all.sh
  
④查看组件:
  
# jps
  
6517 SecondaryNameNode
  
6326 NameNode
  
6682 ResourceManager
  
6958 Jps
页: [1]
查看完整版本: Linux系统运维之Hadoop、Hive、Flume数据处理