一,搭建前准备工做java
Ps:整个过程请在Root用户下进行,避免一些受权问题。node
1.设置免密码登陆:mysql
Centos自带了SSH,因此不用安装ssh,直接进入主题:sql
(1) 敲命令:ssh localhost数据库
此时会有以下提示(SSH首次登录提示),输入 yes 。而后按提示输入密码 123456,这样就登录到本机了。apache
(2)退出:exit;vim
(3)进入受权目录:cd ~/.sshbash
(4)生成公钥和私钥:ssh-keygen -t rsassh
中途遇到的全部提示所有回车分布式
(5)受权:cat id_rsa.pub >>authprized_keys
此时再用ssh localhost 命令,无需输入密码就能够直接登录了,以下图所示。
2. 安装hadoop
(1)解压hadoop
命令:tar -zvxf Hadoop--------------.tar.gz
(2)检查下hadoop是否解压成功
令:
(3)修改主机名
命令:vim /etc/hosts
(4)设置 Hadoop 伪分布式配置前,还须要设置 HADOOP 环境变量以及java环境变量,执行以下命令在 ~/.bashrc 中设置:
vim ~/.bashrc
export HADOOP_HOME=/usr/local/bigData/hadoop-2.6.0
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export JAVA_HOME=/usr/local/bigData/jdk1.7.0_79/
export PATH=$JAVA\_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
如图:将Hadoop和jdk环境变量在最下方配置进去。
(5)保存后,执行以下命令使配置生效:
source ~/.bashrc
3.配置hadoop
(1)修改配置文件core-site.xml
修改为如图所示:
可复制代码以下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/bigData/hadoop-2.6.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置解释:hadoop.tmp.dir这个配置的目录实际上是配置hadoop的工做目录,hadoop的运行数据全要在这个里面的。如何不配置用系统默认的话,每次启动hadoop都会丢失上一次的数据。
fs.defaultFS这个配置是配置集群中NameNode结点的URI(包括协议、主机名称、RPC交互端口号)
(2)修改配置文件hdfs-site.xml:
可复制代码以下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/bigData/hadoop-2.6.0/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/bigData/hadoop-2.6.0/tmp/dfs/data</value>
</property>
</configuration>
配置讲解:dfs.replication这个配置是配置有几个副本数的,即数据有多少份副本,能够理解为HA。
dfs.namenode.name.dir这个配置是配置namenode的工做目录
dfs.datanode.data.dir这个配置是配置datanode的工做目录
(3)配置完成后,执行NameNode 的格式化:
进入hadoop的bin目录执行:./bin/hdfs namenode -format
成功的话,会看到“successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
(4)最后开启namenode和datanode守护进程:
进入hadoop的sbin目录执行:./sbin/start-dfs.sh
(5)而后经过jps查看是否节点所有启动
1、配置hive
1. 解压文件
2. yum安装mysql服务
yum install mysql-server;
期间遇到提示一直写Y。
3.启动mysql服务
service mysqld start
4. 设置为开机自启动
chkconfig mysqld on
5.设置root用户登陆密码
mysqladmin -u root password 'root'
6.登陆mysql 以root用户身份登陆
mysql -uroot -proot
7.建立hive用户,数据库等
insert into mysql.user(Host,User,Password) values("localhost","hive",password("hive"));
create database hive;
grant all on hive.* to hive@'%' identified by 'hive';
grant all on hive.* to hive@'localhost' identified by 'hive';
flush privileges;
8.退出mysql
exit;
9.配置hive环境变量
vim ~/.bashrc
在后面加上export HIVE_HOME=/usr/local/bigData/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
10. 刷新使其有效
source ~/.bashrc
11.修改hive-site.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.ConnectionPassword </name>
<value>hive </value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastore database</description>
</property>
还有须要查找配置的就是
(1)新建文件夹/usr/local/bigData/apache-hive-1.2.2-bin/iotmp/
(2)而后.查看hive-site.xml配置,会看到配置值含有"system:java.io.tmpdir"的配置项
(3)将含有"system:java.io.tmpdir"的配置项的值修改成如上地址
12.将mysql-connector-java-5.1.44-bin.jar放到hive的lib下。
13.将jline-2.12.jar拷贝到hadoop相应的目录下,替代jline-0.9.94.jar,不然启动会报错
具体步骤是在Hadoop根目录下运行命令:find ../ -name jline*
逐一替换。
14. 启动成功。
到此,Hadoop和hive的环境搭建已经讲解完毕。