Python – check variable for None

 

To check if a variable is None use following code:

>>> val=None
>>> val is None
True

If you want to use above example with if condition use following code:

if not (val in None):
  print "val is not none"
else:
  print "val is none"

Python – ImportError: No module named memcache

While trying to connect memcached using python I got following error:

ImportError: No module named memcache

Since I imported memcache & it’s not available in my server I got the error message saying that “No module named memcache”.

To resolve this issue we need to install python-memcache module.

Use following command to install python-memcache:

$ pip install python-memcache

If  your OS is Ubuntu/Debian following command also works for you:

$ apt-get install python-memcache

After installing python-memcache we can seamlessly connect to memcached.

Ubuntu desktop change nameservers permanently

To change nameservers permanently in Ubuntu Desktop Version we need to update /etc/resolvconf/resolv.conf.d/head file with desired list.

Following is the procedure to change nameservers permanently:

Open /etc/resolvconf/resolv.conf.d/head file with your favourite editor:

sudo vim /etc/resolvconf/resolv.conf.d/head

Add following lines to /etc/resolvconf/resolv.conf.d/head, save & exit from the file

nameserver 4.2.2.2
nameserver 208.67.222.222

Run following command to change nameservers permanently:

sudo resolvconf -u

After running above commands nameservers in your desktop version will get updated with new list as mentioned in /etc/resolvconf/resolv.conf.d/head file.
To conform this open /etc/resolve.conf and validate.

Linghttpd – unknown config-key: accesslog.filename

Recently I faced wearied scenario where I am unable to view access logs of lighttpd.

Even though after adding accesslog.filename = “/var/log/lighttpd/access.log” line in lighttpd.conf file logs are not getting updated in lighttpd.conf file

After debugging for a while I seen following error in /var/log/lighttpd/error.log:

WARNING: unknown config-key: accesslog.filename (ignored)

To fix this issue I adding “mod_accesslog” to servers.modules in lighttpd.conf file & restarted lighttpd. After that issue got resolved.

Following is my server.modules after adding mod_accesslog:

server.modules = (
  "mod_access",
  "mod_alias",
  "mod_compress",
  "mod_redirect",
  "mod_accesslog",
  "mod_rewrite",
)

HBase error there is a hole in the region chain

Recently while I am trying to restart HBase I got error message saying that “ERROR: There is a hole in the region chain between …… You need to create a new .regioninfo and region dir in hdfs to plug the hole”.

Following is the error message:

ERROR: There is a hole in the region chain between TestTable,2,1415170922328.3c1b2a210888171d142059912e2faba1. and TestTable,3,1415171044919.da852e5b0034a2ca83f6966280454b4a. You need to create a new .regioninfo and region dir in hdfs to plug the hole.
ERROR: Found inconsistency in table TestTable

To fix this issue you need to stop HBase and delete recover.edits folders for failing regions.

After that start HBase and run hbck which should succeed.

fatal error: Python.h: No such file or directory

While trying to install some python module I got following exception:

fatal error: Python.h: No such file or directory

Reason for exception:

If you haven’t properly installed the header files and static libraries for python dev this issue may occur.

To resolve this issue install python-dev module by using following command:

$ sudo apt-get install python-dev

Linux – Ping multiple hosts using fping

 

fping is a ping like program which uses the Internet Control Message Protocol (ICMP) echo request to determine if a host is up.

With fping we can ping multiple hosts at a time. Use following command to ping multiple hosts:

$ fping -f IPsFiles.txt 

where in IPsFiles.txt I have multiple hots.

Below are some other examples of fping:

To ping a host/IP:

$ fping 192.168.2.2

Output:

192.168.2.2 is alive

$ fping 192.168.2.22

Output:

192.168.1.22 is unreachable

To ping range of IP’s:

$ fping -g 192.168.2.0/24

To list only unreachable hosts/IP’s

$ fping -q -u -f IPsFiles.txt

where -q is for Quiet mode and -u is to list only unreachable targets.

To list only reachable hots/IP’s

$ fping -q -a -f IPsFiles.txt

where -a is to list only alive hots.

OpenSSL is not properly installed on your system – Ubuntu

While trying to install some module I got error saying that “OpenSSL is not properly installed on your system ubuntu”.

I tried to reinstall this module after installing openssl, but no luck.

After debugging and exploring for a while I got to know that installing libssl-dev could resolve this issue, so I installed libssl-dev with following command:

$ sudo apt-get install libssl-dev

Now retried installation and it worked like charm.

Couchbase cli examples

 

Couchbase Server, originally known as Membase, is an open-source, distributed (shared-nothing architecture) NoSQL document-oriented database that is optimized for interactive applications.

By default couchbase-cli command is located at /opt/couchbase/bin/couchbase-cli.

Couchbase-cli examples:

To list servers:

$ /opt/couchbase/bin/couchbase-cli server-list -c hostname:8091 -u username -p password

To list buckets:

$ /opt/couchbase/bin/couchbase-cli bucket-list -c hostname:8091 -u username -p password

To get server info:

$ /opt/couchbase/bin/couchbase-cli server-info -c hostname:8091 -u username -p password

couchbase-cli help:

$ /opt/couchbase/bin/couchbase-cli help

iptables allow port for ip

 

To allow only an ip to access a port use following iptables rule

iptables -I INPUT -p tcp -m tcp -s 192.168.2.20 --dport 8080 -j ACCEPT

Above iptables rule will allow only 192.168.2.20 to access port 8080 and reject all other ip addresses.

Similarly we can give any other ip address and port combination.