创建用户 useradd -m hadoop -G root -s /bin/bash
修改用户密码 passwd hadoop
创建用户权限 vi sudo
hadoop ALL=(ALL) ALL 最大的权限和root一样
修改主机名 vi /etc/sysconfig/network 改 HOSTNAME=master(主机名) 修改完主机名需要重启一下虚拟机
vi /etc/hosts 添加 192.168.56.2 master
配置静态IP地址 vi/etc/sysconfig/network-scripts/ifcfg-eth0
文件修改为: ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.56.2 (虚拟机的IP)
NETMASK=255.255.255.0
GATEWAY=192.168.56.1 (win上的以太网IP)
DNSI=8.8.8.8
关闭防火墙 service iptables stop
永久关闭防火墙 chkconfig iptables off
生成SSH公钥 ssh-keygen -t rsa (遇见问题直接回车)
删除原有JDK rpm -e --nodeps 例如:rpm -e --nodeps JDK (查看JDK命令:rpm -qa | grep jdk)
上传压缩包hadoop,jdk,zookeeper,hbase,hive,sqoop,flume。解压,这里上传到了/root/app下边
先配置环境变量
进入 vi /etc/profile
export JAVA_HOME=/root/app/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
export PATH=$PATH:$HADOOP_HOME/bin
export HBASE_HOME=/root/app/hbase-1.2.0-cdh5.7.0
export PATH=$PATH:$HBASE_HOME/bin
export HIVE_HOME=/root/app/hive-1.1.0-cdh5.7.0
export PATH=$PATH:$HIVE_HOME/bin
export SQOOP_HOME=/root/app/sqoop-1.4.6-cdh5.7.0
export PATH=$PATH:$SQOOP_HOME/bin
配置hadoop
进入vi /root/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
修改配置文件:
1.hadoop-env.sh
export JAVA_HOME=/root/app/jdk1.8.0_161
export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
2.core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hdfs/tmp</value>
</property>
3.hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/root/data/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/data/data</value>
</property>
4.mapred-site.xml(cp mapred-site.xml.template mapred-site.xml)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.yarn-site.xml
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8080</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8082</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
6.slaves
master
格式化 hadoop namenode -format
启动hadoop 进入 vi /root/app/hadoop-2.6.0-cdh5.7.0/sbin 执行./start-all.sh
启动之后查看jps
配置zookeeper
1.进入 conf目录下 拷贝zoo_sample.cfg 为zoo.cfg
cp zoo_sample.cfg zoo.cfg
2.打开zoo.cfg
找到dataDir 配置dataDir zookeeper的数据文件目录
/root/data/zookeeper
3.启动zookeeper
进入sbin 执行 ./zkServer.sh start #参数start开启,status查看状态,stop关闭,standalone单机模式
配置hbase
1.拷贝zoo.cfg到hbase的conf下
2.配置hbase-env.sh
(1).JAVA_HOME= jdk的路径
(2).HBASE_CLASSPATH hadoop安装目录下的etc/hadoop
(3).HBASE_MANAGES_ZK 使用hbase自带的zookeeper还是外部zookeeper
3.配置hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>master:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
4.配置Regionserver
master
5.启动hbase
进入bin目录,启动 ./start-hbase.sh
启动hbase shell, 输入list 列出表格
配置hive
1.安装mysql服务
(1).yum install mysql-server
(2).在mysql配置文件/etc/my.cnf中加入default-character-set=utf8
(3).设置开机自启动 chkconfig mysqld on
chkconfig --list mysqld
(4).启动mysql service mysqld start
(5).登陆mysql mysqladmin -u root password 123456
mysql -u root -p
(6).启动mysql服务 service mysqld start
(7).创建hive数据库用来保存hive元数据
create database hive;
使hadoop01(操作系统用户)用户可以操作数据库hive中的所有表:
grant all on hive.* to hadoop01@’master’ identified by ‘hadoop01的登陆密码’;
flush privileges;
修改字符编码
/etc/my.cnf文件中的所有如下:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
(8).修改hive-site.xml文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>本机用户名</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>本机密码</value>
</property>
</configuration>
(9).修改hive-env.sh文件
export JAVA_HOME=/root/app/jdk1.8.0_161
export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
(10).追加mysql的jdbc驱动jar包
在hive解压目录的lib文件夹下添加mysql的jdbc驱动
(11).启动Hadoop和MySQL,然后执行 hive
(12).进入Hive命令行,执行命令,创建一个名为test的表,并查询该表的记录数
create table test(id int);
select count(*) from test;
配置sqoop
(1).修改/home/hadoop01/app/sqoop-1.4.6-cdh5.7.0/bin/configure-sqoop文件
将其中关于Zookeep和HBase的行都注释掉,除非集群已经安装了Zookeep和Hbase
(2).拷贝mysql的jdbc jar文件sqoop的lib目录
注意:1.使用sqoop前需要导入json的包到sqoop的lib目录下
2.将hive/lib/hive.* 拷贝到sqoop的lib目录下
(3).验证安装是否成功
sqoop version
sqoop list-databases --connect jdbc:mysql://master:3306/ --username root -P
配置flume
(1).定义三大组件
(2).配置source组件
(3).配置sink组件
(4).文件切换规则:
(5).回滚配置:
(6).channel组件配置:
(7).三大组件绑定:
(8).
1.进入到flume/conf 将 flume-env.sh.templ 复制为flume-env.sh
将export JAVA_OPTS 那行的注释去掉
2.进到flume目录下 sudo vi dir-hdfs.conf
将之前写好的配置文件粘贴(注意将源目录和hdfs目录修改,并且注释不要放在数值类型参数后边)
3.执行bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -Dflume.root.logger=INFO,console
4.创建 源目录log 给与777权限 并且在log目录下存放需要采集的数据 a.log b.log c.log
5.观察flume中日志信息,查看采集后的文件是否加了后缀 .FINISHED
相关资料以及架包:
https://pan.baidu.com/s/12QRR9bWFvNRaBppUar1MeQ
提取码:239b