大数据软件安装之Hadoop(Apache)(数据存储及计算)
大数据软件安装之Hadoop(Apache)(数据存储及计算)
一、生产环境准备
1、修改主机名
vim /etc/sysconfig/network
2、修改静态ip
vim /etc/udev/rules.d/70-persistent-net.rules
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="eth0"
IPADDR=192.168.1.101
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2
3、修改host目录
vim /etc/hosts
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108
4、关闭防火墙
service iptables stop
chkconfig iptables off
5、配置用户
useradd test
password test
sudo vim /etc/suoders
6、创建文件加夹
[test@hadoop102 opt]$ sudo mkdir /opt/software
[test@hadoop102 opt]$ sudo mkdir /opt/module
[test@hadoop102 opt]$ sduo chown test:test /opt/software /opt/software
7.配置分发脚本
cd ~
sudo mkdir bin/
cd bin/
vim xsync
#!/bin/bash
#1.获取输入参数个数,如果没有参数,直接退出
pcount=$#
if(pcount=$#);then
echo no args;
exit;
fi
#2.获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for(host=103;host<105;host++);do
echo -------------- hadoop$
host ------------------
rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
chmod +x xsync
sudo cp xsync /bin
sudo xsync /bin/xsync
二、安装JDK
1、卸载现有JDK
(1)查询是否安装Java软件
[test@hadoop102 ~]$ rpm -qa | grep java
(2)如果安装的版本低于1.7,卸载该JDK
[test@hadoop102 ~]$ sudo -rpm -e 软件包
[test@hadoop102 ~]$sudo rpm -qa | grep java | xargs sudo rpm -e --nodeps
(3)查看JDK安装路径
[test@hadoop102 ~]$which java
2、导入解压
[test@hadoop102 opt]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
3、配置环境变量
[test@hadoop102 opt]$sudo vim /etc/profile.d/env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
[test@hadoop102 opt]$source /etc/profile.d/env.sh
4、检查
java -version
三、安装
1、导入解压
[test@hadoop102 opt]$tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
2、配置环境变量
[test@hadoop102 opt]$sudo vim /etc/profile.d/env.sh
#HADOOP_HOME
export $HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
[test@hadoop102 opt]$soure /etc/profile.d/env.sh
3、检查
[test@hadoop102 opt]$hadoop version
四、完全分布式环境配置
1、配置生产环境 见一
2、配置ssh
[test@hadoop102 .ssh]$hssh-keygen -t rsa 三次回车
[test@hadoop102 .ssh]$ssh-copy-id hadoop102
[test@hadoop102 .ssh]$ssh-copy-id hadoop103
[test@hadoop102 .ssh]$ssh-copy-id hadoop14
测试 [test@hadoop102 .ssh]$ssh hadoop103
[test@hadoop102 .ssh]$exit
xsync /home/test/.ssh
3.hadoop配置文件
cd /opt/module/hhadoop-2.7.2/etc/hadoop
1)环境文件配置
vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
vim marpred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
vim slaves(不能有任何空格)
hadoop102
hadoop103
hadoop104
2)xml文件配置
(1)vim core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
(2)vim hdfs-site.xml
<!-- 数据的副本数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>
(3)vim yarn-site-xml
<!-- Site specific YARN configuration properties -->
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
(4)vim mapred-site.xml
配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop104:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop104:19888</value>
</property>
启动:
启动历史服务器:mr-jobhistory-daemon.sh start historyserver
4、群起并测试
1)分发
xsync /opt/module/hadoop-2.7.2/etc
2)格式化
[test@hadoop102 hadoop-2.7.2]$bin/hdfs namenode -format
3)启动
[test@hadoop102 hadoop-2.7.2]$bin/start-dfs.sh
[test@hadoop103 hadoop-2.7.2]$bin/start-yarn.sh
4)如果出问题
rm -fr data logs
五、LZO压缩配置
1、下载并解压LZO,置入hadoop/share/hadoop/commom 中
2、分发同步到其他机器
3、增加core-site.xml配置并同步
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec
</value>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
4、扩容
1)Linu硬盘扩容与挂载
(1)创建并格式化新分区
fdisk /dev/sda
m #进入帮助引导模式
n #新增分区
p #指定新分区为基本分区
一路回车 #但要记住分区号
w #保存并执行刚才的分区操作
reboot #重启
==============================
fdisk -l
==============================
mkfs.xfs /dev/sdax,x为分区号
(2)创建盘符并挂载盘符
mdkir /newdisk
临时挂载 mount /dev/sdax /newdisk
永久挂载 vim /etc/fstab
/dev/sdax /newdisk ext4 defaults 0 0
(3)赋予权限
chown -R test:test /newdisk
2)hdfs的扩容
vim /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.datanode.data.dir</name>
<value>${hadoop.tmp.dir}/dfs/data, /newdisk</value>
</property>
完结