Hadoop的学习使用,提供大概思路;
- Hadoop的安装和配置
1、下载jdk到Linux的/opt目录下
下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、以超级用户权限解压缩
sudo tar -xvf jdk-8u40-linux-i586.tar.gz
3、设置jdk的环境变量
export JAVA_HOME=/opt/jdk1.8.0-40/
export PATH=/opt/jdk1.8.0-40/bin:${PATH}
4、验证jdk是否正确安装
java -version
5、下载hadoop-1.2.1到Linux的/opt目录下
下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/
6、以超级用户权限解压缩
sudo tar -xvf hadoop-1.2.1.tar.gz
7、设置hadoop的环境变量
export HADOOP_HOME=/opt/hadoop-1.2.1/
export PATH=/opt/hadoop-1.2.1/bin:${PATH}
8、设置hadoop的配置文件
cd /opt/hadoop-1.2.1/conf
sudo gedit hadoop-env.sh
9、取消java环境变量的修饰符,并且修改其值
export JAVA_HOME=/opt/jdk1.8.0-40
10、配置SSH免密码登录
生成公钥:ssh-keygen
将公钥内容添加到已授权文件列表中:
cat /home/test/.ssh/id_rsa.pub >>authorized_keys
- Hadoop的核心架构
主从节点间的通信:
DataNode每三分钟发送一个心跳,报告自己的存活状态,每10个心跳发送数据报告;
NameNode结合数据报告,可以快速生成备份文件;
作业提交与执行:
JobTracker通过调度管理算法,管理TaskTracker;
TaskTracker申请Map或者Reduce任务,在HDFS的存储节点执行;
- 伪分布式集群配置
1、进入配置文件目录
cd /opt/hadoop/conf
2、以超级用户权限配置core-site.xml
sudo gedit core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost</value>
</property>
</configuration>
3、以超级用户权限配置hdfs-site.xml
sudo gedit hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4、以超级用户权限配置mapred-site.xml
sudo gedit mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
5、hdfs文件系统格式化
hadoop namenode -format
6、开启hdfs和mapreduce进程
cd /opt/hadoop/bin
sudo chown -hR test /opt/hadoop-1.2.1
start-all.sh
- 完全分布式集群配置
1、基础设置
虚拟机设置为内网模式,ip分别为:
主节点:192.168.56.11 从节点1:192.168.56.12 从节点2:192.168.56.13
每个节点均进行上文中谈到的Hadoop安装和配置;
2、主节点以超级用户权限配置core-site.xml
sudo gedit core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.56.11:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/test/hadoop-data/tmp</value>
</property>
</configuration>
3、主节点以超级用户权限配置hdfs-site.xml
sudo gedit hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/test/hadoop-data/hdfs/name</value>
</property>
<property>
<name>fs.data.dir</name>
<value>/home/test/hadoop-data/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4、主节点以超级用户权限配置mapred-site.xml
sudo gedit mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.56.11:9001</value>
</property>
</configuration>
5、主节点配置从节点
sudo gedit /opt/hadoop-1.2.1/conf/slaves
localhost
192.168.56.12
192.168.56.13
6、主节点设置免密码登录
生成公钥:ssh-keygen
将公钥内容添加到已授权文件列表中:
cat /home/test/.ssh/id_rsa.pub >>authorized_keys
7、在从节点上将主节点的公钥复制到从节点上
scp test@192.168.56.11:/home/test/.ssh/id_rsa.pub /home/test/.ssh/
8、在从节点上将主节点的hadoop文件夹复制到从节点上
scp -r test@192.168.56.11:/opt/hadoop-1.2.1/ /opt/
9、在从节点上将公钥文件添加到已授权的文件列表中
cat /home/test/.ssh/id_rsa.pub >> /home/test/.ssh/authorized_keys
10、在主节点上进行hdfs格式化
hadoop namenode -format
11、在主节点上启动
/opt/hadoop-1.2.1/bin/start-dfs.sh
hadoop文件配置属性集合
以上的配置为Hadoop1.2.1下,文件放置在/opt目录下,用户名为test;
- YARN的伪分布式安装(Hadoop2.6.0环境,已经进行)
1、以超级用户权限创建用户组
addgroup hadoop
adduser --ingroup hadoop hduser
2、以超级用户权限在根目录创建hadoop文件夹
mkdir hadoop
3、更改hadoop文件夹得所有者
chown hduser:hadoop hadoop
4、更改/tmp/hadoop-2.6.0.tar.gz的所有者
chown hduser:hadoop hadoop-2.6.0.tar.gz
5、将/tmp/hadoop-2.6.0.tar.gz复制到/hadoop文件夹中
完成类似于上面的hadoop配置后,下面正式开始YARN配置:
1、配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2、配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3、配置mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4、配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5、启动yarn
cd /hadoop/hadoop-2.6.0/sbin
./start-yarn.sh
6、在浏览器中验证是否正确启动(使用本地主机IP)
http://10.0.0.14:8088/
以上的配置为YARN的伪分布安装
- HIVE的内嵌模式安装和配置
1、下载和解压
下载地址:wget http://www.motorlogy.com/apache/hive/stable/apache-hive-1.2.1-bin.tar.gz
解压缩:tar zxvf apache-hive-1.2.1-bin.tar.gz
2、设置环境变量
export HIVE_HOME=/home/lzw/apache-hive-1.2.1-bin
export PATH=$HIVE_HOME/bin:
3、配置hive-site.xml
cd /conf
cp hive-default.xml.template hive-default.xml
cp hive-default.xml.template hive-set.xml
4、启动及修改权限
hive 发生运行时异常,原因是hadoop/temp/hive的文件权限不够,修改权限
hadoop fs -chmod -R 777 /tmp/hive
hive
5、创建表
create table student(
name string,
sex string,
age int
);
6、验证内嵌模式是否安装成功
show tables;
desc student;
- HIVE的独立模式安装
1、以超级用户权限下载mysql,并且启动
yum install -y mysql mysql-server
service mysqld start
2、以root用户登录,创建hive用户,hive数据库,并且赋予一定权限
mysql -uroot
create user 'hive' by indentified 'hive';
create database hive;
grant all privileges on *.* to 'hive'@'localhost' indentified by 'hive';
flush privileges;
msyql -uhive -p
3、下载mysql连接器,并且将解压后的连接器移动到hive的lib目录中
tar -zxvf mysql-connector-java-5.1.35.tar.gz
mv mysql-connector-java-5.1.35-bin.jar ../apache-hive-1.2.1-bin/lib/
4、修改hive的配置文件
vim hive-set.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
5、查看mysql中的hive数据库
mysql -uhive -p
use hive;
show tables;##首次启动hive产生多种表,均为元数据
6、在hive中创建student表,并且在mysql的元数据中查看
create table student(
name string,
sex string,
age int
);
select * from TBLS;
Hive数据存储原理
Hive技术原理解析
Hive类sql语句
zookeeper的学习和使用
- zookeeper的安装和配置
1、安装环境
虚拟机局域网设置:
192.168.1.105、192.168.1.106、192.168.1.107
基于secureCRT实现远程连接:
同一台机器上,虚拟机设置为net和桥接模式均可
2、secureCRT连接三个节点
3、在三个节点上进行zookeeper的下载、解压缩
cd /opt
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.6.tar.gz
tar xzvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6.tar.gz zookeeper
4、在105上面进行配置
cd zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改内容如下:
dataDir=/var/zookeeper
clientPort=2181
server.1=192.168.1.105=2888=3888(leader和follower的端口号)
server.2=192.168.1.106=2888=3888
server.3=192.168.1.107=2888=3888
scp zoo.cof root@192.168.1.106:/opt/zookeeper/conf
scp zoo.cof root@192.168.1.107:/opt/zookeeper/conf
5、创建标识文件
cd /var
mkdir zookeeper
vim myid
填写标识
1
分别在106和107上面进行相同操作,内容为2和3
6、开启zookeeper服务(当zookeeper服务集群中一般服务器开启时,才可以启动)
cd /opt/zookeeper/bin
./zkServer.sh start