hadoop2.6+hive+oozie+sqoop+hue集群搭建

一、 环境说明

我使用的是笔记本电脑,一台8G内存,一台4G内存,然后在笔记本上搭建虚拟机centos7.0当作搭建hadoop的机器,最终的结果是,hadoop环境搭建好,一个主节点,一个从节点,虽然运行任务较慢,但是还是可以正常执行!两个节点,主节点分配了6G和4个处理器,每个处理器1核;从节点分配了3G和4个处理器,每个处理器1核。
我搭建的hadoop环境有一下环境:
hadoop-2.6.0-cdh5.6.0++hue-3.9.0-cdh5.6.0+sqoop-1.4.7.bin__hadoop-2.6.0+hive-1.1.0-cdh5.6.0+oozie-4.1.0-cdh5.6.0
其他环境:
Python2.7(centos7.0自带的)+mysql(5.6.44)+jdk8
在这里插入图片描述

二、 环境搭建

1. Linux系统准备

此操作在root用户下进行操作(除了第f和g步)
a) 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

b) 设置静态ip
我这设置的是桥接模式,这样可以和主机共同使用网卡,访问外网
在这里插入图片描述
在这里插入图片描述
设置虚拟机的ip(其中一台这样设置,另外一台设置方法相同):
在这里插入图片描述
c) 设置hostname,两台都进行设置
vi /etc/hostname
在这里插入图片描述
在这里插入图片描述
设置完成后重启,即可用xshell进行连接。
在这里插入图片描述
d) 更改hosts文件
在这里插入图片描述
e) 创建hadoop用户
useradd hadoop 创建用户hadoop
passwd hadoop 给已创建的用户hadoop设置密码
f) 配置免密登录(这是在hadoop下进行操作的)
登录hadoop用户:su - hadoop
进行免密登录配置:
①在apmaster上生产一对钥匙

ssh-keygen -t rsa

复制公钥拷贝到其他节点

ssh-copy-id apmaster
ssh-copy-id apnode1

②在apnode1上生产一对钥匙

ssh-keygen -t rsa

复制公钥拷贝到其他节点

ssh-copy-id apmaster
ssh-copy-id apnode1

g) 在hadoop用户下创建app目录和soft目录

mkdir app
mkdir soft

将需要安装的软件包存放到soft下
安装软件的目录为app目录

2. 安装jdk8并设置环境变量

此操作在root用户下进行操作
a) 卸载之前的jdk,确定是否自带jdk,有则卸载
查看安装的jdk: rpm -qa | grep jdk
卸载:rpm -e --nodeps 上面语句查询出的内容
b) 安装jdk的rpm安装包

rpm -i /soft/jdk8-linux-x64.rpm

c) 设置环境变量
[root@localhost opt]# vi /etc/profile #编辑系统配置文件
在最后加入一下内容:
JAVA_HOME=/usr/java/jdk1.8.0_131JRE_HOME=/usr/java/jdk1.8.0_131/jreCLASSPATH=.:JAVA_HOME/lib/tools.jar:PATH:JRE_HOME/binexport JAVA_HOME JRE_HOME PATH CLASSPATH[root@localhost opt]# source /etc/profile                      #生效配置
jdk8安装完毕。

3. 安装mysql

此操作在root用户下进行操作
说明:下面这个我是从网上copy的,时间久了忘了他的地址了,但是这是一篇很不错的文章,按照他的安装做即可,我安装的是mysql5.6.44差别不是很大
a) 检查下linux是不是已经安装了MySQL

rpm -qa | grep -i mysql

#如果安装了先卸载旧的版本

yum -y remove mysql...

b) 下载需要的安装包,下载地址:
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
c) 开始逐个安装
rpm -ivh MySQL-server-5.6.20-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.20-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.20-1.el6.x86_64.rpm
d) 修改配置文件位置并做相关设置

cp /usr/share/mysql/my-default.cnf /etc/my.cnf
vi /etc/my.cnf

#做如下配置,配置有些更改,因为hive中必须要latin1编码,否则会报错,所以这个地方进行了更改:

[client]
password = root123
port = 3306
default-character-set=latin1
[mysqld]
port = 3306
character_set_server=latin1
character_set_client=latin1
#linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写
lower_case_table_names=1
#设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384
max_connections=1000
[mysql]
default-character-set = latin1

e) 初始化MySQL及设置密码

/usr/bin/mysql_install_db
service mysql start

查看密码

cat /root/.mysql_secret 

f) 登录到mysql,第一次装没有密码,直接回车

mysql -uroot -p

#设置root用户的密码

mysql> set password=password('root123');

g) 设置允许远程登录

mysql> use mysql;
mysql> select host,user,password from user;
mysql> update user set host='%' where user='root' and host='localhost';
mysql> flush privileges;
mysql> exit;

h) 设置开机自启动

chkconfig mysql on
chkconfig --list | grep mysql

i) MySQL的默认安装位置说明

/var/lib/mysql/ #数据库目录
/usr/share/mysql #配置文件目录
/usr/bin #相关命令目录
/etc/init.d/mysql #启动脚本 注:卸载mysql的时候,将这些目录下的文件也删掉。

j) 创建hadoop集群所需要的库,如下:

create database oozie;  
create database hive;
create database hue;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;          
FLUSH PRIVILEGES; 

4. 安装hadoop

此操作在hadoop用户下进行操作
a) 解压hadoop并更改目录名称:

tar -zxvf /home/hadoop/soft/hadoop-2.6.0-cdh5.6.0.tar.gz -C /home/hadoop/app/
mv /home/hadoop/app/hadoop-2.6.0-cdh5.6.0 /home/hadoop/app/hadoop-2.6.0

b) 修改配置文件
进入/home/hadoop/app/hadoop-2.6.0/etc/hadoop目录
配置文件core-site.xml修改:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://apmaster:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop-2.6.0/tmp</value>
</property>
<!-- OOZIE 添加代理-->
<property>
      <name>hadoop.proxyuser.hadoop.hosts</name>
      <value>*</value>
</property>
<property>
      <name>hadoop.proxyuser.hadoop.groups</name>
      <value>*</value>
</property>
<!-- OOZIE 添加代理-->
<property>
      <name>hadoop.proxyuser.oozie.hosts</name>
      <value>*</value>
</property>
<property>
      <name>hadoop.proxyuser.oozie.groups</name>
      <value>*</value>
</property>
</configuration>

配置文件hdfs-site.xml修改:

<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>

</configuration>
配置文件mapred-site.xml修改:
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

配置文件yarn-site.xml修改:

<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>apmaster</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<property>
<name>mapreduce.jobhistory.address</name>
<value>apmaster:10020</value>
</property>

<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>3072</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>2</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
</configuration>

shell脚本hadoop-env.sh修改:

shell脚本hadoop-env.sh修改
子节点配置文件slaves修改:

salves
c) 将hadoop目录复制到从节点上

scp -r /home/hadoop/app/hadoop-2.6.0 hadoop@apnode1:/home/hadoop/app/

5. 安装hive

此操作在hadoop用户下进行操作
a) 解压hive并更改目录名称:

tar -zxvf /home/hadoop/soft/hive-1.1.0-cdh5.6.0.tar.gz -C /home/hadoop/app/
mv /home/hadoop/app/hive-1.1.0-cdh5.6.0 /home/hadoop/app/hive-1.1.0

b) 配置文件hive-site.xml修改:

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://apmaster:3306/hive?characterEncoding=utf8&amp;createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root123</value>
<description>password to use against metastore database</description>
</property>
</configuration>

c) 将mysql的jar包加入lib文件夹下:

cp /home/hadoop/soft/mysql-connector-java-5.1.28.jar /home/hadoop/app/hive-1.1.0/lib/

d) 添加hive添到环境变量:

vi /etc/profile

添加
添加hive添到环境变量

6. 安装sqoop

此操作在hadoop用户下进行操作
a) 解压hadoop并更改目录名称:

tar -zxvf /home/hadoop/soft/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home/hadoop/app/
mv /home/hadoo
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值