ubuntu+hadoop2.6.0+单机模式

单机模式:
deepin + hadoop2.6.0 + jdk1.8.0_77

新建组合用户,以后所有操作都在该用户下进行:

sudo addgroup hadoop
sudo adduser --ingroup hadoop hduser

1. 配置jdk

(1)下载jdk.tar.gz, 解压到/usr/lib/jvm/, 比如jdk1.8.0_77,那么解压后java最终路径为/usr/lib/jvm/jdk1.8.0_77, 如果使用apt-get安装,则不需要设置java环境变量,但是安装的是openjdk,openjdk的包里面没有jps命令,启动hadoop后的检验需要jps命令(其实没有多大的影响),这里推荐下载压缩包解压的方式

(2)设置java环境变量:sudo gedit ~/.bashrc,添加内容如下:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_77
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后source ~/.bashrc,在deepin中可能会source失败,将上述内容添加到~/.zshrc,source成功

2. 安装ssh(远程连接工具)

sudo apt-get install openssh-server

ssh-keygen -t rsa -P "" 生成公钥和私钥,可以实现免密码登录

cat $HOME/.ssh/id_rsa.pub >> $Home/.ssh/authorized_keys 复制给本机

(ssh远程:ssh username@hostname,端口情况:+ -p port号,scp的话则使用scp -P port号 路径1 路径2,使用~/.ssh/config文件配置方法,config内容如下:

Host h
    HostName ip
    User u
    Port 端口号
将公钥复制到远端机器,之后可直接使用ssh h连接

)

3. 关闭ipv6,hadoop不支持ipv6 ,更改/etc/sysctl.conf文件

# disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

4. 配置hadoop

(1)下载hadoop2.6.0,解压到/usr/local/:sudo tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local/,然后将名字改为hadoop:sudo mv hadoop-2.6.0 hadoop

(2)将hadoop文件夹的用户持有更改为hduser:

sudo chown hduser:hadoop -R /usr/local/hadoop/
(3)创建hadoop namenode 和 datanode的temp 目录,并将temp文件夹的用户持有者更改为hduser:

sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenode
sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanode
sudo chown hduser:hadoop -R /usr/local/hadoop_tmp/
(4)设置hadoop环境变量,sudo gedit $HOME/.bashrc,添加:

# -- HADOOP ENVIRONMENT VARIABLES START -- #
export HADOOP_HOME=/usr/local/hadoop
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_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
# -- HADOOP ENVIRONMENT VARIABLES END -- #
然后,source $HOME/.bashrc,hadoop version测试一下是否成功

(5)cd 至/usr/local/hadoop/etc/hadoop/,更改一些配置文件

a.    hadoop-env.sh,添加:

## Update JAVA_HOME variable,
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_77
b.    core-site.xml,在configuration标签里添加:

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
c.    hdfs-site.xml

<property>
      <name>dfs.replication</name>
      <value>1</value>
 </property>
 <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/usr/local/hadoop_tmp/hdfs/namenode</value>
 </property>
 <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/usr/local/hadoop_tmp/hdfs/datanode</value>
 </property>
d.    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>
e.    cp mapred-site.xml.template mapred-site.xml,sudo gedit mapred-site.xml

<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>
(6)规范namenode格式

hdfs namenode -format

(7)运行hadoop,分别执行start-dfs.sh和start-yarn.sh会看到一些输出信息

(8)执行jps,如果输出显示如下:

2004 DataNode
2409 NodeManager
1914 NameNode
2442 Jps
2171 SecondaryNameNode
2317 ResourceManager
说明hadoop配置成功,有时会出现没有datanode或者namenode的情况,这时删掉hadoop_tmp,然后新建,与之前步骤一样,再format,重新运行就可以了。另外,停止hadoop执行stop-dfs.sh和stop-yarn.sh即可。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值