Hadoop配置
必看
配置千万条,网络第一条。
配置不规范,bug改到吐。
内外ip要分清,本机配置内ip,连接请用外ip
1.下载上传插件rz
【安装命令】:
yum install -y lrzsz
2.上传hadoop压缩包
【上传命令】:
## 上传压缩包
rz
## 压缩
tar -zxvf [包名]
3.配置hadoop
(1)编辑.bashrc文件
在所有节点的.bashrc文件中添加如下内容:(也可以在profile文件中添加)
# jdk
export JAVA_HOME=/root/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# hadoop
export HADOOP_HOME=/root/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
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_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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_HOME_WARN_SUPPRESS=1
# spark
export SPARK_HOME=/root/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
其中JAVA_HOME和HADOOP_HOME需要换成你自己的安装路径。
执行:source .bashrc使编辑的内容生效。
4.编辑/etc/hosts文件
Ip地址 | 主机名 | Namenode | Secondary namenode | Datanode | ResourceManager | NodeManager |
---|---|---|---|---|---|---|
116.85.43.227 | hadoop-01 | Y | Y | N | Y | N |
106.12.48.46 | hadoop-02 | N | N | Y | N | Y |
47.95.0.108 | hadoop-03 | N | N | Y | N | Y |
编辑所有节点的/etc/hosts文件,
116.85.43.227 hadoop-03
106.12.48.46 hadoop-02
47.95.0.108(本机在这里要填内网ip) hadoop-01
保存退出。
查看下/etc/hostname中的值是否和你的主机名一致,若不一致,则改成你的主机名,否则就不需要改。
5.配置hadoop conf
1.编辑hadoop-env.sh,yarn-env.sh文件
编辑所有节点的hadoop-env.sh文件(位于hadoop/conf/下)
先取消export JAVA_HOME的注释,然后修改后面的路径为你自己的安装路径
export JAVA_HOME=/root/jdk1.8.0_241
2.编辑core-site.xml文件
编辑所有节点的core-site.xml文件,添加如下内容:
<!-- 指定Hadoop所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop-01:9000</value>
</property>
<!-- 定Hadoop运行是产生文件的存储目录。默认 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop-2.7.1/tmp</value>
</property>
hadoop-01是我的namenode节点的主机名,你可以替换成你的namenode节点的主机名。
3.编辑hdfs-site.xml,yarn-site.xml文件
编辑所有节点的hdfs-site.xml文件,添加如下内容:
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/hadoop-2.7.1/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/hadoop-2.7.1/hadoop_data/hdfs/datanode</value>
</property>
<!-- 指定HDFS副本的数量,不修改默认为3个 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cluster1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-01:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
dfs.namenode.name.dir是namenode节点存放目录,dfs.datanode.data.dir是datanode节点的存放目录,均可以替换成你自己想要存放的路径。
编辑所有节点的yarn-site.xml文件,添加如下内容:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop-01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop-01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop-01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop-01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop-01:8088</value>
</property>
4…编辑mapred-site.xml文件
编辑所有节点的mapred-site.xml文件,添加如下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>hadoop-01:50030</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://hadoop-01:9001</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop-01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop-01:19888</value>
</property>
</configuration>
hadoop-01是我的jobtracker节点的主机名,你可以替换成你自己的jobtracker节点所在的主机名。
5.编辑slaves文件
打开slaves,将localhost替换成
hadoop-02
hadoop-03
保存退出
6.将配置好的hadoop文件复制到其他节点上
scp -r /root/hadoop-2.7.1/etc/hadoop root@hadoop-02:/root/hadoop-2.7.1/etc/
scp -r /root/hadoop-2.7.1/etc/hadoop root@hadoop-03:/root/hadoop-2.7.1/etc/
6.运行hadoop
./bin/hdfs namenode -format
source /etc/profile
./start-dfs.sh