028-86261949

当前位置:首页 > 技术交流 > 分布式搭建文档

分布式搭建文档

2018/10/11 18:04 分类: 技术交流 浏览:57

大家好,本次我分享的文章是关于Hadoop应用技术的环境搭建和Hive数据库相关配置文章,希望通过本篇文章,把Hadoop的搭建和技术知识点讲到位,同时希望大家多多提些意见。
一,搭建前准备工作

Ps:整个过程请在Root用户下进行,避免一些授权问题。


1. 设置免密码登录:

Centos自带了SSH,所以不用安装ssh,直接进入主题:

 

(1) 敲命令:ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 123456,这样就登陆到本机了。
(2)退出:exit;
(3)进入授权目录:cd ~/.ssh
(4)生成公钥和私钥:ssh-keygen -t rsa
                        中途遇到的所有提示全部回车
(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查看是否节点全部启动
Hadoop配置完成。



一、 配置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的环境搭建已经讲解完毕。

 

源码时代-何老师(笔名:一千年以后)

 

   感谢源码时代教学讲师提供此文章!
   本文为原创文章,转载请注明出处!
 
#标签:分布式,搭建,文档,Java