hadoop和hive安装

2020-03-07  本文已影响0人  夜空痕

1、下载hadoop

版本为CDH 5.16.2

2、解压hadoop

3、建立软链接

ln -s hadoop-2.6.0-cdh5.16.2 ./hadoop

4、配置配置文件

etc/hadoop/core-site.xml配置

在hdfs路径中配的是hostname,让namenote使用hostname启动

hadoop.tmp.dir 是配置hadoop日志的路径,注意配置就必须重新格式化hdfs,
所以建议在最开始配置hadoop的时候就配置此参数,否则默认是linux的tmp路径,会面临断电和oom丢失数据的情况

同时需要注意的是如果datanode无法启动,那么需要手动删除/home/yj/tmp/hadoop_log/下面的dfs文件夹,然后重新格式化dfs即可

vim etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://yj-bigdata:9000</value>
    </property>
    <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/yj/tmp/hadoop_log/</value>
    </property>
</configuration>
core.png

etc/hadoop/hdfs-site.xml 配置

dfs.replication是设置hdfs的副本数

namenode.secondary 设置以hostname启动

vim etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>yj-bigdata:50090</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.https-address</name>
        <value>yj-bigdata:50091</value>
    </property>
</configuration>
hdfs_site.png

hadoop-env.sh 配置

在hadoop-env.sh中设置JAVA_HOME为java的环境变量路径

pid的存储文件夹必须修改,默认是/tmp,Linux会自动清理;
必须设置为其他目录,否正会导致集群混乱

vim hadoop-env.sh中设置Java的环境变量

export JAVA_HOME=/usr/java/jdk1.8.0_45
export HADOOP_PID_DIR=/home/yj/tmp/hadoop_log/pids
export HADOOP_SECURE_DN_PID_DIR=/home/yj/tmp/hadoop_log/pids
java_hadoop.png

slaves配置

在slaves中配置hostname,默认为localhost,配置这个是因为datanode启动是通过这个控制的。


slaves.png

第一次启动

在这里需要注意一个点:namenode 、datanode、secondarynamenode都必须通过hostname启动

hdfs namenode -format # 对hdfs进行格式化,格式化会清空hdfs的所有数据
start-dfs.sh

当启动后,用jps查看一下,如果存在进程,那么就是启动成功了


start_hdfs.png

yarn配置

mapred-site.xml配置

用yarn作为mapreduce的资源调度,默认是localhost,那么就无法使用集群的资源,也无法在web ui看到资源利用情况

cp mapred-site.xml.template mapred-site.xml #拷贝一个,重命名
vim mapred-site.xml  #编辑,并在文件中配置以下信息

    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
map_yarn.png

yarn-site.xml配置

yarn.resourcemanager.webapp.address 中的端口配置为yarn web ui端口,用来查看集群的资源情况

yarn.nodemanager.aux-services 默认值为mapreduce.shuffle,不做修改,NodeManager 会启动失败

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>yj-bigdata:38088</value>
    </property>
</configuration>

yarn-env.sh配置

export YARN_PID_DIR=/home/yj/tmp/hadoop_log/pids

mapred-env.sh

修改pid的存储路径,默认为/tmp

export HADOOP_MAPRED_PID_DIR=/home/yj/tmp/hadoop_log/pids

启动yarn

start-yarn.sh

至此hadoop和yarn的配置完成

hive安装和配置

1、下载解压
2、添加环境变量
3、配置hive-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://yj-bigdata:3306/bigdata_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>bigdata_user</value>
    </property>

    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>qweqwe123</value>
    </property>
    
    <property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
    </property>
    
    <property>
        <name>hive.cli.print.header</name>
        <value>true</value>
    </property>
</configuration>
上一篇 下一篇

猜你喜欢

热点阅读