hadoop 配置要点
软件 | 版本 |
---|---|
java | 1.8.0_151 |
hadoop | 2.6.1 |
part1 $HADOOP_HOME/etc/hadoop 目录下配置参数。
- slaves 配置从节点 yarn01,yarn02。
- core-site.xml 添加配置。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://yarn00:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop/tmp</value>
</property>
</configuration>
- $HADOOP_HOME/ 文件下创建新文件。
mkdir tmp
mkdir -p dfs/name
mkdir -p dfs/data
- hdfs-site.xml 添加配置。
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>yarn00:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
- mapred-site.xml 添加配置。
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-site.xml 添加配置。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>yarn00:8031</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>yarn00:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>yarn00:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>yarn00:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>yarn00:8088</value>
</property>
- 添加hadoop 环境变量,并使其生效。
#hadoop conf
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
启动hadoop
- ./bin 下使用命令 hadoop namenode -format。
- ./sbin 下 使用命令 start-dfs.sh。
- ./sbin 下 使用命令 start-yarn.sh。
异常处理
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
可行的解决方案:
- 用hadoop-native-64-2.6.0.tar中的内容替换 /lib/native 目录下的所有文件。