hadoop配置与安装
一,新增用户
sudo useradd -m hadoop -s /bin/bash
添加密码
sudo passwd hadoop
附加权限
sudo adduser hadoop sudo
切换到hadoop用户下,当运行sudo命令时出现:hadoop不再sudoers文件中,此事将被报告。
解决方法:切换到root用户下,打开 /etc/sudoers 文件,增加
hadoop ALL=(ALL:ALL) ALL
文件中有用户的例子,仿照写出上面的命令
切换到hadoop目录下(以下操作都在hadoop目录下操作,包括idea,jdk(将root下的.bashrc中的环境变量拷贝到
hadoop目录下的bashrc文件中))
二 ,配置免密码登录ssh
生成ssh公钥
ssh-keygen -t rsa
安装openssh-server(openssh-clients一般系统自带)
sudo apt-get install openssh-server
进入公钥的目录下 .ssh目录下(加入授权)
cat id_rsa.pub >> authorized_keys
赋予权限
chmod 600 ./authorized_keys
运行命令:ssh localhost
出现:sign_and_send_pubkey: signing failed: agent refused operation
并要求输入密码
解决方法:
eval "$(ssh-agent -s)"
ssh-add 然后在运行:ssh localhost 不用输入密码就可以进入了,exit可以退出ssh
三,配置hadoop
在/etc/profile或 .bashrc 文件中添加:(hadoop_home和path必须,其他作用不明)
如果在创建的hadoop用户下操作,建议将配置写在.bashrc文件中
export HADOOP_HOME=/usr/hadoop
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=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
保存并且更新/etc/profile文件:source /etc/profile。
编辑hadoop-env.sh文件:vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh,在最后加上:
export JAVA_HOME=/usr/local/jdk
修改Configuration文件:vim $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改hdfs-site.xml:vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改mapred-site.xml:
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改yarn-site.xml:vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
格式化namenode:(hadoop/bin下)
./hdfs namenode -format启动:
hadoop@adu-T6-3:/usr/local/hadoop/sbin$ ./start-all.sh
有时需要给hadoop目录赋予权限sudo chmod 777 hadoop因为系统需要创建log文件
然后:jps
检查webUI http://localhost:8088/
停止:
$HADOOP_HOME/sbin/stop-all.sh
但是在启动时候有一个警告,提示hadoop不能加载本地库:
解决方法:
在/etc/profile中添加:
HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
保存并更新文件:source /etc/profile
并且在hadoop-env.sh添加: vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
export HADOOP_HOME=/software/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
浙公网安备 33010602011771号