Các lỗi với Hadoop-1.2.1 và spatialhadoop-2.2

1. Exception in thread “main” java.io.IOException: No space left on device

http://www.ys-network.info/?p=6025

Chạy thử lệnh df -h để kiểm tra thì thấy đúng là có 1 ổ full thật (/)

Mình thử cho thư mục /tmp ra Ram để giảm tải, làm theo hướng dẫn sau:

http://unix.stackexchange.com/questions/55773/move-tmp-to-ram

Kết quả là vẫn thế @.@ (hoặc thay đổi ko đáng kể)

Mình phải xoá 1 folder hadoop phiên bản cũ để lấy được 5% bộ nhớ.

Chạy thử câu lệnh sau thì phát hiện /usr/share chiếm quá nhiều bộ nhớ

du -h / -d 1 | sort -nr

Vẫn chưa biết cách nào để giảm bộ nhớ sử dụng trên VM.

Tạm thời chạy được nhờ có 5% bộ nhớ trống.

-> Mới phát hiện ra lỗi này có thể do mình đã thực hiện câu lệnh sau:

strm00:~$hadoop jar spatialhadoop-2.2.jar generate output mbr:0,0,100,100 size:1.gb shape:point -overwrite  

Câu lệnh này đã sinh ra 1 point độ lớn 1GB làm chiếm hết bộ nhớ. Đến h mình vẫn chưa biết làm thế nào để giải phóng bộ nhớ, tuy nhiên rút kinh nghiệm mình đã chỉnh 1GB thành 1MB ^^

2. could only be replicated to 0 nodes, instead of 1

Nhờ đọc lại kiến thức về hdfs mình mới thấy lỗi này là do datanode chưa được start.

Check log ở slave để biết tại sao lại lỗi

Screen Shot 2014-08-21 at 12.44.28 AM

– Đầu tiên là lỗi ko phân quyền cho folder -> phân quyền

– Lỗi ko hiểu domain localhost.localdomain -> thêm vào /etc/hosts (h vẫn ko hiểu sao nó nhất quyết đọc ra cái domain này)

– H đang gặp lỗi ko connect với master được 😦

Update 21.08.2014

– Mình nghĩ lỗi là do chưa set port 9000 ở iptables, mình thử thêm 10.10.0.0/24 với port 9000 vào nhưng không được.

– Sau đó mình nghĩ có thể NETMASK của mình ko chuẩn, mình nghĩ nó phải la 255.255.255.0 chứ ko phải 255.255.0.0 nên mình thử đổi trong file eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Sau khi thêm NETMASK vào thì restart network

service network restart

Kết quả: lỗi 😦 Kỳ lạ là mình vẫn ping được 😦

Screen Shot 2014-08-21 at 3.27.40 PM

Sáng nay thấy 1 cái bug report cho Centos 7, chưa thấy có revised version

http://bugs.centos.org/view.php?id=7445

Đột nhiên bị lỗi

“java.io.IOException: Incompatible namespaceIDs”

Screen Shot 2014-08-21 at 11.20.38 PM

Cách xử lý: xoá file data trong thư mục /tmp/hadoop-hadoop/dfs/data, sau đó format lại namenode

※  Cần tìm hiểu tại sao lại bị lỗi này, vì ko phải lúc nào cũn format namenode được. Format sẽ làm mất hết dữ liệu

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#javaioioexception-incompatible-namespaceids

 

http://stackoverflow.com/questions/20883564/hadoop-connection-refused-on-namenode

Advertisements

Lỗi với native lib ở Hadoop 2.4.1

Mình gặp lỗi với native library ở Hadoop

Nguyên nhân:

– Source code được compile cho 32-bits, mình dùng 64 bits nên ko được.

Cách giải quyết:

1. Theo link sau thì mình đã thử setup path đến native libs nhg chưa được

2. Build từ source code

Làm theo hướng dẫn ở 3 site sau nhg vẫn chưa được

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/NativeLibraries.html

http://www.ercoppa.org/Linux-Compile-Hadoop-220-fix-Unable-to-load-native-hadoop-library.htm

http://tech.yipp.ca/linux/install-google-protocol-buffers-linux/

Ngày mai sẽ thử lại từ cách 1 đến cách 2 😦

Update 2014.09.18

Mình đã build thành công theo link dưới đây

http://vichargrave.com/create-a-hadoop-build-and-development-environment-for-hadoop/

Chú ý là nên dùng đúng Java mà Hadoop recommend (Oracle JDK 1.6)

Thực ra build xong rồi thì mình mới để ý là dự án của mình cần dùng Hadoop 1.2.1 chứ ko phải là Hadoop 2.4.1 nên build xong cũng để đấy chứ chưa dùng 😛

Cài đặt giao diện đồ hoạ cho Centos 7.0 (thất bại)

Từ hôm qua đến h mình cố gắng cài đặt giao diện đồ hoạ cho Centos 7.0 nhưng chưa được.
Các bước đã làm:

http://www.sysads.co.uk/2014/01/installing-gnome-gui-centos-6-5/
Step1:
yum -y groupinstall “Desktop” “Desktop Platform” “X Window System” “Fonts”

Step2:
Ở Centos 6 thì làm giống trong URL nhưng trong Centos 7 thì phải đổi
systemctl set-default graphical.target
ln -s ‘/usr/lib/systemd/system/graphical.target’ ‘/etc/systemd/system/default.target’

Check:
#systemctl get-default
graphical.target

#runlevel
N 5

Step3:
Reboot -> thất bại, vẫn quay lại màn hình câu lệnh

 

Lúc install mình chọn minimal installation nên ko có giao diện.

Mình sẽ thử chọn giao diện khi install xem thế nào, tạm thời chưa làm được vì ko có thời gian 😛

Change keyboard to Japanese by command line

http://linux.just4fun.biz/CentOS/%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E4%B8%8A%E3%81%AE%E8%8B%B1%E8%AA%9E%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%83%BB%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AE%E5%88%87%E6%9B%BF%E6%96%B9%E6%B3%95.html

一時的にキーボードのマップを変更する †
loadkeysコマンドを使用すれば一時的にキーマップを変更することができます。
例えば、サーバが設置されている場所に行きキーボードマップがことなりキーボードに刻印されている文字と出力される文字が異なる場合です。

以下にusキーボードとjp106キーボードへの切替方法を記します。
尚、rootユーザにてloadkeysコマンドを実行してください。


usキーマップに一時的に変更する †
以下のコマンドでusキーマップに一時的に変更することができます。
(再起動などすれば元の設定にもどります。)

loadkeys us

jp106キーマップに一時的に変更する †
以下のコマンドでjp106キーマップに一時的に変更することができます。
(再起動などすれば元の設定にもどります。)

loadkeys jp106

設定ファイルを変更しキーマップを設定する †
以下のファイルはCentOSでusキーボードとjp106キーボードを設定しインストールした時のファイルです。

usキーボード
# cat /etc/sysconfig/keyboard
KEYTABLE=”us”
MODEL=”pc105+inet”
LAYOUT=”us”
KEYBOARDTYPE=”pc”
jpキーボード
# cat /etc/sysconfig/keyboard
KEYTABLE=”jp106″
MODEL=”jp106″
LAYOUT=”jp”
KEYBOARDTYPE=”pc”
上記の例を参考に変更してください。

Site hữu ích cho các thông tin về linux

Hôm nay thử search mới thấy có khá nhiều trang bằng tiếng Việt rất hữu ích cho việc học về Linux, vậy mà lâu nay ko biết:
http://wikilinux.vn/

Điển hình là hôm nay tìm được 2 bài:
http://wikilinux.vn/chuoi-bai-ve-ssh-phan-2-ssh-port-forwarding-va-agent-forwarding/

http://wikilinux.vn/chuoi-bai-ve-ssh-phan-1-ssh-su-dung-cap-khoa-cong-khai-bi-mat/

Hi vọng mình sẽ khá hơn về phần này ^^