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>
![](https://img.haomeiwen.com/i7897366/5961f2579b09b1c5.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>
![](https://img.haomeiwen.com/i7897366/9f47bd73e751655c.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
![](https://img.haomeiwen.com/i7897366/e1c85c38d3d073c6.png)
slaves配置
在slaves中配置hostname,默认为localhost,配置这个是因为datanode启动是通过这个控制的。
![](https://img.haomeiwen.com/i7897366/e7416d4082b8f00d.png)
第一次启动
在这里需要注意一个点:namenode 、datanode、secondarynamenode都必须通过hostname启动
hdfs namenode -format # 对hdfs进行格式化,格式化会清空hdfs的所有数据
start-dfs.sh
当启动后,用jps查看一下,如果存在进程,那么就是启动成功了
![](https://img.haomeiwen.com/i7897366/47492bcbcaa56c92.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>
![](https://img.haomeiwen.com/i7897366/cb8d6926bef9b075.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>
网友评论